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

Side by Side Diff: src/hydrogen.h

Issue 16925008: Generate StoreGlobal stubs with Hydrogen (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Use pointer -> handle trampoline Created 7 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 | Annotate | Revision Log
« no previous file with comments | « src/heap.cc ('k') | src/hydrogen.cc » ('j') | src/objects.cc » ('J')
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 // 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 314 matching lines...) Expand 10 before | Expand all | Expand 10 after
325 HConstant* GetConstantUndefined() const { return undefined_constant_.get(); } 325 HConstant* GetConstantUndefined() const { return undefined_constant_.get(); }
326 HConstant* GetConstant0(); 326 HConstant* GetConstant0();
327 HConstant* GetConstant1(); 327 HConstant* GetConstant1();
328 HConstant* GetConstantMinus1(); 328 HConstant* GetConstantMinus1();
329 HConstant* GetConstantTrue(); 329 HConstant* GetConstantTrue();
330 HConstant* GetConstantFalse(); 330 HConstant* GetConstantFalse();
331 HConstant* GetConstantHole(); 331 HConstant* GetConstantHole();
332 HConstant* GetConstantNull(); 332 HConstant* GetConstantNull();
333 HConstant* GetInvalidContext(); 333 HConstant* GetInvalidContext();
334 334
335 bool IsStandardConstant(HConstant* constant);
336
335 HBasicBlock* CreateBasicBlock(); 337 HBasicBlock* CreateBasicBlock();
336 HArgumentsObject* GetArgumentsObject() const { 338 HArgumentsObject* GetArgumentsObject() const {
337 return arguments_object_.get(); 339 return arguments_object_.get();
338 } 340 }
339 341
340 void SetArgumentsObject(HArgumentsObject* object) { 342 void SetArgumentsObject(HArgumentsObject* object) {
341 arguments_object_.set(object); 343 arguments_object_.set(object);
342 } 344 }
343 345
344 int GetMaximumValueID() const { return values_.length(); } 346 int GetMaximumValueID() const { return values_.length(); }
(...skipping 785 matching lines...) Expand 10 before | Expand all | Expand 10 after
1130 HObjectAccess access, 1132 HObjectAccess access,
1131 HValue *val, 1133 HValue *val,
1132 Representation representation = Representation::Tagged()); 1134 Representation representation = Representation::Tagged());
1133 1135
1134 HStoreNamedField* AddStoreMapConstant(HValue *object, Handle<Map>); 1136 HStoreNamedField* AddStoreMapConstant(HValue *object, Handle<Map>);
1135 1137
1136 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL); 1138 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL);
1137 1139
1138 HLoadNamedField* AddLoadFixedArrayLength(HValue *object); 1140 HLoadNamedField* AddLoadFixedArrayLength(HValue *object);
1139 1141
1140 void AddSoftDeoptimize(); 1142 enum SoftDeoptimizeMode {
1143 MUST_EMIT_SOFT_DEOPT,
1144 CAN_OMIT_SOFT_DEOPT
1145 };
1146
1147 void AddSoftDeoptimize(SoftDeoptimizeMode mode = CAN_OMIT_SOFT_DEOPT);
1141 1148
1142 class IfBuilder { 1149 class IfBuilder {
1143 public: 1150 public:
1144 explicit IfBuilder(HGraphBuilder* builder, 1151 explicit IfBuilder(HGraphBuilder* builder,
1145 int position = RelocInfo::kNoPosition); 1152 int position = RelocInfo::kNoPosition);
1146 IfBuilder(HGraphBuilder* builder, 1153 IfBuilder(HGraphBuilder* builder,
1147 HIfContinuation* continuation); 1154 HIfContinuation* continuation);
1148 1155
1149 ~IfBuilder() { 1156 ~IfBuilder() {
1150 if (!finished_) End(); 1157 if (!finished_) End();
(...skipping 956 matching lines...) Expand 10 before | Expand all | Expand 10 after
2107 EmbeddedVector<char, 64> filename_; 2114 EmbeddedVector<char, 64> filename_;
2108 HeapStringAllocator string_allocator_; 2115 HeapStringAllocator string_allocator_;
2109 StringStream trace_; 2116 StringStream trace_;
2110 int indent_; 2117 int indent_;
2111 }; 2118 };
2112 2119
2113 2120
2114 } } // namespace v8::internal 2121 } } // namespace v8::internal
2115 2122
2116 #endif // V8_HYDROGEN_H_ 2123 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/hydrogen.cc » ('j') | src/objects.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698