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

Side by Side Diff: src/hydrogen.h

Issue 24366004: Split HCompareGeneric in a test and a branch part. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years, 2 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 1191 matching lines...) Expand 10 before | Expand all | Expand 10 after
1202 1202
1203 template<class I, class P1, class P2, class P3, class P4, 1203 template<class I, class P1, class P2, class P3, class P4,
1204 class P5, class P6, class P7, class P8> 1204 class P5, class P6, class P7, class P8>
1205 I* Add(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) { 1205 I* Add(P1 p1, P2 p2, P3 p3, P4 p4, P5 p5, P6 p6, P7 p7, P8 p8) {
1206 return I::cast( 1206 return I::cast(
1207 AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5, p6, p7, p8))); 1207 AddInstruction(NewUncasted<I>(p1, p2, p3, p4, p5, p6, p7, p8)));
1208 } 1208 }
1209 1209
1210 void AddSimulate(BailoutId id, RemovableSimulate removable = FIXED_SIMULATE); 1210 void AddSimulate(BailoutId id, RemovableSimulate removable = FIXED_SIMULATE);
1211 1211
1212 HAndBranch* AndBranch(HInstruction* pluggable,
titzer 2013/10/10 14:05:25 Need a better name than "pluggable"
1213 Token::Value condition,
1214 BailoutId bailout_id) {
1215 ASSERT(pluggable->IsLinked());
1216 if (pluggable->HasObservableSideEffects()) {
1217 Push(pluggable);
1218 AddSimulate(bailout_id, REMOVABLE_SIMULATE);
1219 return New<HAndBranch>(Pop(), condition);
1220 }
1221 return New<HAndBranch>(pluggable, condition);
1222 }
1223
1224
1212 protected: 1225 protected:
1213 virtual bool BuildGraph() = 0; 1226 virtual bool BuildGraph() = 0;
1214 1227
1215 HBasicBlock* CreateBasicBlock(HEnvironment* env); 1228 HBasicBlock* CreateBasicBlock(HEnvironment* env);
1216 HBasicBlock* CreateLoopHeaderBlock(); 1229 HBasicBlock* CreateLoopHeaderBlock();
1217 1230
1218 HValue* BuildCheckHeapObject(HValue* object); 1231 HValue* BuildCheckHeapObject(HValue* object);
1219 HValue* BuildCheckMap(HValue* obj, Handle<Map> map); 1232 HValue* BuildCheckMap(HValue* obj, Handle<Map> map);
1220 HValue* BuildWrapReceiver(HValue* object, HValue* function); 1233 HValue* BuildWrapReceiver(HValue* object, HValue* function);
1221 1234
(...skipping 1231 matching lines...) Expand 10 before | Expand all | Expand 10 after
2453 } 2466 }
2454 2467
2455 private: 2468 private:
2456 HGraphBuilder* builder_; 2469 HGraphBuilder* builder_;
2457 }; 2470 };
2458 2471
2459 2472
2460 } } // namespace v8::internal 2473 } } // namespace v8::internal
2461 2474
2462 #endif // V8_HYDROGEN_H_ 2475 #endif // V8_HYDROGEN_H_
OLDNEW
« no previous file with comments | « src/full-codegen.cc ('k') | src/hydrogen.cc » ('j') | src/ia32/lithium-codegen-ia32.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698