| 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/bailout-reason.h" | 10 #include "src/bailout-reason.h" | 
| (...skipping 12 matching lines...) Expand all  Loading... | 
| 23   ONLY_SINGLE_FUNCTION_LITERAL  // Only a single FunctionLiteral expression. | 23   ONLY_SINGLE_FUNCTION_LITERAL  // Only a single FunctionLiteral expression. | 
| 24 }; | 24 }; | 
| 25 | 25 | 
| 26 struct OffsetRange { | 26 struct OffsetRange { | 
| 27   OffsetRange(int from, int to) : from(from), to(to) {} | 27   OffsetRange(int from, int to) : from(from), to(to) {} | 
| 28   int from; | 28   int from; | 
| 29   int to; | 29   int to; | 
| 30 }; | 30 }; | 
| 31 | 31 | 
| 32 | 32 | 
|  | 33 class InlinedFunctionInfo { | 
|  | 34  public: | 
|  | 35   explicit InlinedFunctionInfo(Handle<SharedFunctionInfo> shared) | 
|  | 36       : shared_(shared), start_position_(shared->start_position()) {} | 
|  | 37 | 
|  | 38   Handle<SharedFunctionInfo> shared() const { return shared_; } | 
|  | 39   int start_position() const { return start_position_; } | 
|  | 40 | 
|  | 41  private: | 
|  | 42   Handle<SharedFunctionInfo> shared_; | 
|  | 43   int start_position_; | 
|  | 44 }; | 
|  | 45 | 
|  | 46 | 
| 33 class ScriptData { | 47 class ScriptData { | 
| 34  public: | 48  public: | 
| 35   ScriptData(const byte* data, int length); | 49   ScriptData(const byte* data, int length); | 
| 36   ~ScriptData() { | 50   ~ScriptData() { | 
| 37     if (owns_data_) DeleteArray(data_); | 51     if (owns_data_) DeleteArray(data_); | 
| 38   } | 52   } | 
| 39 | 53 | 
| 40   const byte* data() const { return data_; } | 54   const byte* data() const { return data_; } | 
| 41   int length() const { return length_; } | 55   int length() const { return length_; } | 
| 42   bool rejected() const { return rejected_; } | 56   bool rejected() const { return rejected_; } | 
| (...skipping 333 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 376   inline void AddNoFrameRange(int from, int to) { | 390   inline void AddNoFrameRange(int from, int to) { | 
| 377     if (no_frame_ranges_) no_frame_ranges_->Add(OffsetRange(from, to)); | 391     if (no_frame_ranges_) no_frame_ranges_->Add(OffsetRange(from, to)); | 
| 378   } | 392   } | 
| 379 | 393 | 
| 380   List<OffsetRange>* ReleaseNoFrameRanges() { | 394   List<OffsetRange>* ReleaseNoFrameRanges() { | 
| 381     List<OffsetRange>* result = no_frame_ranges_; | 395     List<OffsetRange>* result = no_frame_ranges_; | 
| 382     no_frame_ranges_ = NULL; | 396     no_frame_ranges_ = NULL; | 
| 383     return result; | 397     return result; | 
| 384   } | 398   } | 
| 385 | 399 | 
|  | 400   List<InlinedFunctionInfo>* inlined_function_infos() { | 
|  | 401     return inlined_function_infos_; | 
|  | 402   } | 
|  | 403   List<int>* inlining_id_to_function_id() { | 
|  | 404     return inlining_id_to_function_id_; | 
|  | 405   } | 
|  | 406   int TraceInlinedFunction(Handle<SharedFunctionInfo> shared, int raw_position); | 
|  | 407 | 
| 386   Handle<Foreign> object_wrapper() { | 408   Handle<Foreign> object_wrapper() { | 
| 387     if (object_wrapper_.is_null()) { | 409     if (object_wrapper_.is_null()) { | 
| 388       object_wrapper_ = | 410       object_wrapper_ = | 
| 389           isolate()->factory()->NewForeign(reinterpret_cast<Address>(this)); | 411           isolate()->factory()->NewForeign(reinterpret_cast<Address>(this)); | 
| 390     } | 412     } | 
| 391     return object_wrapper_; | 413     return object_wrapper_; | 
| 392   } | 414   } | 
| 393 | 415 | 
| 394   void AbortDueToDependencyChange() { | 416   void AbortDueToDependencyChange() { | 
| 395     DCHECK(!OptimizingCompilerThread::IsOptimizerThread(isolate())); | 417     DCHECK(!OptimizingCompilerThread::IsOptimizerThread(isolate())); | 
| (...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 519       Handle<T> handle(*(*object)); | 541       Handle<T> handle(*(*object)); | 
| 520       *object = handle; | 542       *object = handle; | 
| 521     } | 543     } | 
| 522   } | 544   } | 
| 523 | 545 | 
| 524   BailoutReason bailout_reason_; | 546   BailoutReason bailout_reason_; | 
| 525 | 547 | 
| 526   int prologue_offset_; | 548   int prologue_offset_; | 
| 527 | 549 | 
| 528   List<OffsetRange>* no_frame_ranges_; | 550   List<OffsetRange>* no_frame_ranges_; | 
|  | 551   List<InlinedFunctionInfo>* inlined_function_infos_; | 
|  | 552   List<int>* inlining_id_to_function_id_; | 
| 529 | 553 | 
| 530   // A copy of shared_info()->opt_count() to avoid handle deref | 554   // A copy of shared_info()->opt_count() to avoid handle deref | 
| 531   // during graph optimization. | 555   // during graph optimization. | 
| 532   int opt_count_; | 556   int opt_count_; | 
| 533 | 557 | 
| 534   // Number of parameters used for compilation of stubs that require arguments. | 558   // Number of parameters used for compilation of stubs that require arguments. | 
| 535   int parameter_count_; | 559   int parameter_count_; | 
| 536 | 560 | 
| 537   Handle<Foreign> object_wrapper_; | 561   Handle<Foreign> object_wrapper_; | 
| 538 | 562 | 
| (...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 776   Zone zone_; | 800   Zone zone_; | 
| 777   size_t info_zone_start_allocation_size_; | 801   size_t info_zone_start_allocation_size_; | 
| 778   base::ElapsedTimer timer_; | 802   base::ElapsedTimer timer_; | 
| 779 | 803 | 
| 780   DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 804   DISALLOW_COPY_AND_ASSIGN(CompilationPhase); | 
| 781 }; | 805 }; | 
| 782 | 806 | 
| 783 } }  // namespace v8::internal | 807 } }  // namespace v8::internal | 
| 784 | 808 | 
| 785 #endif  // V8_COMPILER_H_ | 809 #endif  // V8_COMPILER_H_ | 
| OLD | NEW | 
|---|