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

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: Address feedback 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
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 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 HConstant* GetConstantUndefined() const { return undefined_constant_.get(); } 326 HConstant* GetConstantUndefined() const { return undefined_constant_.get(); }
327 HConstant* GetConstant0(); 327 HConstant* GetConstant0();
328 HConstant* GetConstant1(); 328 HConstant* GetConstant1();
329 HConstant* GetConstantMinus1(); 329 HConstant* GetConstantMinus1();
330 HConstant* GetConstantTrue(); 330 HConstant* GetConstantTrue();
331 HConstant* GetConstantFalse(); 331 HConstant* GetConstantFalse();
332 HConstant* GetConstantHole(); 332 HConstant* GetConstantHole();
333 HConstant* GetConstantNull(); 333 HConstant* GetConstantNull();
334 HConstant* GetInvalidContext(); 334 HConstant* GetInvalidContext();
335 335
336 bool IsStandardConstant(HConstant* constant);
337
336 HBasicBlock* CreateBasicBlock(); 338 HBasicBlock* CreateBasicBlock();
337 HArgumentsObject* GetArgumentsObject() const { 339 HArgumentsObject* GetArgumentsObject() const {
338 return arguments_object_.get(); 340 return arguments_object_.get();
339 } 341 }
340 342
341 void SetArgumentsObject(HArgumentsObject* object) { 343 void SetArgumentsObject(HArgumentsObject* object) {
342 arguments_object_.set(object); 344 arguments_object_.set(object);
343 } 345 }
344 346
345 int GetMaximumValueID() const { return values_.length(); } 347 int GetMaximumValueID() const { return values_.length(); }
(...skipping 778 matching lines...) Expand 10 before | Expand all | Expand 10 after
1124 Representation representation = Representation::Tagged()); 1126 Representation representation = Representation::Tagged());
1125 1127
1126 HStoreNamedField* AddStoreMapConstant(HValue *object, Handle<Map>); 1128 HStoreNamedField* AddStoreMapConstant(HValue *object, Handle<Map>);
1127 1129
1128 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL); 1130 HLoadNamedField* AddLoadElements(HValue *object, HValue *typecheck = NULL);
1129 1131
1130 HLoadNamedField* AddLoadFixedArrayLength(HValue *object); 1132 HLoadNamedField* AddLoadFixedArrayLength(HValue *object);
1131 1133
1132 HValue* AddLoadJSBuiltin(Builtins::JavaScript builtin, HContext* context); 1134 HValue* AddLoadJSBuiltin(Builtins::JavaScript builtin, HContext* context);
1133 1135
1134 void AddSoftDeoptimize(); 1136 enum SoftDeoptimizeMode {
1137 MUST_EMIT_SOFT_DEOPT,
1138 CAN_OMIT_SOFT_DEOPT
1139 };
1140
1141 void AddSoftDeoptimize(SoftDeoptimizeMode mode = CAN_OMIT_SOFT_DEOPT);
1135 1142
1136 class IfBuilder { 1143 class IfBuilder {
1137 public: 1144 public:
1138 explicit IfBuilder(HGraphBuilder* builder, 1145 explicit IfBuilder(HGraphBuilder* builder,
1139 int position = RelocInfo::kNoPosition); 1146 int position = RelocInfo::kNoPosition);
1140 IfBuilder(HGraphBuilder* builder, 1147 IfBuilder(HGraphBuilder* builder,
1141 HIfContinuation* continuation); 1148 HIfContinuation* continuation);
1142 1149
1143 ~IfBuilder() { 1150 ~IfBuilder() {
1144 if (!finished_) End(); 1151 if (!finished_) End();
(...skipping 956 matching lines...) Expand 10 before | Expand all | Expand 10 after
2101 EmbeddedVector<char, 64> filename_; 2108 EmbeddedVector<char, 64> filename_;
2102 HeapStringAllocator string_allocator_; 2109 HeapStringAllocator string_allocator_;
2103 StringStream trace_; 2110 StringStream trace_;
2104 int indent_; 2111 int indent_;
2105 }; 2112 };
2106 2113
2107 2114
2108 } } // namespace v8::internal 2115 } } // namespace v8::internal
2109 2116
2110 #endif // V8_HYDROGEN_H_ 2117 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/heap.cc ('k') | src/hydrogen.cc » ('j') | src/x64/lithium-gap-resolver-x64.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698