453 * Gets the address of the first entry in the local variable table for {@code method}.
454 *
455 * Each entry is a native object described by these fields:
456 *
457 * <ul>
458 * <li>{@link HotSpotVMConfig#localVariableTableElementSize}</li>
459 * <li>{@link HotSpotVMConfig#localVariableTableElementLengthOffset}</li>
460 * <li>{@link HotSpotVMConfig#localVariableTableElementNameCpIndexOffset}</li>
461 * <li>{@link HotSpotVMConfig#localVariableTableElementDescriptorCpIndexOffset}</li>
462 * <li>{@link HotSpotVMConfig#localVariableTableElementSlotOffset}
463 * <li>{@link HotSpotVMConfig#localVariableTableElementStartBciOffset}
464 * </ul>
465 *
466 * @return 0 if {@code method} does not have a local variable table
467 */
468 native long getLocalVariableTableStart(HotSpotResolvedJavaMethodImpl method);
469
470 /**
471 * Sets flags on {@code method} indicating that it should never be inlined or compiled by the VM.
472 */
473 native void setNotInlineableOrCompileable(HotSpotResolvedJavaMethodImpl method);
474
475 /**
476 * Invalidates the profiling information for {@code method} and (re)initializes it such that
477 * profiling restarts upon its next invocation.
478 */
479 native void reprofile(HotSpotResolvedJavaMethodImpl method);
480
481 /**
482 * Invalidates {@code installedCode} such that {@link InvalidInstalledCodeException} will be
483 * raised the next time {@code installedCode} is executed.
484 */
485 native void invalidateInstalledCode(InstalledCode installedCode);
486
487 /**
488 * Collects the current values of all JVMCI benchmark counters, summed up over all threads.
489 */
490 native long[] collectCounters();
491
492 /**
493 * Determines if {@code metaspaceMethodData} is mature.
|
453 * Gets the address of the first entry in the local variable table for {@code method}.
454 *
455 * Each entry is a native object described by these fields:
456 *
457 * <ul>
458 * <li>{@link HotSpotVMConfig#localVariableTableElementSize}</li>
459 * <li>{@link HotSpotVMConfig#localVariableTableElementLengthOffset}</li>
460 * <li>{@link HotSpotVMConfig#localVariableTableElementNameCpIndexOffset}</li>
461 * <li>{@link HotSpotVMConfig#localVariableTableElementDescriptorCpIndexOffset}</li>
462 * <li>{@link HotSpotVMConfig#localVariableTableElementSlotOffset}
463 * <li>{@link HotSpotVMConfig#localVariableTableElementStartBciOffset}
464 * </ul>
465 *
466 * @return 0 if {@code method} does not have a local variable table
467 */
468 native long getLocalVariableTableStart(HotSpotResolvedJavaMethodImpl method);
469
470 /**
471 * Sets flags on {@code method} indicating that it should never be inlined or compiled by the VM.
472 */
473 native void setNotInlinableOrCompilable(HotSpotResolvedJavaMethodImpl method);
474
475 /**
476 * Invalidates the profiling information for {@code method} and (re)initializes it such that
477 * profiling restarts upon its next invocation.
478 */
479 native void reprofile(HotSpotResolvedJavaMethodImpl method);
480
481 /**
482 * Invalidates {@code installedCode} such that {@link InvalidInstalledCodeException} will be
483 * raised the next time {@code installedCode} is executed.
484 */
485 native void invalidateInstalledCode(InstalledCode installedCode);
486
487 /**
488 * Collects the current values of all JVMCI benchmark counters, summed up over all threads.
489 */
490 native long[] collectCounters();
491
492 /**
493 * Determines if {@code metaspaceMethodData} is mature.
|