Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(258)

Side by Side Diff: src/lithium.h

Issue 1214573004: [crankshaft] Remove adventurous operator< for Handle<Map>. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/handles.h ('k') | src/lithium.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 647 matching lines...) Expand 10 before | Expand all | Expand 10 after
658 } 658 }
659 659
660 void AddInlinedFunction(Handle<SharedFunctionInfo> closure) { 660 void AddInlinedFunction(Handle<SharedFunctionInfo> closure) {
661 inlined_functions_.Add(closure, zone()); 661 inlined_functions_.Add(closure, zone());
662 } 662 }
663 663
664 void AddDeprecationDependency(Handle<Map> map) { 664 void AddDeprecationDependency(Handle<Map> map) {
665 DCHECK(!map->is_deprecated()); 665 DCHECK(!map->is_deprecated());
666 if (!map->CanBeDeprecated()) return; 666 if (!map->CanBeDeprecated()) return;
667 DCHECK(!info_->IsStub()); 667 DCHECK(!info_->IsStub());
668 deprecation_dependencies_.insert(map); 668 deprecation_dependencies_.Add(map, zone());
669 } 669 }
670 670
671 void AddStabilityDependency(Handle<Map> map) { 671 void AddStabilityDependency(Handle<Map> map) {
672 DCHECK(map->is_stable()); 672 DCHECK(map->is_stable());
673 if (!map->CanTransition()) return; 673 if (!map->CanTransition()) return;
674 DCHECK(!info_->IsStub()); 674 DCHECK(!info_->IsStub());
675 stability_dependencies_.insert(map); 675 stability_dependencies_.Add(map, zone());
676 } 676 }
677 677
678 Zone* zone() const { return info_->zone(); } 678 Zone* zone() const { return info_->zone(); }
679 679
680 Handle<Code> Codegen(); 680 Handle<Code> Codegen();
681 681
682 void set_allocated_double_registers(BitVector* allocated_registers); 682 void set_allocated_double_registers(BitVector* allocated_registers);
683 BitVector* allocated_double_registers() { 683 BitVector* allocated_double_registers() {
684 return allocated_double_registers_; 684 return allocated_double_registers_;
685 } 685 }
686 686
687 protected: 687 protected:
688 LChunk(CompilationInfo* info, HGraph* graph); 688 LChunk(CompilationInfo* info, HGraph* graph);
689 689
690 int spill_slot_count_; 690 int spill_slot_count_;
691 691
692 private: 692 private:
693 typedef std::less<Handle<Map> > MapLess;
694 typedef zone_allocator<Handle<Map> > MapAllocator;
695 typedef std::set<Handle<Map>, MapLess, MapAllocator> MapSet;
696
697 void RegisterWeakObjectsInOptimizedCode(Handle<Code> code) const; 693 void RegisterWeakObjectsInOptimizedCode(Handle<Code> code) const;
698 void CommitDependencies(Handle<Code> code) const; 694 void CommitDependencies(Handle<Code> code) const;
699 695
700 CompilationInfo* info_; 696 CompilationInfo* info_;
701 HGraph* const graph_; 697 HGraph* const graph_;
702 BitVector* allocated_double_registers_; 698 BitVector* allocated_double_registers_;
703 ZoneList<LInstruction*> instructions_; 699 ZoneList<LInstruction*> instructions_;
704 ZoneList<LPointerMap*> pointer_maps_; 700 ZoneList<LPointerMap*> pointer_maps_;
705 ZoneList<Handle<SharedFunctionInfo>> inlined_functions_; 701 ZoneList<Handle<SharedFunctionInfo>> inlined_functions_;
706 MapSet deprecation_dependencies_; 702 ZoneList<Handle<Map>> deprecation_dependencies_;
707 MapSet stability_dependencies_; 703 ZoneList<Handle<Map>> stability_dependencies_;
708 }; 704 };
709 705
710 706
711 class LChunkBuilderBase BASE_EMBEDDED { 707 class LChunkBuilderBase BASE_EMBEDDED {
712 public: 708 public:
713 explicit LChunkBuilderBase(CompilationInfo* info, HGraph* graph) 709 explicit LChunkBuilderBase(CompilationInfo* info, HGraph* graph)
714 : argument_count_(0), 710 : argument_count_(0),
715 chunk_(NULL), 711 chunk_(NULL),
716 info_(info), 712 info_(info),
717 graph_(graph), 713 graph_(graph),
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
835 private: 831 private:
836 InputIterator input_iterator_; 832 InputIterator input_iterator_;
837 DeepIterator env_iterator_; 833 DeepIterator env_iterator_;
838 }; 834 };
839 835
840 class LInstruction; 836 class LInstruction;
841 class LCodeGen; 837 class LCodeGen;
842 } } // namespace v8::internal 838 } } // namespace v8::internal
843 839
844 #endif // V8_LITHIUM_H_ 840 #endif // V8_LITHIUM_H_
OLDNEW
« no previous file with comments | « src/handles.h ('k') | src/lithium.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698