@@ -1136,6 +1136,7 @@ void TemplateTable::aastore() {
11361136 // Get the value we will store
11371137 __ ldr (r0, at_tos ());
11381138 // Now store using the appropriate barrier
1139+ // Clobbers: r10, r11, r3
11391140 do_oop_store (_masm, element_address, r0, IS_ARRAY);
11401141 __ b (done);
11411142
@@ -1144,6 +1145,7 @@ void TemplateTable::aastore() {
11441145 __ profile_null_seen (r2);
11451146
11461147 // Store a NULL
1148+ // Clobbers: r10, r11, r3
11471149 do_oop_store (_masm, element_address, noreg, IS_ARRAY);
11481150
11491151 // Pop stack arguments
@@ -2706,6 +2708,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
27062708 __ pop (atos);
27072709 if (!is_static) pop_and_check_object (obj);
27082710 // Store into the field
2711+ // Clobbers: r10, r11, r3
27092712 do_oop_store (_masm, field, r0, IN_HEAP);
27102713 if (rc == may_rewrite) {
27112714 patch_bytecode (Bytecodes::_fast_aputfield, bc, r1, true , byte_no);
@@ -2905,16 +2908,16 @@ void TemplateTable::fast_storefield(TosState state)
29052908 // Must prevent reordering of the following cp cache loads with bytecode load
29062909 __ membar (MacroAssembler::LoadLoad);
29072910
2908- // test for volatile with r3
2909- __ ldrw (r3 , Address (r2, in_bytes (base +
2911+ // test for volatile with r5
2912+ __ ldrw (r5 , Address (r2, in_bytes (base +
29102913 ConstantPoolCacheEntry::flags_offset ())));
29112914
29122915 // replace index with field offset from cache entry
29132916 __ ldr (r1, Address (r2, in_bytes (base + ConstantPoolCacheEntry::f2_offset ())));
29142917
29152918 {
29162919 Label notVolatile;
2917- __ tbz (r3 , ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
2920+ __ tbz (r5 , ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
29182921 __ membar (MacroAssembler::StoreStore | MacroAssembler::LoadStore);
29192922 __ bind (notVolatile);
29202923 }
@@ -2930,6 +2933,7 @@ void TemplateTable::fast_storefield(TosState state)
29302933 // access field
29312934 switch (bytecode ()) {
29322935 case Bytecodes::_fast_aputfield:
2936+ // Clobbers: r10, r11, r3
29332937 do_oop_store (_masm, field, r0, IN_HEAP);
29342938 break ;
29352939 case Bytecodes::_fast_lputfield:
@@ -2962,7 +2966,7 @@ void TemplateTable::fast_storefield(TosState state)
29622966
29632967 {
29642968 Label notVolatile;
2965- __ tbz (r3 , ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
2969+ __ tbz (r5 , ConstantPoolCacheEntry::is_volatile_shift, notVolatile);
29662970 __ membar (MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
29672971 __ bind (notVolatile);
29682972 }
0 commit comments