1 /* |
1 /* |
2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 2012, 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. |
98 // loads from anything _memory_mgr_obj points to or implies. |
98 // loads from anything _memory_mgr_obj points to or implies. |
99 instanceOop mgr_obj = (instanceOop)OrderAccess::load_ptr_acquire(&_memory_mgr_obj); |
99 instanceOop mgr_obj = (instanceOop)OrderAccess::load_ptr_acquire(&_memory_mgr_obj); |
100 if (mgr_obj == NULL) { |
100 if (mgr_obj == NULL) { |
101 // It's ok for more than one thread to execute the code up to the locked region. |
101 // It's ok for more than one thread to execute the code up to the locked region. |
102 // Extra manager instances will just be gc'ed. |
102 // Extra manager instances will just be gc'ed. |
103 klassOop k = Management::sun_management_ManagementFactory_klass(CHECK_0); |
103 Klass* k = Management::sun_management_ManagementFactory_klass(CHECK_0); |
104 instanceKlassHandle ik(THREAD, k); |
104 instanceKlassHandle ik(THREAD, k); |
105 |
105 |
106 Handle mgr_name = java_lang_String::create_from_str(name(), CHECK_0); |
106 Handle mgr_name = java_lang_String::create_from_str(name(), CHECK_0); |
107 |
107 |
108 JavaValue result(T_OBJECT); |
108 JavaValue result(T_OBJECT); |