mirror of
https://github.com/corda/corda.git
synced 2025-01-23 04:48:09 +00:00
handle exception case in makeCodeImage
This commit is contained in:
parent
e61d05f00b
commit
b5f76d96dc
@ -54,9 +54,12 @@ makeCodeImage(Thread* t, Zone* zone, BootImage* image, uint8_t* code,
|
|||||||
if (endsWith(".class", name, nameSize)
|
if (endsWith(".class", name, nameSize)
|
||||||
and (className == 0 or strncmp(name, className, nameSize - 6) == 0))
|
and (className == 0 or strncmp(name, className, nameSize - 6) == 0))
|
||||||
{
|
{
|
||||||
//fprintf(stderr, "%.*s\n", nameSize - 6, name);
|
// fprintf(stderr, "%.*s\n", nameSize - 6, name);
|
||||||
object c = resolveClass
|
object c = resolveClass
|
||||||
(t, makeByteArray(t, "%.*s", nameSize - 6, name));
|
(t, makeByteArray(t, "%.*s", nameSize - 6, name));
|
||||||
|
|
||||||
|
if (t->exception) return 0;
|
||||||
|
|
||||||
PROTECT(t, c);
|
PROTECT(t, c);
|
||||||
|
|
||||||
if (classMethodTable(t, c)) {
|
if (classMethodTable(t, c)) {
|
||||||
@ -285,6 +288,9 @@ writeBootImage(Thread* t, FILE* out, const char* className,
|
|||||||
object constants = makeCodeImage
|
object constants = makeCodeImage
|
||||||
(t, &zone, &image, code, CodeCapacity, codeMap, className, methodName,
|
(t, &zone, &image, code, CodeCapacity, codeMap, className, methodName,
|
||||||
methodSpec);
|
methodSpec);
|
||||||
|
|
||||||
|
if (t->exception) return;
|
||||||
|
|
||||||
PROTECT(t, constants);
|
PROTECT(t, constants);
|
||||||
|
|
||||||
const unsigned HeapCapacity = 32 * 1024 * 1024;
|
const unsigned HeapCapacity = 32 * 1024 * 1024;
|
||||||
@ -385,5 +391,9 @@ main(int ac, const char** av)
|
|||||||
(t, stdout, (ac > 2 ? av[2] : 0), (ac > 3 ? av[3] : 0),
|
(t, stdout, (ac > 2 ? av[2] : 0), (ac > 3 ? av[3] : 0),
|
||||||
(ac > 4 ? av[4] : 0));
|
(ac > 4 ? av[4] : 0));
|
||||||
|
|
||||||
|
if (t->exception) {
|
||||||
|
printTrace(t, t->exception);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user