Mercurial > hg > graal-jvmci-8
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 } |