6744422: incorrect handling of -1 in set_jump_destination
authornever
Wed Sep 03 14:57:00 2008 -0700 (14 months ago)
changeset 3143a26e9e4be71
parent 313a10808f5a4b5
child 3165fa96a5a7e76
child 319cdbee661c7da
6744422: incorrect handling of -1 in set_jump_destination
Reviewed-by: rasbold
src/cpu/x86/vm/nativeInst_x86.hpp
--- a/src/cpu/x86/vm/nativeInst_x86.hpp Tue Sep 02 08:30:41 2008 -0700
+++ b/src/cpu/x86/vm/nativeInst_x86.hpp Wed Sep 03 14:57:00 2008 -0700
@@ -391,6 +391,9 @@ class NativeJump: public NativeInstructi
void set_jump_destination(address dest) {
intptr_t val = dest - next_instruction_address();
+ if (dest == (address) -1) {
+ val = -5; // jump to self
+ }
#ifdef AMD64
assert((labs(val) & 0xFFFFFFFF00000000) == 0 || dest == (address)-1, "must be 32bit offset or -1");
#endif // AMD64