Index: src/compiler.h |
diff --git a/src/compiler.h b/src/compiler.h |
index d655571362469bc091ad0e8a5acf1126cd06944d..a1f27b862c155b4b01e0643dc337ff89a7fbbaa6 100644 |
--- a/src/compiler.h |
+++ b/src/compiler.h |
@@ -173,6 +173,9 @@ class CompilationInfo { |
parameter_count_ = parameter_count; |
} |
+ bool has_bytecode_array() const { return !bytecode_array_.is_null(); } |
+ Handle<BytecodeArray> bytecode_array() const { return bytecode_array_; } |
+ |
bool is_tracking_positions() const { return track_positions_; } |
bool is_calling() const { |
@@ -274,6 +277,10 @@ class CompilationInfo { |
} |
void SetCode(Handle<Code> code) { code_ = code; } |
+ void SetBytecodeArray(Handle<BytecodeArray> bytecode_array) { |
+ bytecode_array_ = bytecode_array; |
+ } |
+ |
bool ShouldTrapOnDeopt() const { |
return (FLAG_trap_on_deopt && IsOptimizing()) || |
(FLAG_trap_on_stub_deopt && IsStub()); |
@@ -459,6 +466,11 @@ class CompilationInfo { |
// data. Keep track which code we patched. |
Handle<Code> unoptimized_code_; |
+ // Holds the bytecode array generated by the interpreter. |
+ // TODO(rmcilroy/mstarzinger): Temporary work-around until compiler.cc is |
+ // refactored to avoid us needing to carry the BytcodeArray around. |
+ Handle<BytecodeArray> bytecode_array_; |
+ |
// The zone from which the compilation pipeline working on this |
// CompilationInfo allocates. |
Zone* zone_; |