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 314 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 BuildBinaryOp(javascript()->Divide(language_mode()), iterator); | 325 BuildBinaryOp(javascript()->Divide(language_mode()), iterator); |
326 } | 326 } |
327 | 327 |
328 | 328 |
329 void BytecodeGraphBuilder::VisitMod( | 329 void BytecodeGraphBuilder::VisitMod( |
330 const interpreter::BytecodeArrayIterator& iterator) { | 330 const interpreter::BytecodeArrayIterator& iterator) { |
331 BuildBinaryOp(javascript()->Modulus(language_mode()), iterator); | 331 BuildBinaryOp(javascript()->Modulus(language_mode()), iterator); |
332 } | 332 } |
333 | 333 |
334 | 334 |
| 335 void BytecodeGraphBuilder::VisitTestEqual( |
| 336 const interpreter::BytecodeArrayIterator& iterator) { |
| 337 UNIMPLEMENTED(); |
| 338 } |
| 339 |
| 340 |
| 341 void BytecodeGraphBuilder::VisitTestNotEqual( |
| 342 const interpreter::BytecodeArrayIterator& iterator) { |
| 343 UNIMPLEMENTED(); |
| 344 } |
| 345 |
| 346 |
| 347 void BytecodeGraphBuilder::VisitTestEqualStrict( |
| 348 const interpreter::BytecodeArrayIterator& iterator) { |
| 349 UNIMPLEMENTED(); |
| 350 } |
| 351 |
| 352 |
| 353 void BytecodeGraphBuilder::VisitTestNotEqualStrict( |
| 354 const interpreter::BytecodeArrayIterator& iterator) { |
| 355 UNIMPLEMENTED(); |
| 356 } |
| 357 |
| 358 |
| 359 void BytecodeGraphBuilder::VisitTestLessThan( |
| 360 const interpreter::BytecodeArrayIterator& iterator) { |
| 361 UNIMPLEMENTED(); |
| 362 } |
| 363 |
| 364 |
| 365 void BytecodeGraphBuilder::VisitTestGreaterThan( |
| 366 const interpreter::BytecodeArrayIterator& iterator) { |
| 367 UNIMPLEMENTED(); |
| 368 } |
| 369 |
| 370 |
| 371 void BytecodeGraphBuilder::VisitTestLessThanEqual( |
| 372 const interpreter::BytecodeArrayIterator& iterator) { |
| 373 UNIMPLEMENTED(); |
| 374 } |
| 375 |
| 376 |
| 377 void BytecodeGraphBuilder::VisitTestGreaterThanEqual( |
| 378 const interpreter::BytecodeArrayIterator& iterator) { |
| 379 UNIMPLEMENTED(); |
| 380 } |
| 381 |
| 382 |
| 383 void BytecodeGraphBuilder::VisitTestIn( |
| 384 const interpreter::BytecodeArrayIterator& iterator) { |
| 385 UNIMPLEMENTED(); |
| 386 } |
| 387 |
| 388 |
| 389 void BytecodeGraphBuilder::VisitTestInstanceOf( |
| 390 const interpreter::BytecodeArrayIterator& iterator) { |
| 391 UNIMPLEMENTED(); |
| 392 } |
| 393 |
| 394 |
| 395 void BytecodeGraphBuilder::VisitToBoolean( |
| 396 const interpreter::BytecodeArrayIterator& ToBoolean) { |
| 397 UNIMPLEMENTED(); |
| 398 } |
| 399 |
| 400 |
| 401 void BytecodeGraphBuilder::VisitJump( |
| 402 const interpreter::BytecodeArrayIterator& iterator) { |
| 403 UNIMPLEMENTED(); |
| 404 } |
| 405 |
| 406 |
| 407 void BytecodeGraphBuilder::VisitJumpConstant( |
| 408 const interpreter::BytecodeArrayIterator& iterator) { |
| 409 UNIMPLEMENTED(); |
| 410 } |
| 411 |
| 412 |
| 413 void BytecodeGraphBuilder::VisitJumpIfTrue( |
| 414 const interpreter::BytecodeArrayIterator& iterator) { |
| 415 UNIMPLEMENTED(); |
| 416 } |
| 417 |
| 418 |
| 419 void BytecodeGraphBuilder::VisitJumpIfTrueConstant( |
| 420 const interpreter::BytecodeArrayIterator& iterator) { |
| 421 UNIMPLEMENTED(); |
| 422 } |
| 423 |
| 424 |
| 425 void BytecodeGraphBuilder::VisitJumpIfFalse( |
| 426 const interpreter::BytecodeArrayIterator& iterator) { |
| 427 UNIMPLEMENTED(); |
| 428 } |
| 429 |
| 430 |
| 431 void BytecodeGraphBuilder::VisitJumpIfFalseConstant( |
| 432 const interpreter::BytecodeArrayIterator& iterator) { |
| 433 UNIMPLEMENTED(); |
| 434 } |
| 435 |
| 436 |
335 void BytecodeGraphBuilder::VisitReturn( | 437 void BytecodeGraphBuilder::VisitReturn( |
336 const interpreter::BytecodeArrayIterator& iterator) { | 438 const interpreter::BytecodeArrayIterator& iterator) { |
337 Node* control = | 439 Node* control = |
338 NewNode(common()->Return(), environment()->LookupAccumulator()); | 440 NewNode(common()->Return(), environment()->LookupAccumulator()); |
339 UpdateControlDependencyToLeaveFunction(control); | 441 UpdateControlDependencyToLeaveFunction(control); |
340 } | 442 } |
341 | 443 |
342 | 444 |
343 Node** BytecodeGraphBuilder::EnsureInputBufferSize(int size) { | 445 Node** BytecodeGraphBuilder::EnsureInputBufferSize(int size) { |
344 if (size > input_buffer_size_) { | 446 if (size > input_buffer_size_) { |
(...skipping 91 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
436 | 538 |
437 void BytecodeGraphBuilder::UpdateControlDependencyToLeaveFunction(Node* exit) { | 539 void BytecodeGraphBuilder::UpdateControlDependencyToLeaveFunction(Node* exit) { |
438 if (environment()->IsMarkedAsUnreachable()) return; | 540 if (environment()->IsMarkedAsUnreachable()) return; |
439 environment()->MarkAsUnreachable(); | 541 environment()->MarkAsUnreachable(); |
440 exit_controls_.push_back(exit); | 542 exit_controls_.push_back(exit); |
441 } | 543 } |
442 | 544 |
443 } // namespace compiler | 545 } // namespace compiler |
444 } // namespace internal | 546 } // namespace internal |
445 } // namespace v8 | 547 } // namespace v8 |
OLD | NEW |