equal
deleted
inserted
replaced
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 } |