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. |