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

Side by Side Diff: src/lithium.h

Issue 1145893003: [crankshaft] Record inlined shared function infos instead of closures. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix test failures. Created 5 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 "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after
646 void AddGapMove(int index, LOperand* from, LOperand* to); 646 void AddGapMove(int index, LOperand* from, LOperand* to);
647 LGap* GetGapAt(int index) const; 647 LGap* GetGapAt(int index) const;
648 bool IsGapAt(int index) const; 648 bool IsGapAt(int index) const;
649 int NearestGapPos(int index) const; 649 int NearestGapPos(int index) const;
650 void MarkEmptyBlocks(); 650 void MarkEmptyBlocks();
651 const ZoneList<LPointerMap*>* pointer_maps() const { return &pointer_maps_; } 651 const ZoneList<LPointerMap*>* pointer_maps() const { return &pointer_maps_; }
652 LLabel* GetLabel(int block_id) const; 652 LLabel* GetLabel(int block_id) const;
653 int LookupDestination(int block_id) const; 653 int LookupDestination(int block_id) const;
654 Label* GetAssemblyLabel(int block_id) const; 654 Label* GetAssemblyLabel(int block_id) const;
655 655
656 const ZoneList<Handle<JSFunction> >* inlined_closures() const { 656 const ZoneList<Handle<SharedFunctionInfo>>& inlined_functions() const {
657 return &inlined_closures_; 657 return inlined_functions_;
658 } 658 }
659 659
660 void AddInlinedClosure(Handle<JSFunction> closure) { 660 void AddInlinedFunction(Handle<SharedFunctionInfo> closure) {
661 inlined_closures_.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_.insert(map);
669 } 669 }
670 670
671 void AddStabilityDependency(Handle<Map> map) { 671 void AddStabilityDependency(Handle<Map> map) {
(...skipping 23 matching lines...) Expand all
695 typedef std::set<Handle<Map>, MapLess, MapAllocator> MapSet; 695 typedef std::set<Handle<Map>, MapLess, MapAllocator> MapSet;
696 696
697 void RegisterWeakObjectsInOptimizedCode(Handle<Code> code) const; 697 void RegisterWeakObjectsInOptimizedCode(Handle<Code> code) const;
698 void CommitDependencies(Handle<Code> code) const; 698 void CommitDependencies(Handle<Code> code) const;
699 699
700 CompilationInfo* info_; 700 CompilationInfo* info_;
701 HGraph* const graph_; 701 HGraph* const graph_;
702 BitVector* allocated_double_registers_; 702 BitVector* allocated_double_registers_;
703 ZoneList<LInstruction*> instructions_; 703 ZoneList<LInstruction*> instructions_;
704 ZoneList<LPointerMap*> pointer_maps_; 704 ZoneList<LPointerMap*> pointer_maps_;
705 ZoneList<Handle<JSFunction> > inlined_closures_; 705 ZoneList<Handle<SharedFunctionInfo>> inlined_functions_;
706 MapSet deprecation_dependencies_; 706 MapSet deprecation_dependencies_;
707 MapSet stability_dependencies_; 707 MapSet stability_dependencies_;
708 }; 708 };
709 709
710 710
711 class LChunkBuilderBase BASE_EMBEDDED { 711 class LChunkBuilderBase BASE_EMBEDDED {
712 public: 712 public:
713 explicit LChunkBuilderBase(CompilationInfo* info, HGraph* graph) 713 explicit LChunkBuilderBase(CompilationInfo* info, HGraph* graph)
714 : argument_count_(0), 714 : argument_count_(0),
715 chunk_(NULL), 715 chunk_(NULL),
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
835 private: 835 private:
836 InputIterator input_iterator_; 836 InputIterator input_iterator_;
837 DeepIterator env_iterator_; 837 DeepIterator env_iterator_;
838 }; 838 };
839 839
840 class LInstruction; 840 class LInstruction;
841 class LCodeGen; 841 class LCodeGen;
842 } } // namespace v8::internal 842 } } // namespace v8::internal
843 843
844 #endif // V8_LITHIUM_H_ 844 #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