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

Side by Side Diff: src/hydrogen.h

Issue 22562002: Convert FastNewClosureStub into hydrogen. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: REBASE Created 7 years, 4 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 1399 matching lines...) Expand 10 before | Expand all | Expand 10 after
1410 enum Direction { 1410 enum Direction {
1411 kPreIncrement, 1411 kPreIncrement,
1412 kPostIncrement, 1412 kPostIncrement,
1413 kPreDecrement, 1413 kPreDecrement,
1414 kPostDecrement 1414 kPostDecrement
1415 }; 1415 };
1416 1416
1417 LoopBuilder(HGraphBuilder* builder, 1417 LoopBuilder(HGraphBuilder* builder,
1418 HValue* context, 1418 HValue* context,
1419 Direction direction); 1419 Direction direction);
1420 LoopBuilder(HGraphBuilder* builder,
1421 HValue* context,
1422 Direction direction,
1423 HValue* increment_amount);
1424
1420 ~LoopBuilder() { 1425 ~LoopBuilder() {
1421 ASSERT(finished_); 1426 ASSERT(finished_);
1422 } 1427 }
1423 1428
1424 HValue* BeginBody( 1429 HValue* BeginBody(
1425 HValue* initial, 1430 HValue* initial,
1426 HValue* terminating, 1431 HValue* terminating,
1427 Token::Value token); 1432 Token::Value token);
1433
1434 void Break();
1435
1428 void EndBody(); 1436 void EndBody();
1429 1437
1430 private: 1438 private:
1431 Zone* zone() { return builder_->zone(); } 1439 Zone* zone() { return builder_->zone(); }
1432 1440
1433 HGraphBuilder* builder_; 1441 HGraphBuilder* builder_;
1434 HValue* context_; 1442 HValue* context_;
1443 HValue* increment_amount_;
1435 HInstruction* increment_; 1444 HInstruction* increment_;
1436 HPhi* phi_; 1445 HPhi* phi_;
1437 HBasicBlock* header_block_; 1446 HBasicBlock* header_block_;
1438 HBasicBlock* body_block_; 1447 HBasicBlock* body_block_;
1439 HBasicBlock* exit_block_; 1448 HBasicBlock* exit_block_;
1449 HBasicBlock* exit_trampoline_block_;
1440 Direction direction_; 1450 Direction direction_;
1441 bool finished_; 1451 bool finished_;
1442 }; 1452 };
1443 1453
1444 class NoObservableSideEffectsScope { 1454 class NoObservableSideEffectsScope {
1445 public: 1455 public:
1446 explicit NoObservableSideEffectsScope(HGraphBuilder* builder) : 1456 explicit NoObservableSideEffectsScope(HGraphBuilder* builder) :
1447 builder_(builder) { 1457 builder_(builder) {
1448 builder_->IncrementInNoSideEffectsScope(); 1458 builder_->IncrementInNoSideEffectsScope();
1449 } 1459 }
(...skipping 875 matching lines...) Expand 10 before | Expand all | Expand 10 after
2325 EmbeddedVector<char, 64> filename_; 2335 EmbeddedVector<char, 64> filename_;
2326 HeapStringAllocator string_allocator_; 2336 HeapStringAllocator string_allocator_;
2327 StringStream trace_; 2337 StringStream trace_;
2328 int indent_; 2338 int indent_;
2329 }; 2339 };
2330 2340
2331 2341
2332 } } // namespace v8::internal 2342 } } // namespace v8::internal
2333 2343
2334 #endif // V8_HYDROGEN_H_ 2344 #endif // V8_HYDROGEN_H_
OLDNEW
« src/code-stubs-hydrogen.cc ('K') | « src/code-stubs-hydrogen.cc ('k') | src/hydrogen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698