Mercurial > hg > graal-jvmci-8
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 |