Chromium Code Reviews| Index: src/compiler/code-generator.h |
| diff --git a/src/compiler/code-generator.h b/src/compiler/code-generator.h |
| index b900e699d93d28ac1ab71dc1b4401927dd873ab5..e9339f67c7b81b276154600cb9da6e2a381e4576 100644 |
| --- a/src/compiler/code-generator.h |
| +++ b/src/compiler/code-generator.h |
| @@ -54,7 +54,7 @@ class CodeGenerator final : public GapResolver::Assembler { |
| InstructionSequence* code() const { return code_; } |
| FrameAccessState* frame_access_state() const { return frame_access_state_; } |
| - Frame* frame() const { return frame_access_state_->frame(); } |
| + const Frame* frame() const { return frame_access_state_->frame(); } |
| Isolate* isolate() const { return info_->isolate(); } |
| Linkage* linkage() const { return linkage_; } |
| @@ -67,6 +67,14 @@ class CodeGenerator final : public GapResolver::Assembler { |
| Zone* zone() const { return code()->zone(); } |
| CompilationInfo* info() const { return info_; } |
| + // Create the FrameAccessState object. The Frame is immutable from here on. |
| + void CreateFrameAccessState(Frame* frame) { |
| + FinishFrame(frame); |
| + frame_access_state_ = new (code()->zone()) FrameAccessState(frame); |
|
danno
2016/04/01 15:56:26
The body of this shouldn't be inline.
|
| + } |
| + // Architecture - specific frame finalization. |
| + void FinishFrame(Frame* frame); |
| + |
| // Checks if {block} will appear directly after {current_block_} when |
| // assembling code, in which case, a fall-through can be used. |
| bool IsNextInAssemblyOrder(RpoNumber block) const; |
| @@ -105,9 +113,7 @@ class CodeGenerator final : public GapResolver::Assembler { |
| // Generates an architecture-specific, descriptor-specific prologue |
| // to set up a stack frame. |
| - void AssemblePrologue(); |
| - |
| - void AssembleSetupStackPointer(); |
| + void AssembleConstructFrame(); |
| // Generates an architecture-specific, descriptor-specific return sequence |
| // to tear down a stack frame. |