Mercurial > hg > graal-jvmci-8
comparison src/cpu/x86/vm/c1_LIRAssembler_x86.cpp @ 6041:3576af4cb939
7160539: JDeveloper crashes on 64-bit Windows
Summary: x64 C1 needs to zero upper 32bits when doing l2i conversion
Reviewed-by: never, kvn
author | iveresov |
---|---|
date | Wed, 11 Apr 2012 19:15:46 -0700 |
parents | 701a83c86f28 |
children | 8f972594effc |
comparison
equal
deleted
inserted
replaced
6040:c7ed11779ce8 | 6041:3576af4cb939 |
---|---|
1460 __ sarl(dest->as_register_hi(), 31); | 1460 __ sarl(dest->as_register_hi(), 31); |
1461 #endif // LP64 | 1461 #endif // LP64 |
1462 break; | 1462 break; |
1463 | 1463 |
1464 case Bytecodes::_l2i: | 1464 case Bytecodes::_l2i: |
1465 #ifdef _LP64 | |
1466 __ movl(dest->as_register(), src->as_register_lo()); | |
1467 #else | |
1465 move_regs(src->as_register_lo(), dest->as_register()); | 1468 move_regs(src->as_register_lo(), dest->as_register()); |
1469 #endif | |
1466 break; | 1470 break; |
1467 | 1471 |
1468 case Bytecodes::_i2b: | 1472 case Bytecodes::_i2b: |
1469 move_regs(src->as_register(), dest->as_register()); | 1473 move_regs(src->as_register(), dest->as_register()); |
1470 __ sign_extend_byte(dest->as_register()); | 1474 __ sign_extend_byte(dest->as_register()); |