Index: src/compiler.h |
diff --git a/src/compiler.h b/src/compiler.h |
index 2f47dceba3d673306d785dde400e9d40c5c9ac6a..390a1d8d1abe47e79d040643bc2389af5b218470 100644 |
--- a/src/compiler.h |
+++ b/src/compiler.h |
@@ -57,7 +57,7 @@ struct OffsetRange { |
// is constructed based on the resources available at compile-time. |
class CompilationInfo { |
public: |
- CompilationInfo(Handle<JSFunction> closure, Zone* zone, Zone* phase_zone); |
+ CompilationInfo(Handle<JSFunction> closure, Zone* zone); |
virtual ~CompilationInfo(); |
Isolate* isolate() { |
@@ -65,7 +65,6 @@ class CompilationInfo { |
return isolate_; |
} |
Zone* zone() { return zone_; } |
- Zone* phase_zone() { return phase_zone_; } |
bool is_lazy() const { return IsLazy::decode(flags_); } |
bool is_eval() const { return IsEval::decode(flags_); } |
bool is_global() const { return IsGlobal::decode(flags_); } |
@@ -303,15 +302,12 @@ class CompilationInfo { |
protected: |
CompilationInfo(Handle<Script> script, |
- Zone* zone, |
- Zone* phase_zone); |
+ Zone* zone); |
CompilationInfo(Handle<SharedFunctionInfo> shared_info, |
- Zone* zone, |
- Zone* phase_zone); |
+ Zone* zone); |
CompilationInfo(HydrogenCodeStub* stub, |
Isolate* isolate, |
- Zone* zone, |
- Zone* phase_zone); |
+ Zone* zone); |
private: |
Isolate* isolate_; |
@@ -329,7 +325,7 @@ class CompilationInfo { |
DEPENDENCY_CHANGE_ABORT |
}; |
- void Initialize(Isolate* isolate, Mode mode, Zone* zone, Zone* phase_zone); |
+ void Initialize(Isolate* isolate, Mode mode, Zone* zone); |
void SetMode(Mode mode) { |
ASSERT(V8::UseCrankshaft()); |
@@ -403,9 +399,6 @@ class CompilationInfo { |
// The zone from which the compilation pipeline working on this |
// CompilationInfo allocates. |
Zone* zone_; |
- // The phase zone where allocations local to a specific phase are |
- // performed; be aware that this zone is cleared after each phase |
- Zone* phase_zone_; |
DeferredHandles* deferred_handles_; |
@@ -440,21 +433,17 @@ class CompilationInfo { |
class CompilationInfoWithZone: public CompilationInfo { |
public: |
explicit CompilationInfoWithZone(Handle<Script> script) |
- : CompilationInfo(script, &zone_, &phase_zone_), |
- zone_(script->GetIsolate()), |
- phase_zone_(script->GetIsolate()) {} |
+ : CompilationInfo(script, &zone_), |
+ zone_(script->GetIsolate()) {} |
explicit CompilationInfoWithZone(Handle<SharedFunctionInfo> shared_info) |
- : CompilationInfo(shared_info, &zone_, &phase_zone_), |
- zone_(shared_info->GetIsolate()), |
- phase_zone_(shared_info->GetIsolate()) {} |
+ : CompilationInfo(shared_info, &zone_), |
+ zone_(shared_info->GetIsolate()) {} |
explicit CompilationInfoWithZone(Handle<JSFunction> closure) |
- : CompilationInfo(closure, &zone_, &phase_zone_), |
- zone_(closure->GetIsolate()), |
- phase_zone_(closure->GetIsolate()) {} |
+ : CompilationInfo(closure, &zone_), |
+ zone_(closure->GetIsolate()) {} |
CompilationInfoWithZone(HydrogenCodeStub* stub, Isolate* isolate) |
- : CompilationInfo(stub, isolate, &zone_, &phase_zone_), |
- zone_(isolate), |
- phase_zone_(isolate) {} |
+ : CompilationInfo(stub, isolate, &zone_), |
+ zone_(isolate) {} |
// Virtual destructor because a CompilationInfoWithZone has to exit the |
// zone scope and get rid of dependent maps even when the destructor is |
@@ -465,7 +454,6 @@ class CompilationInfoWithZone: public CompilationInfo { |
private: |
Zone zone_; |
- Zone phase_zone_; |
}; |
@@ -631,21 +619,21 @@ class Compiler : public AllStatic { |
class CompilationPhase BASE_EMBEDDED { |
public: |
- CompilationPhase(const char* name, Isolate* isolate, Zone* zone); |
+ CompilationPhase(const char* name, CompilationInfo* info); |
~CompilationPhase(); |
protected: |
bool ShouldProduceTraceOutput() const; |
const char* name() const { return name_; } |
- Isolate* isolate() const { return isolate_; } |
- Zone* zone() const { return zone_; } |
+ Isolate* isolate() const { return info_->isolate(); } |
+ Zone* zone() { return &zone_; } |
private: |
const char* name_; |
- Isolate* isolate_; |
- Zone* zone_; |
- unsigned start_allocation_size_; |
+ CompilationInfo* info_; |
+ Zone zone_; |
+ unsigned info_zone_start_allocation_size_; |
int64_t start_ticks_; |
DISALLOW_COPY_AND_ASSIGN(CompilationPhase); |