Skip to content

Commit cb4ae19

Browse files
afshin-zafaricoleenp
authored andcommitted
8292059: Do not inline InstanceKlass::allocate_instance()
Reviewed-by: coleenp, stefank
1 parent b2639e1 commit cb4ae19

File tree

3 files changed

+14
-17
lines changed

3 files changed

+14
-17
lines changed

src/hotspot/share/oops/instanceKlass.cpp

+12
Original file line numberDiff line numberDiff line change
@@ -1393,6 +1393,18 @@ instanceOop InstanceKlass::allocate_instance(TRAPS) {
13931393
return i;
13941394
}
13951395

1396+
instanceOop InstanceKlass::allocate_instance(oop java_class, TRAPS) {
1397+
Klass* k = java_lang_Class::as_Klass(java_class);
1398+
if (k == nullptr) {
1399+
ResourceMark rm(THREAD);
1400+
THROW_(vmSymbols::java_lang_InstantiationException(), nullptr);
1401+
}
1402+
InstanceKlass* ik = cast(k);
1403+
ik->check_valid_for_instantiation(false, CHECK_NULL);
1404+
ik->initialize(CHECK_NULL);
1405+
return ik->allocate_instance(THREAD);
1406+
}
1407+
13961408
instanceHandle InstanceKlass::allocate_instance_handle(TRAPS) {
13971409
return instanceHandle(THREAD, allocate_instance(THREAD));
13981410
}

src/hotspot/share/oops/instanceKlass.inline.hpp

+1-17
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,12 @@
2727

2828
#include "oops/instanceKlass.hpp"
2929

30-
#include "classfile/javaClasses.hpp"
31-
#include "classfile/vmSymbols.hpp"
32-
#include "memory/resourceArea.hpp"
30+
#include "memory/memRegion.hpp"
3331
#include "oops/klass.inline.hpp"
3432
#include "oops/oop.inline.hpp"
3533
#include "runtime/atomic.hpp"
36-
#include "utilities/debug.hpp"
3734
#include "utilities/devirtualizer.inline.hpp"
3835
#include "utilities/globalDefinitions.hpp"
39-
#include "utilities/macros.hpp"
4036

4137
inline intptr_t* InstanceKlass::start_of_itable() const { return (intptr_t*)start_of_vtable() + vtable_length(); }
4238
inline intptr_t* InstanceKlass::end_of_itable() const { return start_of_itable() + itable_length(); }
@@ -185,16 +181,4 @@ ALWAYSINLINE void InstanceKlass::oop_oop_iterate_bounded(oop obj, OopClosureType
185181
oop_oop_iterate_oop_maps_bounded<T>(obj, closure, mr);
186182
}
187183

188-
inline instanceOop InstanceKlass::allocate_instance(oop java_class, TRAPS) {
189-
Klass* k = java_lang_Class::as_Klass(java_class);
190-
if (k == nullptr) {
191-
ResourceMark rm(THREAD);
192-
THROW_(vmSymbols::java_lang_InstantiationException(), nullptr);
193-
}
194-
InstanceKlass* ik = cast(k);
195-
ik->check_valid_for_instantiation(false, CHECK_NULL);
196-
ik->initialize(CHECK_NULL);
197-
return ik->allocate_instance(THREAD);
198-
}
199-
200184
#endif // SHARE_OOPS_INSTANCEKLASS_INLINE_HPP

src/hotspot/share/prims/jvmtiEnvBase.cpp

+1
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
#include "classfile/javaClasses.inline.hpp"
2828
#include "classfile/moduleEntry.hpp"
2929
#include "classfile/symbolTable.hpp"
30+
#include "classfile/vmSymbols.hpp"
3031
#include "jvmtifiles/jvmtiEnv.hpp"
3132
#include "memory/iterator.hpp"
3233
#include "memory/resourceArea.hpp"

0 commit comments

Comments
 (0)