JDK-8144534 : Refactor templateInterpreter and templateInterpreterGenerator functions
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: runtime
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2015-12-02
  • Updated: 2015-12-24
  • Resolved: 2015-12-05
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 9
9 b99Fixed
Related Reports
Relates :  
Description
They're two different classes and the functions are interspersed in templateInterpreter_<cpu>.cpp files.  Also, merge templateInterpreter_x86_32.cpp and templateInterpreter_x86_64.cpp.

Needed to fix class hierarchy to remove CPP interpreter but still support the Zero interpreter.

The classes in the interpreter(s) are:

InterpreterGenerator : CC_INTERP_ONLY(CppInterpreterGenerator) NOT_CC_INTERP(TemplateInterpreterGenerator)
TemplateInterpreterGenerator : AbstractInterpreterGenerator
CppInterpreterGenerator: AbstractInterpretr
AbstractInterpreterGenerator :StackObj

Interpreter: CC_INTERP_ONLY(CppInterpreter) NOT_CC_INTERP(TemplateInterpreter)
TemplateInterpreter: AbstractInterpreter
CppInterpreter: AbstractInterpreter
AbstractInterpreter:  AllStatic
Comments
After change, what's in cpu/vm/interpreter files: interpreter_<cpu>.cpp contains AbstractInterpreterGenerator and InterpreterGenerator functions supposedly shared by both template and cpp interpreter. templateInterpreter_<cpu>.cpp contains AbstractInterpreter functions that are specialized for the template interpreter and TemplateInterpretet functions. templateInterpreterGenerator_<cpu>.cpp contains TemplateInterpreterGenerator and InterpreterGenerator functions for the template interpreter. In essence InterpreterGenerator and Interpreter subclasses don't make any sense since they don't result in any code sharing, and will be removed to be either TemplateInterpreterGenerator or ZeroInterpreter (replacing CppInterpreter).
02-12-2015