mirror of
https://github.com/corda/corda.git
synced 2025-01-07 13:38:47 +00:00
commit
5f59529286
@ -611,11 +611,11 @@ void intercept(Thread* t,
|
|||||||
if (m) {
|
if (m) {
|
||||||
PROTECT(t, m);
|
PROTECT(t, m);
|
||||||
|
|
||||||
m->flags() |= ACC_NATIVE;
|
|
||||||
|
|
||||||
if (updateRuntimeData) {
|
if (updateRuntimeData) {
|
||||||
GcMethod* clone = methodClone(t, m);
|
GcMethod* clone = methodClone(t, m);
|
||||||
|
|
||||||
|
m->flags() |= ACC_NATIVE;
|
||||||
|
|
||||||
// make clone private to prevent vtable updates at compilation
|
// make clone private to prevent vtable updates at compilation
|
||||||
// time. Otherwise, our interception might be bypassed by calls
|
// time. Otherwise, our interception might be bypassed by calls
|
||||||
// through the vtable.
|
// through the vtable.
|
||||||
@ -628,6 +628,8 @@ void intercept(Thread* t,
|
|||||||
GcMethodRuntimeData* runtimeData = getMethodRuntimeData(t, m);
|
GcMethodRuntimeData* runtimeData = getMethodRuntimeData(t, m);
|
||||||
|
|
||||||
runtimeData->setNative(t, native->as<GcNative>(t));
|
runtimeData->setNative(t, native->as<GcNative>(t));
|
||||||
|
} else {
|
||||||
|
m->flags() |= ACC_NATIVE;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
// If we can't find the method, just ignore it, since ProGuard may
|
// If we can't find the method, just ignore it, since ProGuard may
|
||||||
|
Loading…
Reference in New Issue
Block a user