Mercurial > hg > graal-jvmci-8
comparison jvmci/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/CompilerToVM.java @ 23996:11f0412408cd
8173912: [JVMCI] fix memory overhead of JVMCI
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 03 Feb 2017 21:08:05 +0100 |
parents | ebce30b702eb |
children | 26a414946c56 |
comparison
equal
deleted
inserted
replaced
23995:988dc143e0bf | 23996:11f0412408cd |
---|---|
337 * VMField[] vmFields, | 337 * VMField[] vmFields, |
338 * [String name, Long size, ...] vmTypeSizes, | 338 * [String name, Long size, ...] vmTypeSizes, |
339 * [String name, Long value, ...] vmConstants, | 339 * [String name, Long value, ...] vmConstants, |
340 * [String name, Long value, ...] vmAddresses, | 340 * [String name, Long value, ...] vmAddresses, |
341 * VMFlag[] vmFlags | 341 * VMFlag[] vmFlags |
342 * VMIntrinsicMethod[] vmIntrinsics | |
342 * ] | 343 * ] |
343 * </pre> | 344 * </pre> |
344 * | 345 * |
345 * @return VM info as encoded above | 346 * @return VM info as encoded above |
346 */ | 347 */ |
492 | 493 |
493 /** | 494 /** |
494 * Gets the value of {@code metaspaceSymbol} as a String. | 495 * Gets the value of {@code metaspaceSymbol} as a String. |
495 */ | 496 */ |
496 native String getSymbol(long metaspaceSymbol); | 497 native String getSymbol(long metaspaceSymbol); |
497 | |
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 /** | |
506 * Gets the name of {@code method}. | |
507 */ | |
508 native String getMethodName(HotSpotResolvedJavaMethodImpl method); | |
509 | 498 |
510 /** | 499 /** |
511 * Looks for the next Java stack frame matching an entry in {@code methods}. | 500 * Looks for the next Java stack frame matching an entry in {@code methods}. |
512 * | 501 * |
513 * @param frame the starting point of the search, where {@code null} refers to the topmost frame | 502 * @param frame the starting point of the search, where {@code null} refers to the topmost frame |
615 * @throws IllegalArgumentException if an out of range position is given | 604 * @throws IllegalArgumentException if an out of range position is given |
616 */ | 605 */ |
617 native int methodDataProfileDataSize(long metaspaceMethodData, int position); | 606 native int methodDataProfileDataSize(long metaspaceMethodData, int position); |
618 | 607 |
619 /** | 608 /** |
620 * Invokes non-public method {@code java.lang.invoke.LambdaForm.compileToBytecode()} on | |
621 * {@code lambdaForm} (which must be a {@code java.lang.invoke.LambdaForm} instance). | |
622 */ | |
623 native void compileToBytecode(Object lambdaForm); | |
624 | |
625 /** | |
626 * Return the amount of native stack required for the interpreter frames represented by | 609 * Return the amount of native stack required for the interpreter frames represented by |
627 * {@code frame}. This is used when emitting the stack banging code to ensure that there is | 610 * {@code frame}. This is used when emitting the stack banging code to ensure that there is |
628 * enough space for the frames during deoptimization. | 611 * enough space for the frames during deoptimization. |
629 * | 612 * |
630 * @param frame | 613 * @param frame |
631 * @return the number of bytes required for deoptimization of this frame state | 614 * @return the number of bytes required for deoptimization of this frame state |
632 */ | 615 */ |
633 native int interpreterFrameSize(BytecodeFrame frame); | 616 native int interpreterFrameSize(BytecodeFrame frame); |
634 | 617 |
635 /** | 618 /** |
636 * Gets the value of the VM flag named {@code name} boxed in an Object. | 619 * Invokes non-public method {@code java.lang.invoke.LambdaForm.compileToBytecode()} on |
620 * {@code lambdaForm} (which must be a {@code java.lang.invoke.LambdaForm} instance). | |
621 */ | |
622 native void compileToBytecode(Object lambdaForm); | |
623 | |
624 /** | |
625 * Gets the value of the VM flag named {@code name}. | |
637 * | 626 * |
638 * @param name name of a VM option | 627 * @param name name of a VM option |
639 * @return {@code null} if the named VM option doesn't exist | 628 * @return {@code this} if the named VM option doesn't exist, a {@link String} or {@code null} |
629 * if its type is {@code ccstr} or {@code ccstrlist}, a {@link Double} if its type is | |
630 * {@code double}, a {@link Boolean} if its type is {@code bool} otherwise a | |
631 * {@link Long} | |
640 */ | 632 */ |
641 native Object getFlagValue(String name); | 633 native Object getFlagValue(String name); |
642 } | 634 } |