src/share/vm/interpreter/templateInterpreterGenerator.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File
hotspot Cdiff src/share/vm/interpreter/templateInterpreterGenerator.cpp
src/share/vm/interpreter/templateInterpreterGenerator.cpp
Print this page
rev 12400 : 8168503: JEP 297: Unified arm32/arm64 Port
Reviewed-by: kvn, enevill, ihse, dholmes, erik, coleenp, cjplummer
*** 21,31 ****
* questions.
*
*/
#include "precompiled.hpp"
- #include "code/codeCacheExtensions.hpp"
#include "interpreter/interpreter.hpp"
#include "interpreter/interpreterRuntime.hpp"
#include "interpreter/interp_masm.hpp"
#include "interpreter/templateInterpreter.hpp"
#include "interpreter/templateInterpreterGenerator.hpp"
--- 21,30 ----
*** 53,66 ****
T_DOUBLE ,
T_OBJECT
};
void TemplateInterpreterGenerator::generate_all() {
- // Loop, in case we need several variants of the interpreter entries
- do {
- if (!CodeCacheExtensions::skip_code_generation()) {
- // bypass code generation when useless
{ CodeletMark cm(_masm, "slow signature handler");
AbstractInterpreter::_slow_signature_handler = generate_slow_signature_handler();
}
{ CodeletMark cm(_masm, "error exits");
--- 52,61 ----
*** 264,275 ****
#undef method_entry
// Bytecodes
set_entry_points_for_all_bytes();
- }
- } while (CodeCacheExtensions::needs_other_interpreter_variant());
// installation of code in other places in the runtime
// (ExcutableCodeManager calls not needed to copy the entries)
set_safepoints_for_all_bytes();
}
--- 259,268 ----
*** 312,324 ****
Interpreter::_wentry_point[i] = _unimplemented_bytecode;
}
void TemplateInterpreterGenerator::set_entry_points(Bytecodes::Code code) {
- if (CodeCacheExtensions::skip_template_interpreter_entries(code)) {
- return;
- }
CodeletMark cm(_masm, Bytecodes::name(code), code);
// initialize entry points
assert(_unimplemented_bytecode != NULL, "should have been generated before");
assert(_illegal_bytecode_sequence != NULL, "should have been generated before");
address bep = _illegal_bytecode_sequence;
--- 305,314 ----
*** 345,355 ****
}
// set entry points
EntryPoint entry(bep, zep, cep, sep, aep, iep, lep, fep, dep, vep);
Interpreter::_normal_table.set_entry(code, entry);
Interpreter::_wentry_point[code] = wep;
- CodeCacheExtensions::completed_template_interpreter_entries(_masm, code);
}
void TemplateInterpreterGenerator::set_wide_entry_point(Template* t, address& wep) {
assert(t->is_valid(), "template must exist");
--- 335,344 ----
src/share/vm/interpreter/templateInterpreterGenerator.cpp
Index
Unified diffs
Context diffs
Sdiffs
Wdiffs
Patch
New
Old
Previous File
Next File