Mercurial > hg > graal-compiler
diff src/cpu/zero/vm/stack_zero.cpp @ 1505:0c5b3cf3c1f5
6939182: Zero JNI handles fix
Summary: Zero will exit with an error when invoked with -Xcheck:jni.
Reviewed-by: twisti, kamg
Contributed-by: Gary Benson <gbenson@redhat.com>
author | twisti |
---|---|
date | Fri, 30 Apr 2010 04:27:25 -0700 |
parents | aa9c266de52a |
children | 348346af6676 |
line wrap: on
line diff
--- a/src/cpu/zero/vm/stack_zero.cpp Thu Apr 29 17:53:58 2010 -0700 +++ b/src/cpu/zero/vm/stack_zero.cpp Fri Apr 30 04:27:25 2010 -0700 @@ -32,6 +32,7 @@ // Set up the frame anchor if it isn't already bool has_last_Java_frame = thread->has_last_Java_frame(); if (!has_last_Java_frame) { + intptr_t *sp = thread->zero_stack()->sp(); ZeroFrame *frame = thread->top_zero_frame(); while (frame) { if (frame->is_shark_frame()) @@ -44,13 +45,14 @@ break; } + sp = ((intptr_t *) frame) + 1; frame = frame->next(); } if (frame == NULL) fatal("unrecoverable stack overflow"); - thread->set_last_Java_frame(frame); + thread->set_last_Java_frame(frame, sp); } // Throw the exception @@ -71,3 +73,9 @@ if (!has_last_Java_frame) thread->reset_last_Java_frame(); } + +#ifndef PRODUCT +void ZeroStack::zap(int c) { + memset(_base, c, available_words() * wordSize); +} +#endif // PRODUCT