mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
6939182: Zero JNI handles fix
Zero will exit with an error when invoked with -Xcheck:jni. Reviewed-by: twisti, kamg
This commit is contained in:
parent
61b9d428d1
commit
55457c9cc7
8 changed files with 59 additions and 35 deletions
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
* Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
|
||||
* Copyright 2007, 2008, 2009 Red Hat, Inc.
|
||||
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
* This code is free software; you can redistribute it and/or modify it
|
||||
|
@ -44,14 +44,14 @@ frame frame::sender_for_entry_frame(RegisterMap *map) const {
|
|||
"sender should be next Java frame");
|
||||
map->clear();
|
||||
assert(map->include_argument_oops(), "should be set by clear");
|
||||
return frame(sender_sp(), sp() + 1);
|
||||
return frame(zeroframe()->next(), sender_sp());
|
||||
}
|
||||
|
||||
frame frame::sender_for_nonentry_frame(RegisterMap *map) const {
|
||||
assert(zeroframe()->is_interpreter_frame() ||
|
||||
zeroframe()->is_shark_frame() ||
|
||||
zeroframe()->is_fake_stub_frame(), "wrong type of frame");
|
||||
return frame(sender_sp(), sp() + 1);
|
||||
return frame(zeroframe()->next(), sender_sp());
|
||||
}
|
||||
|
||||
frame frame::sender(RegisterMap* map) const {
|
||||
|
@ -172,8 +172,8 @@ void frame::zero_print_on_error(int frame_index,
|
|||
char *valuebuf = buf + buflen;
|
||||
|
||||
// Print each word of the frame
|
||||
for (intptr_t *addr = fp(); addr <= sp(); addr++) {
|
||||
int offset = sp() - addr;
|
||||
for (intptr_t *addr = sp(); addr <= fp(); addr++) {
|
||||
int offset = fp() - addr;
|
||||
|
||||
// Fill in default values, then try and improve them
|
||||
snprintf(fieldbuf, buflen, "word[%d]", offset);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue