-
Enhancement
-
Resolution: Fixed
-
P4
-
10
-
b21
compilationPolicy.cpp calls AbstractInterpreter::can_be_compiled during linking and resolve steps, which is somewhat costly and affects startup:
if (!AbstractInterpreter::can_be_compiled(m)) {
return false;
}
It would seem that rather than resolving the method_kind(m) in can_be_compiled, it would suffice to switch on m->intrinsic_id():
switch (m->intrinsic_id()) {
case vmIntrinsics::_dsin : // fall thru
...
This significantly reduces the cost of AbstractInterpreter::can_be_compiled
if (!AbstractInterpreter::can_be_compiled(m)) {
return false;
}
It would seem that rather than resolving the method_kind(m) in can_be_compiled, it would suffice to switch on m->intrinsic_id():
switch (m->intrinsic_id()) {
case vmIntrinsics::_dsin : // fall thru
...
This significantly reduces the cost of AbstractInterpreter::can_be_compiled
- relates to
-
JDK-8170693 Interpreter and JIT compilers should always use the same code for math intrinsics
-
- Open
-