comparison src/cpu/sparc/vm/templateInterpreter_sparc.cpp @ 14909:4ca6dc0799b6

Backout jdk9 merge
author Gilles Duboscq <duboscq@ssw.jku.at>
date Tue, 01 Apr 2014 13:57:07 +0200
parents d8041d695d19
children 4062efea018b
comparison
equal deleted inserted replaced
14908:8db6e76cb658 14909:4ca6dc0799b6
153 } 153 }
154 154
155 155
156 address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step, size_t index_size) { 156 address TemplateInterpreterGenerator::generate_return_entry_for(TosState state, int step, size_t index_size) {
157 address entry = __ pc(); 157 address entry = __ pc();
158
159 if (state == atos) {
160 __ profile_return_type(O0, G3_scratch, G1_scratch);
161 }
162 158
163 #if !defined(_LP64) && defined(COMPILER2) 159 #if !defined(_LP64) && defined(COMPILER2)
164 // All return values are where we want them, except for Longs. C2 returns 160 // All return values are where we want them, except for Longs. C2 returns
165 // longs in G1 in the 32-bit build whereas the interpreter wants them in O0/O1. 161 // longs in G1 in the 32-bit build whereas the interpreter wants them in O0/O1.
166 // Since the interpreter will return longs in G1 and O0/O1 in the 32bit 162 // Since the interpreter will return longs in G1 and O0/O1 in the 32bit
1348 // runtime, exception handling i.e. unlock_if_synchronized_method will 1344 // runtime, exception handling i.e. unlock_if_synchronized_method will
1349 // check this thread local flag. 1345 // check this thread local flag.
1350 __ movbool(true, G3_scratch); 1346 __ movbool(true, G3_scratch);
1351 __ stbool(G3_scratch, do_not_unlock_if_synchronized); 1347 __ stbool(G3_scratch, do_not_unlock_if_synchronized);
1352 1348
1353 __ profile_parameters_type(G1_scratch, G3_scratch, G4_scratch, Lscratch);
1354 // increment invocation counter and check for overflow 1349 // increment invocation counter and check for overflow
1355 // 1350 //
1356 // Note: checking for negative value instead of overflow 1351 // Note: checking for negative value instead of overflow
1357 // so we have a 'sticky' overflow test (may be of 1352 // so we have a 'sticky' overflow test (may be of
1358 // importance as soon as we have true MT/MP) 1353 // importance as soon as we have true MT/MP)