mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 22:34:27 +02:00
8049325: Introduce and clean up umbrella headers for the files in the cpu subdirectories
Introduce and clean up umbrella headers for the files in the cpu subdirectories. Reviewed-by: lfoltan, coleenp, dholmes
This commit is contained in:
parent
6db67f9317
commit
25f33c005d
154 changed files with 637 additions and 1175 deletions
|
@ -30,6 +30,7 @@
|
|||
#include "interpreter/bytecodeInterpreter.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "interpreter/interpreterRuntime.hpp"
|
||||
#include "interpreter/interp_masm.hpp"
|
||||
#include "interpreter/templateTable.hpp"
|
||||
#include "memory/allocation.inline.hpp"
|
||||
#include "memory/resourceArea.hpp"
|
||||
|
@ -80,9 +81,35 @@ void InterpreterCodelet::print_on(outputStream* st) const {
|
|||
}
|
||||
}
|
||||
|
||||
CodeletMark::CodeletMark(InterpreterMacroAssembler*& masm,
|
||||
const char* description,
|
||||
Bytecodes::Code bytecode) :
|
||||
_clet((InterpreterCodelet*)AbstractInterpreter::code()->request(codelet_size())),
|
||||
_cb(_clet->code_begin(), _clet->code_size()) {
|
||||
// Request all space (add some slack for Codelet data).
|
||||
assert(_clet != NULL, "we checked not enough space already");
|
||||
|
||||
// Initialize Codelet attributes.
|
||||
_clet->initialize(description, bytecode);
|
||||
// Create assembler for code generation.
|
||||
masm = new InterpreterMacroAssembler(&_cb);
|
||||
_masm = &masm;
|
||||
}
|
||||
|
||||
CodeletMark::~CodeletMark() {
|
||||
// Align so printing shows nop's instead of random code at the end (Codelets are aligned).
|
||||
(*_masm)->align(wordSize);
|
||||
// Make sure all code is in code buffer.
|
||||
(*_masm)->flush();
|
||||
|
||||
// Commit Codelet.
|
||||
AbstractInterpreter::code()->commit((*_masm)->code()->pure_insts_size(), (*_masm)->code()->strings());
|
||||
// Make sure nobody can use _masm outside a CodeletMark lifespan.
|
||||
*_masm = NULL;
|
||||
}
|
||||
|
||||
//------------------------------------------------------------------------------------------------------------------------
|
||||
// Implementation of platform independent aspects of Interpreter
|
||||
// Implementation of platform independent aspects of Interpreter
|
||||
|
||||
void AbstractInterpreter::initialize() {
|
||||
if (_code != NULL) return;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue