mirror of
https://github.com/corda/corda.git
synced 2025-01-23 04:48:09 +00:00
fix GC safety issues in classpath-openjdk.cpp
This commit is contained in:
parent
80c8940b7f
commit
3db9e73aa1
@ -2376,6 +2376,8 @@ makeJmethod(Thread* t, object vmMethod, int index)
|
|||||||
if (addendum) {
|
if (addendum) {
|
||||||
signature = addendumSignature(t, addendum);
|
signature = addendumSignature(t, addendum);
|
||||||
if (signature) {
|
if (signature) {
|
||||||
|
PROTECT(t, addendum);
|
||||||
|
|
||||||
signature = t->m->classpath->makeString
|
signature = t->m->classpath->makeString
|
||||||
(t, signature, 0, byteArrayLength(t, signature) - 1);
|
(t, signature, 0, byteArrayLength(t, signature) - 1);
|
||||||
}
|
}
|
||||||
@ -2443,6 +2445,8 @@ makeJconstructor(Thread* t, object vmMethod, int index)
|
|||||||
if (addendum) {
|
if (addendum) {
|
||||||
signature = addendumSignature(t, addendum);
|
signature = addendumSignature(t, addendum);
|
||||||
if (signature) {
|
if (signature) {
|
||||||
|
PROTECT(t, addendum);
|
||||||
|
|
||||||
signature = t->m->classpath->makeString
|
signature = t->m->classpath->makeString
|
||||||
(t, signature, 0, byteArrayLength(t, signature) - 1);
|
(t, signature, 0, byteArrayLength(t, signature) - 1);
|
||||||
}
|
}
|
||||||
@ -2508,6 +2512,8 @@ makeJfield(Thread* t, object vmField, int index)
|
|||||||
if (addendum) {
|
if (addendum) {
|
||||||
signature = addendumSignature(t, addendum);
|
signature = addendumSignature(t, addendum);
|
||||||
if (signature) {
|
if (signature) {
|
||||||
|
PROTECT(t, addendum);
|
||||||
|
|
||||||
signature = t->m->classpath->makeString
|
signature = t->m->classpath->makeString
|
||||||
(t, signature, 0, byteArrayLength(t, signature) - 1);
|
(t, signature, 0, byteArrayLength(t, signature) - 1);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user