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

Side by Side Diff: src/lithium.h

Issue 295743002: Refactor transitioning stores. (Closed) Base URL: git@github.com:v8/v8.git@master
Patch Set: Created 6 years, 7 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/ia32/lithium-ia32.cc ('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 "allocation.h" 10 #include "allocation.h"
(...skipping 632 matching lines...) Expand 10 before | Expand all | Expand 10 after
643 Label* GetAssemblyLabel(int block_id) const; 643 Label* GetAssemblyLabel(int block_id) const;
644 644
645 const ZoneList<Handle<JSFunction> >* inlined_closures() const { 645 const ZoneList<Handle<JSFunction> >* inlined_closures() const {
646 return &inlined_closures_; 646 return &inlined_closures_;
647 } 647 }
648 648
649 void AddInlinedClosure(Handle<JSFunction> closure) { 649 void AddInlinedClosure(Handle<JSFunction> closure) {
650 inlined_closures_.Add(closure, zone()); 650 inlined_closures_.Add(closure, zone());
651 } 651 }
652 652
653 void AddDeprecationDependency(Handle<Map> map) {
654 ASSERT(!map->is_deprecated());
655 if (!map->CanBeDeprecated()) return;
656 ASSERT(!info_->IsStub());
657 deprecation_dependencies_.insert(map);
658 }
659
660 void AddStabilityDependency(Handle<Map> map) { 653 void AddStabilityDependency(Handle<Map> map) {
661 ASSERT(map->is_stable()); 654 ASSERT(map->is_stable());
662 if (!map->CanTransition()) return; 655 if (!map->CanTransition()) return;
663 ASSERT(!info_->IsStub()); 656 ASSERT(!info_->IsStub());
664 stability_dependencies_.insert(map); 657 stability_dependencies_.insert(map);
665 } 658 }
666 659
667 Zone* zone() const { return info_->zone(); } 660 Zone* zone() const { return info_->zone(); }
668 661
669 Handle<Code> Codegen(); 662 Handle<Code> Codegen();
(...skipping 14 matching lines...) Expand all
684 typedef std::set<Handle<Map>, MapLess, MapAllocator> MapSet; 677 typedef std::set<Handle<Map>, MapLess, MapAllocator> MapSet;
685 678
686 void CommitDependencies(Handle<Code> code) const; 679 void CommitDependencies(Handle<Code> code) const;
687 680
688 CompilationInfo* info_; 681 CompilationInfo* info_;
689 HGraph* const graph_; 682 HGraph* const graph_;
690 BitVector* allocated_double_registers_; 683 BitVector* allocated_double_registers_;
691 ZoneList<LInstruction*> instructions_; 684 ZoneList<LInstruction*> instructions_;
692 ZoneList<LPointerMap*> pointer_maps_; 685 ZoneList<LPointerMap*> pointer_maps_;
693 ZoneList<Handle<JSFunction> > inlined_closures_; 686 ZoneList<Handle<JSFunction> > inlined_closures_;
694 MapSet deprecation_dependencies_;
695 MapSet stability_dependencies_; 687 MapSet stability_dependencies_;
696 }; 688 };
697 689
698 690
699 class LChunkBuilderBase BASE_EMBEDDED { 691 class LChunkBuilderBase BASE_EMBEDDED {
700 public: 692 public:
701 explicit LChunkBuilderBase(Zone* zone) 693 explicit LChunkBuilderBase(Zone* zone)
702 : argument_count_(0), 694 : argument_count_(0),
703 zone_(zone) { } 695 zone_(zone) { }
704 696
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 private: 735 private:
744 LChunk* chunk_; 736 LChunk* chunk_;
745 737
746 DISALLOW_COPY_AND_ASSIGN(LPhase); 738 DISALLOW_COPY_AND_ASSIGN(LPhase);
747 }; 739 };
748 740
749 741
750 } } // namespace v8::internal 742 } } // namespace v8::internal
751 743
752 #endif // V8_LITHIUM_H_ 744 #endif // V8_LITHIUM_H_
OLDNEW
« no previous file with comments | « src/ia32/lithium-ia32.cc ('k') | src/lithium.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698