Merge branch 'master' of dice.ecovate.com:/home/dicej/git/vm

This commit is contained in:
Eric Scharff 2007-10-16 12:16:01 -06:00
commit 3779f21424

View File

@ -894,17 +894,16 @@ findExceptionHandler(Thread* t, void* frame)
catchType = 0;
}
if (Verbose and
(catchType == 0 or
instanceOf(t, catchType, t->exception)))
{
fprintf(stderr, "exception handler match for %d in %s: "
"start: %d; end: %d; ip: %d\n",
offset,
&byteArrayBody(t, methodName(t, frameMethod(frame)), 0),
nativeExceptionHandlerStart(handler),
nativeExceptionHandlerEnd(handler),
nativeExceptionHandlerIp(handler));
if (catchType == 0 or instanceOf(t, catchType, t->exception)) {
if (Verbose) {
fprintf(stderr, "exception handler match for %d in %s: "
"start: %d; end: %d; ip: %d\n",
offset,
&byteArrayBody(t, methodName(t, frameMethod(frame)), 0),
nativeExceptionHandlerStart(handler),
nativeExceptionHandlerEnd(handler),
nativeExceptionHandlerIp(handler));
}
return handler;
}
@ -2089,7 +2088,13 @@ class Compiler: public Assembler {
lea(rsp, FrameFootprint + BytesPerWord, rcx);
mov(rcx, rdi, threadFrameOffset()); // set thread frame to current
jmp(rbx);
push(rbp);
call(rbx);
add(BytesPerWord, rsp);
ret();
return finish();
}