@@ -1135,6 +1135,7 @@ void TemplateTable::aastore() {
11351135 // Get the value we will store
11361136 __ ldr (r0, at_tos ());
11371137 // Now store using the appropriate barrier
1138+ // Clobbers: r10, r11, r3
11381139 do_oop_store (_masm, element_address, r0, IS_ARRAY);
11391140 __ b (done);
11401141
@@ -1143,6 +1144,7 @@ void TemplateTable::aastore() {
11431144 __ profile_null_seen (r2);
11441145
11451146 // Store a null
1147+ // Clobbers: r10, r11, r3
11461148 do_oop_store (_masm, element_address, noreg, IS_ARRAY);
11471149
11481150 // Pop stack arguments
@@ -2774,6 +2776,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
27742776 __ pop (atos);
27752777 if (!is_static) pop_and_check_object (obj);
27762778 // Store into the field
2779+ // Clobbers: r10, r11, r3
27772780 do_oop_store (_masm, field, r0, IN_HEAP);
27782781 if (rc == may_rewrite) {
27792782 patch_bytecode (Bytecodes::_fast_aputfield, bc, r1, true , byte_no);
@@ -2973,16 +2976,16 @@ void TemplateTable::fast_storefield(TosState state)
29732976 // Must prevent reordering of the following cp cache loads with bytecode load
29742977 __ membar (MacroAssembler::LoadLoad);
29752978
2976- // test for volatile with r3
2977- __ ldrw (r3 , Address (r2, in_bytes (base +
2979+ // test for volatile with r5
2980+ __ ldrw (r5 , Address (r2, in_bytes (base +
29782981 ConstantPoolCacheEntry::flags_offset ())));
29792982
29802983 // replace index with field offset from cache entry
29812984 __ ldr (r1, Address (r2, in_bytes (base + ConstantPoolCacheEntry::f2_offset ())));
29822985
29832986 {
29842987 Label notVolatile;
2985- __ tbz (r3 , ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
2988+ __ tbz (r5 , ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
29862989 __ membar (MacroAssembler::StoreStore | MacroAssembler::LoadStore);
29872990 __ bind (notVolatile);
29882991 }
@@ -2998,6 +3001,7 @@ void TemplateTable::fast_storefield(TosState state)
29983001 // access field
29993002 switch (bytecode ()) {
30003003 case Bytecodes::_fast_aputfield:
3004+ // Clobbers: r10, r11, r3
30013005 do_oop_store (_masm, field, r0, IN_HEAP);
30023006 break ;
30033007 case Bytecodes::_fast_lputfield:
@@ -3030,7 +3034,7 @@ void TemplateTable::fast_storefield(TosState state)
30303034
30313035 {
30323036 Label notVolatile;
3033- __ tbz (r3 , ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
3037+ __ tbz (r5 , ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
30343038 __ membar (MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
30353039 __ bind (notVolatile);
30363040 }
0 commit comments