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

Side by Side Diff: src/hydrogen.h

Issue 6597029: [Isolates] Merge r 6300:6500 from bleeding_edge to isolates. (Closed) Base URL: http://v8.googlecode.com/svn/branches/experimental/isolates/
Patch Set: Created 9 years, 10 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 | Annotate | Revision Log
« no previous file with comments | « src/heap.cc ('k') | src/hydrogen.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 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after
289 private: 289 private:
290 ZoneList<BreakContinueInfo*> break_continue_info_; 290 ZoneList<BreakContinueInfo*> break_continue_info_;
291 }; 291 };
292 292
293 293
294 class HGraph: public HSubgraph { 294 class HGraph: public HSubgraph {
295 public: 295 public:
296 explicit HGraph(CompilationInfo* info); 296 explicit HGraph(CompilationInfo* info);
297 297
298 CompilationInfo* info() const { return info_; } 298 CompilationInfo* info() const { return info_; }
299
300 bool AllowCodeMotion() const;
301
299 const ZoneList<HBasicBlock*>* blocks() const { return &blocks_; } 302 const ZoneList<HBasicBlock*>* blocks() const { return &blocks_; }
300 const ZoneList<HPhi*>* phi_list() const { return phi_list_; } 303 const ZoneList<HPhi*>* phi_list() const { return phi_list_; }
301 Handle<String> debug_name() const { return info_->function()->debug_name(); } 304 Handle<String> debug_name() const { return info_->function()->debug_name(); }
302 HEnvironment* start_environment() const { return start_environment_; } 305 HEnvironment* start_environment() const { return start_environment_; }
303 306
304 void InitializeInferredTypes(); 307 void InitializeInferredTypes();
305 void InsertTypeConversions(); 308 void InsertTypeConversions();
306 void InsertRepresentationChanges(); 309 void InsertRepresentationChanges();
307 bool ProcessArgumentsObject(); 310 bool ProcessArgumentsObject();
308 void EliminateRedundantPhis(); 311 void EliminateRedundantPhis();
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 FunctionLiteral* function); 741 FunctionLiteral* function);
739 742
740 // Helpers for flow graph construction. 743 // Helpers for flow graph construction.
741 void LookupGlobalPropertyCell(Variable* var, 744 void LookupGlobalPropertyCell(Variable* var,
742 LookupResult* lookup, 745 LookupResult* lookup,
743 bool is_store); 746 bool is_store);
744 747
745 bool TryArgumentsAccess(Property* expr); 748 bool TryArgumentsAccess(Property* expr);
746 bool TryCallApply(Call* expr); 749 bool TryCallApply(Call* expr);
747 bool TryInline(Call* expr); 750 bool TryInline(Call* expr);
748 bool TryMathFunctionInline(Call* expr); 751 bool TryInlineBuiltinFunction(Call* expr,
752 HValue* receiver,
753 Handle<Map> receiver_map,
754 CheckType check_type);
749 void TraceInline(Handle<JSFunction> target, bool result); 755 void TraceInline(Handle<JSFunction> target, bool result);
750 756
751 void HandleGlobalVariableAssignment(Variable* var, 757 void HandleGlobalVariableAssignment(Variable* var,
752 HValue* value, 758 HValue* value,
753 int position, 759 int position,
754 int ast_id); 760 int ast_id);
755 761
756 void HandlePropertyAssignment(Assignment* expr); 762 void HandlePropertyAssignment(Assignment* expr);
757 void HandleCompoundAssignment(Assignment* expr); 763 void HandleCompoundAssignment(Assignment* expr);
758 void HandlePolymorphicLoadNamedField(Property* expr, 764 void HandlePolymorphicLoadNamedField(Property* expr,
759 HValue* object, 765 HValue* object,
760 ZoneMapList* types, 766 ZoneMapList* types,
761 Handle<String> name); 767 Handle<String> name);
762 void HandlePolymorphicStoreNamedField(Assignment* expr, 768 void HandlePolymorphicStoreNamedField(Assignment* expr,
763 HValue* object, 769 HValue* object,
764 HValue* value, 770 HValue* value,
765 ZoneMapList* types, 771 ZoneMapList* types,
766 Handle<String> name); 772 Handle<String> name);
767 void HandlePolymorphicCallNamed(Call* expr, 773 void HandlePolymorphicCallNamed(Call* expr,
768 HValue* receiver, 774 HValue* receiver,
769 ZoneMapList* types, 775 ZoneMapList* types,
770 Handle<String> name); 776 Handle<String> name);
771 777
778 HStringCharCodeAt* BuildStringCharCodeAt(HValue* string,
779 HValue* index);
772 HInstruction* BuildBinaryOperation(BinaryOperation* expr, 780 HInstruction* BuildBinaryOperation(BinaryOperation* expr,
773 HValue* left, 781 HValue* left,
774 HValue* right); 782 HValue* right);
775 HInstruction* BuildIncrement(HValue* value, bool increment); 783 HInstruction* BuildIncrement(HValue* value, bool increment);
776 HLoadNamedField* BuildLoadNamedField(HValue* object, 784 HLoadNamedField* BuildLoadNamedField(HValue* object,
777 Property* expr, 785 Property* expr,
778 Handle<Map> type, 786 Handle<Map> type,
779 LookupResult* result, 787 LookupResult* result,
780 bool smi_and_map_check); 788 bool smi_and_map_check);
781 HInstruction* BuildLoadNamedGeneric(HValue* object, Property* expr); 789 HInstruction* BuildLoadNamedGeneric(HValue* object, Property* expr);
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
1057 const char* filename_; 1065 const char* filename_;
1058 HeapStringAllocator string_allocator_; 1066 HeapStringAllocator string_allocator_;
1059 StringStream trace_; 1067 StringStream trace_;
1060 int indent_; 1068 int indent_;
1061 }; 1069 };
1062 1070
1063 1071
1064 } } // namespace v8::internal 1072 } } // namespace v8::internal
1065 1073
1066 #endif // V8_HYDROGEN_H_ 1074 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698