mirror of
https://github.com/corda/corda.git
synced 2025-01-19 11:16:54 +00:00
Merge branch 'master' of dice.ecovate.com:/home/dicej/git/vm
This commit is contained in:
commit
b95a573b7f
796
src/compile.cpp
796
src/compile.cpp
File diff suppressed because it is too large
Load Diff
@ -2203,7 +2203,11 @@ resolveClass(Thread* t, object spec)
|
|||||||
class_ = hashMapFind
|
class_ = hashMapFind
|
||||||
(t, t->m->bootstrapClassMap, spec, byteArrayHash, byteArrayEqual);
|
(t, t->m->bootstrapClassMap, spec, byteArrayHash, byteArrayEqual);
|
||||||
|
|
||||||
if (class_ == 0) {
|
if (class_) {
|
||||||
|
set(t, classVirtualTable(t, class_),
|
||||||
|
classVirtualTable
|
||||||
|
(t, arrayBody(t, t->m->types, Machine::JobjectType)));
|
||||||
|
} else {
|
||||||
class_ = makeArrayClass(t, spec);
|
class_ = makeArrayClass(t, spec);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -1411,8 +1411,12 @@ writeConstructors(Output* out, Object* declarations)
|
|||||||
|
|
||||||
out->write(" if (classVmFlags(t, class__) & BootstrapFlag) {\n");
|
out->write(" if (classVmFlags(t, class__) & BootstrapFlag) {\n");
|
||||||
out->write(" classVmFlags(t, class__) &= ~BootstrapFlag;\n");
|
out->write(" classVmFlags(t, class__) &= ~BootstrapFlag;\n");
|
||||||
|
out->write("#ifndef NDEBUG\n");
|
||||||
|
out->write(" object e = t->exception;\n");
|
||||||
|
out->write(" PROTECT(t, e);\n");
|
||||||
|
out->write("#endif\n");
|
||||||
out->write(" resolveClass(t, className(t, class__));\n");
|
out->write(" resolveClass(t, className(t, class__));\n");
|
||||||
out->write(" assert(t, t->exception == 0);\n");
|
out->write(" assert(t, t->exception == e);\n");
|
||||||
out->write(" }\n");
|
out->write(" }\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,9 +41,11 @@
|
|||||||
(pod compiled
|
(pod compiled
|
||||||
(uint16_t maxLocals)
|
(uint16_t maxLocals)
|
||||||
(uint16_t maxStack)
|
(uint16_t maxStack)
|
||||||
|
(uint32_t parameterFootprint)
|
||||||
(uint32_t codeLength)
|
(uint32_t codeLength)
|
||||||
(uint32_t lineNumberTableLength)
|
(uint32_t lineNumberTableLength)
|
||||||
(uint32_t exceptionHandlerTableLength)
|
(uint32_t exceptionHandlerTableLength)
|
||||||
|
(uint32_t stackMapTableLength)
|
||||||
(uint8_t[0] body))
|
(uint8_t[0] body))
|
||||||
|
|
||||||
(type method java/lang/reflect/Method
|
(type method java/lang/reflect/Method
|
||||||
|
Loading…
Reference in New Issue
Block a user