comparison src/cpu/x86/vm/nativeInst_x86.hpp @ 314:3a26e9e4be71

6744422: incorrect handling of -1 in set_jump_destination Reviewed-by: rasbold
author never
date Wed, 03 Sep 2008 14:57:00 -0700
parents dc7f315e41f7
children c18cbe5936b8
comparison
equal deleted inserted replaced
313:a10808f5a4b5 314:3a26e9e4be71
389 return dest; 389 return dest;
390 } 390 }
391 391
392 void set_jump_destination(address dest) { 392 void set_jump_destination(address dest) {
393 intptr_t val = dest - next_instruction_address(); 393 intptr_t val = dest - next_instruction_address();
394 if (dest == (address) -1) {
395 val = -5; // jump to self
396 }
394 #ifdef AMD64 397 #ifdef AMD64
395 assert((labs(val) & 0xFFFFFFFF00000000) == 0 || dest == (address)-1, "must be 32bit offset or -1"); 398 assert((labs(val) & 0xFFFFFFFF00000000) == 0 || dest == (address)-1, "must be 32bit offset or -1");
396 #endif // AMD64 399 #endif // AMD64
397 set_int_at(data_offset, (jint)val); 400 set_int_at(data_offset, (jint)val);
398 } 401 }