Mercurial > hg > graal-jvmci-8
comparison src/cpu/sparc/vm/interp_masm_sparc.hpp @ 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 | fdb992d83a87 |
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. |
267 void lock_object (Register lock_reg, Register obj_reg); | 267 void lock_object (Register lock_reg, Register obj_reg); |
268 void unlock_object(Register lock_reg); | 268 void unlock_object(Register lock_reg); |
269 | 269 |
270 #ifndef CC_INTERP | 270 #ifndef CC_INTERP |
271 // Interpreter profiling operations | 271 // Interpreter profiling operations |
272 void set_method_data_pointer() { set_method_data_pointer_offset(noreg); } | 272 void set_method_data_pointer(); |
273 void set_method_data_pointer_for_bcp(); | 273 void set_method_data_pointer_for_bcp(); |
274 void set_method_data_pointer_offset(Register mdi_reg); | |
275 void test_method_data_pointer(Label& zero_continue); | 274 void test_method_data_pointer(Label& zero_continue); |
276 void verify_method_data_pointer(); | 275 void verify_method_data_pointer(); |
277 void test_invocation_counter_for_mdp(Register invocation_count, Register cur_bcp, Register Rtmp, Label &profile_continue); | 276 void test_invocation_counter_for_mdp(Register invocation_count, Register Rtmp, Label &profile_continue); |
278 | 277 |
279 void set_mdp_data_at(int constant, Register value); | 278 void set_mdp_data_at(int constant, Register value); |
280 void increment_mdp_data_at(Address counter, Register bumped_count, | 279 void increment_mdp_data_at(Address counter, Register bumped_count, |
281 bool decrement = false); | 280 bool decrement = false); |
282 void increment_mdp_data_at(int constant, Register bumped_count, | 281 void increment_mdp_data_at(int constant, Register bumped_count, |