| OLD | NEW | 
|---|
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. | 
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be | 
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. | 
| 4 | 4 | 
| 5 #ifndef V8_COMPILER_H_ | 5 #ifndef V8_COMPILER_H_ | 
| 6 #define V8_COMPILER_H_ | 6 #define V8_COMPILER_H_ | 
| 7 | 7 | 
| 8 #include "src/allocation.h" | 8 #include "src/allocation.h" | 
| 9 #include "src/ast.h" | 9 #include "src/ast.h" | 
| 10 #include "src/zone.h" | 10 #include "src/zone.h" | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 56 | 56 | 
| 57   DISALLOW_COPY_AND_ASSIGN(ScriptData); | 57   DISALLOW_COPY_AND_ASSIGN(ScriptData); | 
| 58 }; | 58 }; | 
| 59 | 59 | 
| 60 | 60 | 
| 61 // CompilationInfo encapsulates some information known at compile time.  It | 61 // CompilationInfo encapsulates some information known at compile time.  It | 
| 62 // is constructed based on the resources available at compile-time. | 62 // is constructed based on the resources available at compile-time. | 
| 63 class CompilationInfo { | 63 class CompilationInfo { | 
| 64  public: | 64  public: | 
| 65   CompilationInfo(Handle<JSFunction> closure, Zone* zone); | 65   CompilationInfo(Handle<JSFunction> closure, Zone* zone); | 
|  | 66   CompilationInfo(Isolate* isolate, Zone* zone); | 
| 66   virtual ~CompilationInfo(); | 67   virtual ~CompilationInfo(); | 
| 67 | 68 | 
| 68   Isolate* isolate() const { | 69   Isolate* isolate() const { | 
| 69     return isolate_; | 70     return isolate_; | 
| 70   } | 71   } | 
| 71   Zone* zone() { return zone_; } | 72   Zone* zone() { return zone_; } | 
| 72   bool is_osr() const { return !osr_ast_id_.IsNone(); } | 73   bool is_osr() const { return !osr_ast_id_.IsNone(); } | 
| 73   bool is_lazy() const { return IsLazy::decode(flags_); } | 74   bool is_lazy() const { return IsLazy::decode(flags_); } | 
| 74   bool is_eval() const { return IsEval::decode(flags_); } | 75   bool is_eval() const { return IsEval::decode(flags_); } | 
| 75   bool is_global() const { return IsGlobal::decode(flags_); } | 76   bool is_global() const { return IsGlobal::decode(flags_); } | 
| (...skipping 308 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 384   enum Mode { | 385   enum Mode { | 
| 385     BASE, | 386     BASE, | 
| 386     OPTIMIZE, | 387     OPTIMIZE, | 
| 387     NONOPT, | 388     NONOPT, | 
| 388     STUB | 389     STUB | 
| 389   }; | 390   }; | 
| 390 | 391 | 
| 391   void Initialize(Isolate* isolate, Mode mode, Zone* zone); | 392   void Initialize(Isolate* isolate, Mode mode, Zone* zone); | 
| 392 | 393 | 
| 393   void SetMode(Mode mode) { | 394   void SetMode(Mode mode) { | 
| 394     ASSERT(isolate()->use_crankshaft()); |  | 
| 395     mode_ = mode; | 395     mode_ = mode; | 
| 396   } | 396   } | 
| 397 | 397 | 
| 398   // Flags using template class BitField<type, start, length>.  All are | 398   // Flags using template class BitField<type, start, length>.  All are | 
| 399   // false by default. | 399   // false by default. | 
| 400   // | 400   // | 
| 401   // Compilation is either eager or lazy. | 401   // Compilation is either eager or lazy. | 
| 402   class IsLazy:   public BitField<bool, 0, 1> {}; | 402   class IsLazy:   public BitField<bool, 0, 1> {}; | 
| 403   // Flags that can be set for eager compilation. | 403   // Flags that can be set for eager compilation. | 
| 404   class IsEval:   public BitField<bool, 1, 1> {}; | 404   class IsEval:   public BitField<bool, 1, 1> {}; | 
| (...skipping 331 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 736   Zone zone_; | 736   Zone zone_; | 
| 737   unsigned info_zone_start_allocation_size_; | 737   unsigned info_zone_start_allocation_size_; | 
| 738   base::ElapsedTimer timer_; | 738   base::ElapsedTimer timer_; | 
| 739 | 739 | 
| 740   DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 740   DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 
| 741 }; | 741 }; | 
| 742 | 742 | 
| 743 } }  // namespace v8::internal | 743 } }  // namespace v8::internal | 
| 744 | 744 | 
| 745 #endif  // V8_COMPILER_H_ | 745 #endif  // V8_COMPILER_H_ | 
| OLD | NEW | 
|---|