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

Side by Side Diff: src/interpreter/interpreter.cc

Issue 2577913003: [turbofan] Combine family of CallStub() methods into single implementation. (Closed)
Patch Set: Addressing comments Created 4 years 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
« no previous file with comments | « src/fast-accessor-assembler.cc ('k') | src/interpreter/interpreter-assembler.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 2015 the V8 project authors. All rights reserved. 1 // Copyright 2015 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/interpreter/interpreter.h" 5 #include "src/interpreter/interpreter.h"
6 6
7 #include <fstream> 7 #include <fstream>
8 #include <memory> 8 #include <memory>
9 9
10 #include "src/ast/prettyprinter.h" 10 #include "src/ast/prettyprinter.h"
(...skipping 1342 matching lines...) Expand 10 before | Expand all | Expand 10 after
1353 var_result.Bind(__ BitcastWordToTaggedSigned(__ Projection(0, pair))); 1353 var_result.Bind(__ BitcastWordToTaggedSigned(__ Projection(0, pair)));
1354 __ Goto(&end); 1354 __ Goto(&end);
1355 } 1355 }
1356 } 1356 }
1357 __ Bind(&slowpath); 1357 __ Bind(&slowpath);
1358 { 1358 {
1359 Node* context = __ GetContext(); 1359 Node* context = __ GetContext();
1360 AddWithFeedbackStub stub(__ isolate()); 1360 AddWithFeedbackStub stub(__ isolate());
1361 Callable callable = 1361 Callable callable =
1362 Callable(stub.GetCode(), AddWithFeedbackStub::Descriptor(__ isolate())); 1362 Callable(stub.GetCode(), AddWithFeedbackStub::Descriptor(__ isolate()));
1363 Node* args[] = {left, right, __ TruncateWordToWord32(slot_index), 1363 var_result.Bind(__ CallStub(callable, context, left, right,
1364 type_feedback_vector, context}; 1364 __ TruncateWordToWord32(slot_index),
1365 var_result.Bind(__ CallStubN(callable, args, 1)); 1365 type_feedback_vector));
1366 __ Goto(&end); 1366 __ Goto(&end);
1367 } 1367 }
1368 __ Bind(&end); 1368 __ Bind(&end);
1369 { 1369 {
1370 __ SetAccumulator(var_result.value()); 1370 __ SetAccumulator(var_result.value());
1371 __ Dispatch(); 1371 __ Dispatch();
1372 } 1372 }
1373 } 1373 }
1374 1374
1375 // SubSmi <imm> <reg> 1375 // SubSmi <imm> <reg>
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
1407 var_result.Bind(__ BitcastWordToTaggedSigned(__ Projection(0, pair))); 1407 var_result.Bind(__ BitcastWordToTaggedSigned(__ Projection(0, pair)));
1408 __ Goto(&end); 1408 __ Goto(&end);
1409 } 1409 }
1410 } 1410 }
1411 __ Bind(&slowpath); 1411 __ Bind(&slowpath);
1412 { 1412 {
1413 Node* context = __ GetContext(); 1413 Node* context = __ GetContext();
1414 SubtractWithFeedbackStub stub(__ isolate()); 1414 SubtractWithFeedbackStub stub(__ isolate());
1415 Callable callable = Callable( 1415 Callable callable = Callable(
1416 stub.GetCode(), SubtractWithFeedbackStub::Descriptor(__ isolate())); 1416 stub.GetCode(), SubtractWithFeedbackStub::Descriptor(__ isolate()));
1417 Node* args[] = {left, right, __ TruncateWordToWord32(slot_index), 1417 var_result.Bind(__ CallStub(callable, context, left, right,
1418 type_feedback_vector, context}; 1418 __ TruncateWordToWord32(slot_index),
1419 var_result.Bind(__ CallStubN(callable, args, 1)); 1419 type_feedback_vector));
1420 __ Goto(&end); 1420 __ Goto(&end);
1421 } 1421 }
1422 __ Bind(&end); 1422 __ Bind(&end);
1423 { 1423 {
1424 __ SetAccumulator(var_result.value()); 1424 __ SetAccumulator(var_result.value());
1425 __ Dispatch(); 1425 __ Dispatch();
1426 } 1426 }
1427 } 1427 }
1428 1428
1429 // BitwiseOr <imm> <reg> 1429 // BitwiseOr <imm> <reg>
(...skipping 1426 matching lines...) Expand 10 before | Expand all | Expand 10 after
2856 __ StoreObjectField(generator, JSGeneratorObject::kContinuationOffset, 2856 __ StoreObjectField(generator, JSGeneratorObject::kContinuationOffset,
2857 __ SmiTag(new_state)); 2857 __ SmiTag(new_state));
2858 __ SetAccumulator(old_state); 2858 __ SetAccumulator(old_state);
2859 2859
2860 __ Dispatch(); 2860 __ Dispatch();
2861 } 2861 }
2862 2862
2863 } // namespace interpreter 2863 } // namespace interpreter
2864 } // namespace internal 2864 } // namespace internal
2865 } // namespace v8 2865 } // namespace v8
OLDNEW
« no previous file with comments | « src/fast-accessor-assembler.cc ('k') | src/interpreter/interpreter-assembler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698