X87: [interpreter] Add basic framework for bytecode handler code generation.
port 7877c4e0c7
(r29814).
original commit message:
Adds basic support for generation of interpreter bytecode handler code
snippets. The InterpreterAssembler class exposes a set of low level,
interpreter specific operations which can be used to build a Turbofan
graph. The Interpreter class generates a bytecode handler snippet for
each bytecode by assembling operations using an InterpreterAssembler.
Currently only two simple bytecodes are supported: LoadLiteral0 and Return.
BUG=
Review URL: https://codereview.chromium.org/1256783002
Cr-Commit-Position: refs/heads/master@{#29838}
This commit is contained in:
parent
2571c69dcb
commit
c4cd117e2d
@ -17,6 +17,8 @@ struct X87LinkageHelperTraits {
|
||||
static Register ReturnValue2Reg() { return edx; }
|
||||
static Register JSCallFunctionReg() { return edi; }
|
||||
static Register ContextReg() { return esi; }
|
||||
static Register InterpreterBytecodePointerReg() { return edi; }
|
||||
static Register InterpreterDispatchTableReg() { return ebx; }
|
||||
static Register RuntimeCallFunctionReg() { return ebx; }
|
||||
static Register RuntimeCallArgCountReg() { return eax; }
|
||||
static RegList CCalleeSaveRegisters() {
|
||||
@ -61,9 +63,8 @@ CallDescriptor* Linkage::GetSimplifiedCDescriptor(Zone* zone,
|
||||
}
|
||||
|
||||
|
||||
CallDescriptor* Linkage::GetInterpreterDispatchDescriptor(
|
||||
Zone* zone, const MachineSignature* sig) {
|
||||
return LH::GetInterpreterDispatchDescriptor(zone, sig);
|
||||
CallDescriptor* Linkage::GetInterpreterDispatchDescriptor(Zone* zone) {
|
||||
return LH::GetInterpreterDispatchDescriptor(zone);
|
||||
}
|
||||
|
||||
} // namespace compiler
|
||||
|
Loading…
Reference in New Issue
Block a user