Mercurial > hg > graal-compiler
comparison src/cpu/sparc/vm/stubGenerator_sparc.cpp @ 1844:75588558f1bf
6980792: Crash "exception happened outside interpreter, nmethods and vtable stubs (1)"
Reviewed-by: kvn
author | never |
---|---|
date | Thu, 07 Oct 2010 21:40:55 -0700 |
parents | 065dd1ca3ab6 |
children | f95d63e2154a |
comparison
equal
deleted
inserted
replaced
1832:22e4420d19f7 | 1844:75588558f1bf |
---|---|
2584 // If this will cause trouble, let's fail now instead of later. | 2584 // If this will cause trouble, let's fail now instead of later. |
2585 __ save_frame(0); | 2585 __ save_frame(0); |
2586 __ restore(); | 2586 __ restore(); |
2587 #endif | 2587 #endif |
2588 | 2588 |
2589 assert_clean_int(O2_count, G1); // Make sure 'count' is clean int. | |
2590 | |
2589 #ifdef ASSERT | 2591 #ifdef ASSERT |
2590 // caller guarantees that the arrays really are different | 2592 // caller guarantees that the arrays really are different |
2591 // otherwise, we would have to make conjoint checks | 2593 // otherwise, we would have to make conjoint checks |
2592 { Label L; | 2594 { Label L; |
2593 __ mov(O3, G1); // spill: overlap test smashes O3 | 2595 __ mov(O3, G1); // spill: overlap test smashes O3 |
2597 __ bind(L); | 2599 __ bind(L); |
2598 __ mov(G1, O3); | 2600 __ mov(G1, O3); |
2599 __ mov(G4, O4); | 2601 __ mov(G4, O4); |
2600 } | 2602 } |
2601 #endif //ASSERT | 2603 #endif //ASSERT |
2602 | |
2603 assert_clean_int(O2_count, G1); // Make sure 'count' is clean int. | |
2604 | 2604 |
2605 checkcast_copy_entry = __ pc(); | 2605 checkcast_copy_entry = __ pc(); |
2606 // caller can pass a 64-bit byte count here (from generic stub) | 2606 // caller can pass a 64-bit byte count here (from generic stub) |
2607 BLOCK_COMMENT("Entry:"); | 2607 BLOCK_COMMENT("Entry:"); |
2608 | 2608 |