Mercurial > hg > graal-compiler
comparison src/cpu/sparc/vm/templateInterpreter_sparc.cpp @ 5923:8a48c2906f91
7150046: SIGILL on sparcv9 fastdebug
Summary: Breakpoint needs to do 64-bit compare for pointers on sparcv9
Reviewed-by: coleenp, never
Contributed-by: dean.long@oracle.com
author | coleenp |
---|---|
date | Mon, 05 Mar 2012 14:19:00 -0500 |
parents | 22cee0ee8927 |
children | 2fe087c3e814 |
comparison
equal
deleted
inserted
replaced
5922:ff29ce866f23 | 5923:8a48c2906f91 |
---|---|
377 // lock the mirror, not the klassOop | 377 // lock the mirror, not the klassOop |
378 __ ld_ptr( O0, mirror_offset, O0); | 378 __ ld_ptr( O0, mirror_offset, O0); |
379 | 379 |
380 #ifdef ASSERT | 380 #ifdef ASSERT |
381 __ tst(O0); | 381 __ tst(O0); |
382 __ breakpoint_trap(Assembler::zero); | 382 __ breakpoint_trap(Assembler::zero, Assembler::ptr_cc); |
383 #endif // ASSERT | 383 #endif // ASSERT |
384 | 384 |
385 __ bind(done); | 385 __ bind(done); |
386 } | 386 } |
387 | 387 |
2048 AddressLiteral counter(&BytecodeCounter::_counter_value); | 2048 AddressLiteral counter(&BytecodeCounter::_counter_value); |
2049 __ load_contents(counter, G3_scratch); | 2049 __ load_contents(counter, G3_scratch); |
2050 AddressLiteral stop_at(&StopInterpreterAt); | 2050 AddressLiteral stop_at(&StopInterpreterAt); |
2051 __ load_ptr_contents(stop_at, G4_scratch); | 2051 __ load_ptr_contents(stop_at, G4_scratch); |
2052 __ cmp(G3_scratch, G4_scratch); | 2052 __ cmp(G3_scratch, G4_scratch); |
2053 __ breakpoint_trap(Assembler::equal); | 2053 __ breakpoint_trap(Assembler::equal, Assembler::icc); |
2054 } | 2054 } |
2055 #endif // not PRODUCT | 2055 #endif // not PRODUCT |
2056 #endif // !CC_INTERP | 2056 #endif // !CC_INTERP |