mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-20 19:14:38 +02:00
6946056: assert((intptr_t) sp()<=(intptr_t) result,"result must>=than stack pointer"), frame_x86.cpp:295
Frame::interpreter_frame_monitor_end() will spuriously assert for a frame that spans 0x80000000. Cast values to intptr_t* (rather than intptr_t) so that an unsigned pointer compare is performed. Reviewed-by: never, jcoomes, pbk
This commit is contained in:
parent
e1ae5e1cb0
commit
83f1d02a67
1 changed files with 2 additions and 2 deletions
|
@ -291,8 +291,8 @@ BasicObjectLock* frame::interpreter_frame_monitor_begin() const {
|
||||||
BasicObjectLock* frame::interpreter_frame_monitor_end() const {
|
BasicObjectLock* frame::interpreter_frame_monitor_end() const {
|
||||||
BasicObjectLock* result = (BasicObjectLock*) *addr_at(interpreter_frame_monitor_block_top_offset);
|
BasicObjectLock* result = (BasicObjectLock*) *addr_at(interpreter_frame_monitor_block_top_offset);
|
||||||
// make sure the pointer points inside the frame
|
// make sure the pointer points inside the frame
|
||||||
assert((intptr_t) fp() > (intptr_t) result, "result must < than frame pointer");
|
assert(sp() <= (intptr_t*) result, "monitor end should be above the stack pointer");
|
||||||
assert((intptr_t) sp() <= (intptr_t) result, "result must >= than stack pointer");
|
assert((intptr_t*) result < fp(), "monitor end should be strictly below the frame pointer");
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue