| 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_LITHIUM_H_ | 5 #ifndef V8_LITHIUM_H_ | 
| 6 #define V8_LITHIUM_H_ | 6 #define V8_LITHIUM_H_ | 
| 7 | 7 | 
| 8 #include <set> | 8 #include <set> | 
| 9 | 9 | 
| 10 #include "allocation.h" | 10 #include "allocation.h" | 
| (...skipping 634 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 645     inlined_closures_.Add(closure, zone()); | 645     inlined_closures_.Add(closure, zone()); | 
| 646   } | 646   } | 
| 647 | 647 | 
| 648   void AddDeprecationDependency(Handle<Map> map) { | 648   void AddDeprecationDependency(Handle<Map> map) { | 
| 649     ASSERT(!map->is_deprecated()); | 649     ASSERT(!map->is_deprecated()); | 
| 650     if (!map->CanBeDeprecated()) return; | 650     if (!map->CanBeDeprecated()) return; | 
| 651     ASSERT(!info_->IsStub()); | 651     ASSERT(!info_->IsStub()); | 
| 652     deprecation_dependencies_.insert(map); | 652     deprecation_dependencies_.insert(map); | 
| 653   } | 653   } | 
| 654 | 654 | 
|  | 655   void AddStabilityDependency(Handle<Map> map) { | 
|  | 656     ASSERT(map->is_stable()); | 
|  | 657     if (!map->CanTransition()) return; | 
|  | 658     ASSERT(!info_->IsStub()); | 
|  | 659     stability_dependencies_.insert(map); | 
|  | 660   } | 
|  | 661 | 
| 655   Zone* zone() const { return info_->zone(); } | 662   Zone* zone() const { return info_->zone(); } | 
| 656 | 663 | 
| 657   Handle<Code> Codegen(); | 664   Handle<Code> Codegen(); | 
| 658 | 665 | 
| 659   void set_allocated_double_registers(BitVector* allocated_registers); | 666   void set_allocated_double_registers(BitVector* allocated_registers); | 
| 660   BitVector* allocated_double_registers() { | 667   BitVector* allocated_double_registers() { | 
| 661     return allocated_double_registers_; | 668     return allocated_double_registers_; | 
| 662   } | 669   } | 
| 663 | 670 | 
| 664  protected: | 671  protected: | 
| 665   LChunk(CompilationInfo* info, HGraph* graph); | 672   LChunk(CompilationInfo* info, HGraph* graph); | 
| 666 | 673 | 
| 667   int spill_slot_count_; | 674   int spill_slot_count_; | 
| 668 | 675 | 
| 669  private: | 676  private: | 
| 670   typedef std::less<Handle<Map> > MapLess; | 677   typedef std::less<Handle<Map> > MapLess; | 
| 671   typedef zone_allocator<Handle<Map> > MapAllocator; | 678   typedef zone_allocator<Handle<Map> > MapAllocator; | 
| 672   typedef std::set<Handle<Map>, MapLess, MapAllocator> MapSet; | 679   typedef std::set<Handle<Map>, MapLess, MapAllocator> MapSet; | 
| 673 | 680 | 
| 674   void CommitDependencies(Handle<Code> code) const; | 681   void CommitDependencies(Handle<Code> code) const; | 
| 675 | 682 | 
| 676   CompilationInfo* info_; | 683   CompilationInfo* info_; | 
| 677   HGraph* const graph_; | 684   HGraph* const graph_; | 
| 678   BitVector* allocated_double_registers_; | 685   BitVector* allocated_double_registers_; | 
| 679   ZoneList<LInstruction*> instructions_; | 686   ZoneList<LInstruction*> instructions_; | 
| 680   ZoneList<LPointerMap*> pointer_maps_; | 687   ZoneList<LPointerMap*> pointer_maps_; | 
| 681   ZoneList<Handle<JSFunction> > inlined_closures_; | 688   ZoneList<Handle<JSFunction> > inlined_closures_; | 
| 682   MapSet deprecation_dependencies_; | 689   MapSet deprecation_dependencies_; | 
|  | 690   MapSet stability_dependencies_; | 
| 683 }; | 691 }; | 
| 684 | 692 | 
| 685 | 693 | 
| 686 class LChunkBuilderBase BASE_EMBEDDED { | 694 class LChunkBuilderBase BASE_EMBEDDED { | 
| 687  public: | 695  public: | 
| 688   explicit LChunkBuilderBase(Zone* zone) | 696   explicit LChunkBuilderBase(Zone* zone) | 
| 689       : argument_count_(0), | 697       : argument_count_(0), | 
| 690         zone_(zone) { } | 698         zone_(zone) { } | 
| 691 | 699 | 
| 692   virtual ~LChunkBuilderBase() { } | 700   virtual ~LChunkBuilderBase() { } | 
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 730  private: | 738  private: | 
| 731   LChunk* chunk_; | 739   LChunk* chunk_; | 
| 732 | 740 | 
| 733   DISALLOW_COPY_AND_ASSIGN(LPhase); | 741   DISALLOW_COPY_AND_ASSIGN(LPhase); | 
| 734 }; | 742 }; | 
| 735 | 743 | 
| 736 | 744 | 
| 737 } }  // namespace v8::internal | 745 } }  // namespace v8::internal | 
| 738 | 746 | 
| 739 #endif  // V8_LITHIUM_H_ | 747 #endif  // V8_LITHIUM_H_ | 
| OLD | NEW | 
|---|