Commit 3144d1f1 authored by mbrandy's avatar mbrandy Committed by Commit bot

PPC: [interpreter] Add basic framework for bytecode handler code generation.

Port 7877c4e0

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.

R=rmcilroy@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1250723003

Cr-Commit-Position: refs/heads/master@{#29822}
parent 1a57cede
......@@ -17,6 +17,8 @@ struct PPCLinkageHelperTraits {
static Register ReturnValue2Reg() { return r4; }
static Register JSCallFunctionReg() { return r4; }
static Register ContextReg() { return cp; }
static Register InterpreterBytecodePointerReg() { return r14; }
static Register InterpreterDispatchTableReg() { return r15; }
static Register RuntimeCallFunctionReg() { return r4; }
static Register RuntimeCallArgCountReg() { return r3; }
static RegList CCalleeSaveRegisters() {
......@@ -68,9 +70,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
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment