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