Mercurial > hg > truffle
comparison src/cpu/sparc/vm/interp_masm_sparc.cpp @ 14676:d3f14809b051
8036146: make CPP interpreter build again
Summary: fix build of CPP interpreter on x86 and sparc
Reviewed-by: kvn
author | roland |
---|---|
date | Wed, 05 Mar 2014 15:14:25 +0100 |
parents | 8cdf3f43f63e |
children | b51e29501f30 |
comparison
equal
deleted
inserted
replaced
14675:bb4db06fd36f | 14676:d3f14809b051 |
---|---|
2495 | 2495 |
2496 | 2496 |
2497 void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) { | 2497 void InterpreterMacroAssembler::verify_FPU(int stack_depth, TosState state) { |
2498 if (state == ftos || state == dtos) MacroAssembler::verify_FPU(stack_depth); | 2498 if (state == ftos || state == dtos) MacroAssembler::verify_FPU(stack_depth); |
2499 } | 2499 } |
2500 | |
2501 | |
2502 // Jump if ((*counter_addr += increment) & mask) satisfies the condition. | |
2503 void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr, | |
2504 int increment, int mask, | |
2505 Register scratch1, Register scratch2, | |
2506 Condition cond, Label *where) { | |
2507 ld(counter_addr, scratch1); | |
2508 add(scratch1, increment, scratch1); | |
2509 if (is_simm13(mask)) { | |
2510 andcc(scratch1, mask, G0); | |
2511 } else { | |
2512 set(mask, scratch2); | |
2513 andcc(scratch1, scratch2, G0); | |
2514 } | |
2515 br(cond, false, Assembler::pn, *where); | |
2516 delayed()->st(scratch1, counter_addr); | |
2517 } | |
2500 #endif /* CC_INTERP */ | 2518 #endif /* CC_INTERP */ |
2501 | 2519 |
2502 // Inline assembly for: | 2520 // Inline assembly for: |
2503 // | 2521 // |
2504 // if (thread is in interp_only_mode) { | 2522 // if (thread is in interp_only_mode) { |
2644 } else { | 2662 } else { |
2645 pop(state); | 2663 pop(state); |
2646 } | 2664 } |
2647 #endif // CC_INTERP | 2665 #endif // CC_INTERP |
2648 } | 2666 } |
2649 | |
2650 // Jump if ((*counter_addr += increment) & mask) satisfies the condition. | |
2651 void InterpreterMacroAssembler::increment_mask_and_jump(Address counter_addr, | |
2652 int increment, int mask, | |
2653 Register scratch1, Register scratch2, | |
2654 Condition cond, Label *where) { | |
2655 ld(counter_addr, scratch1); | |
2656 add(scratch1, increment, scratch1); | |
2657 if (is_simm13(mask)) { | |
2658 andcc(scratch1, mask, G0); | |
2659 } else { | |
2660 set(mask, scratch2); | |
2661 andcc(scratch1, scratch2, G0); | |
2662 } | |
2663 br(cond, false, Assembler::pn, *where); | |
2664 delayed()->st(scratch1, counter_addr); | |
2665 } |