comparison jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java @ 23989:115d4e0d7b87

removed HotSpotResolvedJavaFieldImpl.name field
author Doug Simon <doug.simon@oracle.com>
date Thu, 26 Jan 2017 13:02:37 +0100
parents 6d2c72b822b0
children 1b8892b4ce9c
comparison
equal deleted inserted replaced
23988:09541f94f3e6 23989:115d4e0d7b87
1 /* 1 /*
2 * Copyright (c) 2011, 2016, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
275 /** 275 /**
276 * Looks up and attempts to resolve the {@code JVM_CONSTANT_Field} entry at index {@code cpi} in 276 * Looks up and attempts to resolve the {@code JVM_CONSTANT_Field} entry at index {@code cpi} in
277 * {@code constantPool}. The values returned in {@code info} are: 277 * {@code constantPool}. The values returned in {@code info} are:
278 * 278 *
279 * <pre> 279 * <pre>
280 * [(int) flags, // only valid if field is resolved 280 * [ flags, // fieldDescriptor::access_flags()
281 * (int) offset] // only valid if field is resolved 281 * offset, // fieldDescriptor::offset()
282 * index // fieldDescriptor::index()
283 * ]
282 * </pre> 284 * </pre>
283 * 285 *
284 * The behavior of this method is undefined if {@code cpi} does not denote a 286 * The values encoded in {@code info} are only valid if the field is resolved. The behavior of
285 * {@code JVM_CONSTANT_Field} entry. 287 * this method is undefined if {@code cpi} does not denote a {@code JVM_CONSTANT_Field} entry.
286 * 288 *
287 * @param info an array in which the details of the field are returned 289 * @param info an array in which the details of the field are returned
288 * @return the type defining the field if resolution is successful, 0 otherwise 290 * @return the type defining the field if resolution is successful, 0 otherwise
289 */ 291 */
290 native HotSpotResolvedObjectTypeImpl resolveFieldInPool(HotSpotConstantPool constantPool, int cpi, byte opcode, long[] info); 292 native HotSpotResolvedObjectTypeImpl resolveFieldInPool(HotSpotConstantPool constantPool, int cpi, byte opcode, int[] info);
291 293
292 /** 294 /**
293 * Converts {@code cpci} from an index into the cache for {@code constantPool} to an index 295 * Converts {@code cpci} from an index into the cache for {@code constantPool} to an index
294 * directly into {@code constantPool}. 296 * directly into {@code constantPool}.
295 * 297 *
492 * Gets the value of {@code metaspaceSymbol} as a String. 494 * Gets the value of {@code metaspaceSymbol} as a String.
493 */ 495 */
494 native String getSymbol(long metaspaceSymbol); 496 native String getSymbol(long metaspaceSymbol);
495 497
496 /** 498 /**
499 * Gets the name of the field at index {@code index} in the fields array of {@code type}.
500 *
501 * @throws ArrayIndexOutOfBoundsException if {@code index} is out of bounds of the fields array
502 */
503 native String getFieldName(HotSpotResolvedObjectTypeImpl holder, int index);
504
505 /**
497 * Looks for the next Java stack frame matching an entry in {@code methods}. 506 * Looks for the next Java stack frame matching an entry in {@code methods}.
498 * 507 *
499 * @param frame the starting point of the search, where {@code null} refers to the topmost frame 508 * @param frame the starting point of the search, where {@code null} refers to the topmost frame
500 * @param methods the methods to look for, where {@code null} means that any frame is returned 509 * @param methods the methods to look for, where {@code null} means that any frame is returned
501 * @return the frame, or {@code null} if the end of the stack was reached during the search 510 * @return the frame, or {@code null} if the end of the stack was reached during the search