@@ -1144,6 +1144,7 @@ void TemplateTable::aastore() {
11441144 // Get the value we will store
11451145 __ ldr (r0, at_tos ());
11461146 // Now store using the appropriate barrier
1147+ // Clobbers: r10, r11, r3
11471148 do_oop_store (_masm, element_address, r0, IS_ARRAY);
11481149 __ b (done);
11491150
@@ -1152,6 +1153,7 @@ void TemplateTable::aastore() {
11521153 __ profile_null_seen (r2);
11531154
11541155 // Store a null
1156+ // Clobbers: r10, r11, r3
11551157 do_oop_store (_masm, element_address, noreg, IS_ARRAY);
11561158
11571159 // Pop stack arguments
@@ -2882,6 +2884,7 @@ void TemplateTable::putfield_or_static(int byte_no, bool is_static, RewriteContr
28822884 __ pop (atos);
28832885 if (!is_static) pop_and_check_object (obj);
28842886 // Store into the field
2887+ // Clobbers: r10, r11, r3
28852888 do_oop_store (_masm, field, r0, IN_HEAP);
28862889 if (rc == may_rewrite) {
28872890 patch_bytecode (Bytecodes::_fast_aputfield, bc, r1, true , byte_no);
@@ -3077,12 +3080,12 @@ void TemplateTable::fast_storefield(TosState state)
30773080 // access constant pool cache
30783081 __ load_field_entry (r2, r1);
30793082
3080- // R1: field offset, R2: field holder, R3 : flags
3081- load_resolved_field_entry (r2, r2, noreg, r1, r3 );
3083+ // R1: field offset, R2: field holder, R5 : flags
3084+ load_resolved_field_entry (r2, r2, noreg, r1, r5 );
30823085
30833086 {
30843087 Label notVolatile;
3085- __ tbz (r3 , ResolvedFieldEntry::is_volatile_shift, notVolatile);
3088+ __ tbz (r5 , ResolvedFieldEntry::is_volatile_shift, notVolatile);
30863089 __ membar (MacroAssembler::StoreStore | MacroAssembler::LoadStore);
30873090 __ bind (notVolatile);
30883091 }
@@ -3098,6 +3101,7 @@ void TemplateTable::fast_storefield(TosState state)
30983101 // access field
30993102 switch (bytecode ()) {
31003103 case Bytecodes::_fast_aputfield:
3104+ // Clobbers: r10, r11, r3
31013105 do_oop_store (_masm, field, r0, IN_HEAP);
31023106 break ;
31033107 case Bytecodes::_fast_lputfield:
@@ -3130,7 +3134,7 @@ void TemplateTable::fast_storefield(TosState state)
31303134
31313135 {
31323136 Label notVolatile;
3133- __ tbz (r3 , ResolvedFieldEntry::is_volatile_shift, notVolatile);
3137+ __ tbz (r5 , ResolvedFieldEntry::is_volatile_shift, notVolatile);
31343138 __ membar (MacroAssembler::StoreLoad | MacroAssembler::StoreStore);
31353139 __ bind (notVolatile);
31363140 }
0 commit comments