OLD | NEW |
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/compiler/bytecode-graph-builder.h" | 5 #include "src/compiler/bytecode-graph-builder.h" |
6 | 6 |
7 #include "src/compiler/linkage.h" | 7 #include "src/compiler/linkage.h" |
8 #include "src/compiler/operator-properties.h" | 8 #include "src/compiler/operator-properties.h" |
9 #include "src/interpreter/bytecode-array-iterator.h" | 9 #include "src/interpreter/bytecode-array-iterator.h" |
10 | 10 |
(...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
355 BuildBinaryOp(javascript()->Divide(language_mode()), iterator); | 355 BuildBinaryOp(javascript()->Divide(language_mode()), iterator); |
356 } | 356 } |
357 | 357 |
358 | 358 |
359 void BytecodeGraphBuilder::VisitMod( | 359 void BytecodeGraphBuilder::VisitMod( |
360 const interpreter::BytecodeArrayIterator& iterator) { | 360 const interpreter::BytecodeArrayIterator& iterator) { |
361 BuildBinaryOp(javascript()->Modulus(language_mode()), iterator); | 361 BuildBinaryOp(javascript()->Modulus(language_mode()), iterator); |
362 } | 362 } |
363 | 363 |
364 | 364 |
| 365 void BytecodeGraphBuilder::VisitShiftLeft( |
| 366 const interpreter::BytecodeArrayIterator& iterator) { |
| 367 BuildBinaryOp(javascript()->ShiftLeft(language_mode()), iterator); |
| 368 } |
| 369 |
| 370 |
| 371 void BytecodeGraphBuilder::VisitShiftRight( |
| 372 const interpreter::BytecodeArrayIterator& iterator) { |
| 373 BuildBinaryOp(javascript()->ShiftRight(language_mode()), iterator); |
| 374 } |
| 375 |
| 376 |
| 377 void BytecodeGraphBuilder::VisitShiftRightLogical( |
| 378 const interpreter::BytecodeArrayIterator& iterator) { |
| 379 BuildBinaryOp(javascript()->ShiftRightLogical(language_mode()), iterator); |
| 380 } |
| 381 |
| 382 |
365 void BytecodeGraphBuilder::VisitLogicalNot( | 383 void BytecodeGraphBuilder::VisitLogicalNot( |
366 const interpreter::BytecodeArrayIterator& iterator) { | 384 const interpreter::BytecodeArrayIterator& iterator) { |
367 UNIMPLEMENTED(); | 385 UNIMPLEMENTED(); |
368 } | 386 } |
369 | 387 |
370 | 388 |
371 void BytecodeGraphBuilder::VisitTypeOf( | 389 void BytecodeGraphBuilder::VisitTypeOf( |
372 const interpreter::BytecodeArrayIterator& iterator) { | 390 const interpreter::BytecodeArrayIterator& iterator) { |
373 UNIMPLEMENTED(); | 391 UNIMPLEMENTED(); |
374 } | 392 } |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
580 | 598 |
581 void BytecodeGraphBuilder::UpdateControlDependencyToLeaveFunction(Node* exit) { | 599 void BytecodeGraphBuilder::UpdateControlDependencyToLeaveFunction(Node* exit) { |
582 if (environment()->IsMarkedAsUnreachable()) return; | 600 if (environment()->IsMarkedAsUnreachable()) return; |
583 environment()->MarkAsUnreachable(); | 601 environment()->MarkAsUnreachable(); |
584 exit_controls_.push_back(exit); | 602 exit_controls_.push_back(exit); |
585 } | 603 } |
586 | 604 |
587 } // namespace compiler | 605 } // namespace compiler |
588 } // namespace internal | 606 } // namespace internal |
589 } // namespace v8 | 607 } // namespace v8 |
OLD | NEW |