comparison src/cpu/sparc/vm/templateInterpreter_sparc.cpp @ 2118:dd031b2226de

4930919: race condition in MDO creation at back branch locations Summary: Reuse set_method_data_for_bcp() to setup mdp after MDO creation. Reviewed-by: kvn, never
author iveresov
date Mon, 10 Jan 2011 18:46:29 -0800
parents f95d63e2154a
children e1162778c1c8
comparison
equal deleted inserted replaced
2117:70427f06ea47 2118:dd031b2226de
1 /* 1 /*
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1997, 2011, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
1362 if (inc_counter) { 1362 if (inc_counter) {
1363 if (ProfileInterpreter) { 1363 if (ProfileInterpreter) {
1364 // We have decided to profile this method in the interpreter 1364 // We have decided to profile this method in the interpreter
1365 __ bind(profile_method); 1365 __ bind(profile_method);
1366 1366
1367 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method), Lbcp, true); 1367 __ call_VM(noreg, CAST_FROM_FN_PTR(address, InterpreterRuntime::profile_method));
1368 1368 __ set_method_data_pointer_for_bcp();
1369 #ifdef ASSERT
1370 __ tst(O0);
1371 __ breakpoint_trap(Assembler::notEqual);
1372 #endif
1373
1374 __ set_method_data_pointer();
1375
1376 __ ba(false, profile_method_continue); 1369 __ ba(false, profile_method_continue);
1377 __ delayed()->nop(); 1370 __ delayed()->nop();
1378 } 1371 }
1379 1372
1380 // handle invocation counter overflow 1373 // handle invocation counter overflow