Some clean up
This commit is contained in:
parent
fcf838bd3e
commit
1f3c2598ae
@ -1404,9 +1404,9 @@ C2V_VMENTRY(void, reprofile, (JNIEnv* env, jobject, ARGUMENT_PAIR(method)))
|
||||
C2V_END
|
||||
|
||||
|
||||
C2V_VMENTRY(void, invalidateHotSpotNmethod, (JNIEnv* env, jobject, jobject hs_nmethod, jboolean deoptimize, jint change_reason))
|
||||
C2V_VMENTRY(void, invalidateHotSpotNmethod, (JNIEnv* env, jobject, jobject hs_nmethod, jboolean deoptimize, jint invalidation_reason))
|
||||
JVMCIObject nmethod_mirror = JVMCIENV->wrap(hs_nmethod);
|
||||
JVMCIENV->invalidate_nmethod_mirror(nmethod_mirror, deoptimize, static_cast<nmethod::ChangeReason>(change_reason), JVMCI_CHECK);
|
||||
JVMCIENV->invalidate_nmethod_mirror(nmethod_mirror, deoptimize, static_cast<nmethod::ChangeReason>(invalidation_reason), JVMCI_CHECK);
|
||||
C2V_END
|
||||
|
||||
C2V_VMENTRY_NULL(jlongArray, collectCounters, (JNIEnv* env, jobject))
|
||||
|
@ -797,7 +797,7 @@ void JVMCINMethodData::set_nmethod_mirror(nmethod* nm, oop new_mirror) {
|
||||
Universe::heap()->register_nmethod(nm);
|
||||
}
|
||||
|
||||
void JVMCINMethodData::invalidate_nmethod_mirror(nmethod* nm, nmethod::ChangeReason change_reason) {
|
||||
void JVMCINMethodData::invalidate_nmethod_mirror(nmethod* nm, nmethod::ChangeReason invalidation_reason) {
|
||||
oop nmethod_mirror = get_nmethod_mirror(nm);
|
||||
if (nmethod_mirror == nullptr) {
|
||||
return;
|
||||
@ -815,14 +815,14 @@ void JVMCINMethodData::invalidate_nmethod_mirror(nmethod* nm, nmethod::ChangeRea
|
||||
// an InvalidInstalledCodeException.
|
||||
HotSpotJVMCI::InstalledCode::set_address(jvmciEnv, nmethod_mirror, 0);
|
||||
HotSpotJVMCI::InstalledCode::set_entryPoint(jvmciEnv, nmethod_mirror, 0);
|
||||
HotSpotJVMCI::HotSpotNmethod::set_invalidationReason(jvmciEnv, nmethod_mirror, static_cast<int>(change_reason));
|
||||
HotSpotJVMCI::HotSpotNmethod::set_invalidationReason(jvmciEnv, nmethod_mirror, static_cast<int>(invalidation_reason));
|
||||
HotSpotJVMCI::HotSpotInstalledCode::set_codeStart(jvmciEnv, nmethod_mirror, 0);
|
||||
} else if (nm->is_not_entrant()) {
|
||||
// Zero the entry point so any new invocation will fail but keep
|
||||
// the address link around that so that existing activations can
|
||||
// be deoptimized via the mirror (i.e. JVMCIEnv::invalidate_installed_code).
|
||||
HotSpotJVMCI::InstalledCode::set_entryPoint(jvmciEnv, nmethod_mirror, 0);
|
||||
HotSpotJVMCI::HotSpotNmethod::set_invalidationReason(jvmciEnv, nmethod_mirror, static_cast<int>(change_reason));
|
||||
HotSpotJVMCI::HotSpotNmethod::set_invalidationReason(jvmciEnv, nmethod_mirror, static_cast<int>(invalidation_reason));
|
||||
HotSpotJVMCI::HotSpotInstalledCode::set_codeStart(jvmciEnv, nmethod_mirror, 0);
|
||||
}
|
||||
}
|
||||
|
@ -121,7 +121,7 @@ public:
|
||||
|
||||
// Clears the HotSpotNmethod.address field in the mirror. If nm
|
||||
// is dead, the HotSpotNmethod.entryPoint field is also cleared.
|
||||
void invalidate_nmethod_mirror(nmethod* nm, nmethod::ChangeReason change_reason);
|
||||
void invalidate_nmethod_mirror(nmethod* nm, nmethod::ChangeReason invalidation_reason);
|
||||
|
||||
// Gets the mirror from nm's oops table.
|
||||
oop get_nmethod_mirror(nmethod* nm);
|
||||
|
@ -127,7 +127,7 @@ public class InstalledCode {
|
||||
}
|
||||
|
||||
/**
|
||||
* Equivalent to calling {@link #invalidate(boolean, int)} with {@code true} and {@code 0} as arguments.
|
||||
* Equivalent to calling {@link #invalidate(boolean)} with a {@code true} argument.
|
||||
*/
|
||||
public void invalidate() {
|
||||
invalidate(true);
|
||||
|
@ -129,6 +129,12 @@ public class HotSpotNmethod extends HotSpotInstalledCode {
|
||||
return method;
|
||||
}
|
||||
|
||||
/**
|
||||
* Invalidate this nmethod using the reason specified in {@code invalidationReason} and
|
||||
* optionally deoptimize the method if {@code deoptimize} is set.
|
||||
* @param deoptimize whether or not to deoptimize the method.
|
||||
* @param invalidationReason invalidation reason code.
|
||||
*/
|
||||
public void invalidate(boolean deoptimize, int invalidationReason) {
|
||||
compilerToVM().invalidateHotSpotNmethod(this, deoptimize, invalidationReason);
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user