Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #ifndef VM_CONSTANTS_DBC_H_ | 5 #ifndef VM_CONSTANTS_DBC_H_ |
| 6 #define VM_CONSTANTS_DBC_H_ | 6 #define VM_CONSTANTS_DBC_H_ |
| 7 | 7 |
| 8 #include "platform/globals.h" | 8 #include "platform/globals.h" |
| 9 #include "platform/assert.h" | 9 #include "platform/assert.h" |
| 10 #include "platform/utils.h" | 10 #include "platform/utils.h" |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 333 // catch handler. | 333 // catch handler. |
| 334 // | 334 // |
| 335 // - InstantiateType D | 335 // - InstantiateType D |
| 336 // | 336 // |
| 337 // Instantiate type PP[D] with instantiator type arguments SP[0]. | 337 // Instantiate type PP[D] with instantiator type arguments SP[0]. |
| 338 // | 338 // |
| 339 // - InstantiateTypeArgumentsTOS D | 339 // - InstantiateTypeArgumentsTOS D |
| 340 // | 340 // |
| 341 // Instantiate type arguments PP[D] with instantiator SP[0]. | 341 // Instantiate type arguments PP[D] with instantiator SP[0]. |
| 342 // | 342 // |
| 343 // - InstanceOf | |
| 344 // | |
| 345 // Test if instance SP[-3] with type arguments SP[-2] is a subtype of SP[-1] | |
| 346 // using SubtypeTestCache SP[0]. | |
| 347 // | |
| 343 // - AssertAssignable D | 348 // - AssertAssignable D |
| 344 // | 349 // |
| 345 // Assert that SP[-3] is assignable to variable named SP[0] of type | 350 // Assert that SP[-3] is assignable to variable named SP[0] of type |
| 346 // SP[-1] with type arguments SP[-2] using SubtypeTestCache PP[D]. | 351 // SP[-1] with type arguments SP[-2] using SubtypeTestCache PP[D]. |
| 347 // | 352 // |
| 348 // - AssertBoolean A | 353 // - AssertBoolean A |
| 349 // | 354 // |
| 350 // Assert that TOS is a boolean (A = 1) or that TOS is not null (A = 0). | 355 // Assert that TOS is a boolean (A = 1) or that TOS is not null (A = 0). |
| 351 // | 356 // |
| 352 // - CheckSmi rA | 357 // - CheckSmi rA |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 462 V(Shl, A_B_C, reg, reg, reg) \ | 467 V(Shl, A_B_C, reg, reg, reg) \ |
| 463 V(Shr, A_B_C, reg, reg, reg) \ | 468 V(Shr, A_B_C, reg, reg, reg) \ |
| 464 V(Neg, A_D, reg, reg, ___) \ | 469 V(Neg, A_D, reg, reg, ___) \ |
| 465 V(BitOr, A_B_C, reg, reg, reg) \ | 470 V(BitOr, A_B_C, reg, reg, reg) \ |
| 466 V(BitAnd, A_B_C, reg, reg, reg) \ | 471 V(BitAnd, A_B_C, reg, reg, reg) \ |
| 467 V(BitXor, A_B_C, reg, reg, reg) \ | 472 V(BitXor, A_B_C, reg, reg, reg) \ |
| 468 V(BitNot, A_D, reg, reg, ___) \ | 473 V(BitNot, A_D, reg, reg, ___) \ |
| 469 V(StoreStaticTOS, D, lit, ___, ___) \ | 474 V(StoreStaticTOS, D, lit, ___, ___) \ |
| 470 V(PushStatic, D, lit, ___, ___) \ | 475 V(PushStatic, D, lit, ___, ___) \ |
| 471 V(InitStaticTOS, 0, ___, ___, ___) \ | 476 V(InitStaticTOS, 0, ___, ___, ___) \ |
| 477 V(LogicalNot, 0, ___, ___, ___) \ | |
|
zra
2016/06/28 19:28:05
Already have BooleanNegate{TOS}.
rmacnak
2016/06/28 21:21:50
Ahh
| |
| 472 V(IfNeStrictTOS, 0, ___, ___, ___) \ | 478 V(IfNeStrictTOS, 0, ___, ___, ___) \ |
| 473 V(IfEqStrictTOS, 0, ___, ___, ___) \ | 479 V(IfEqStrictTOS, 0, ___, ___, ___) \ |
| 474 V(IfNeStrictNumTOS, 0, ___, ___, ___) \ | 480 V(IfNeStrictNumTOS, 0, ___, ___, ___) \ |
| 475 V(IfEqStrictNumTOS, 0, ___, ___, ___) \ | 481 V(IfEqStrictNumTOS, 0, ___, ___, ___) \ |
| 476 V(IfNeStrict, A_D, reg, reg, ___) \ | 482 V(IfNeStrict, A_D, reg, reg, ___) \ |
| 477 V(IfEqStrict, A_D, reg, reg, ___) \ | 483 V(IfEqStrict, A_D, reg, reg, ___) \ |
| 478 V(IfNeStrictNum, A_D, reg, reg, ___) \ | 484 V(IfNeStrictNum, A_D, reg, reg, ___) \ |
| 479 V(IfEqStrictNum, A_D, reg, reg, ___) \ | 485 V(IfEqStrictNum, A_D, reg, reg, ___) \ |
| 480 V(CreateArrayTOS, 0, ___, ___, ___) \ | 486 V(CreateArrayTOS, 0, ___, ___, ___) \ |
| 481 V(Allocate, D, lit, ___, ___) \ | 487 V(Allocate, D, lit, ___, ___) \ |
| 482 V(AllocateT, 0, ___, ___, ___) \ | 488 V(AllocateT, 0, ___, ___, ___) \ |
| 483 V(StoreIndexedTOS, 0, ___, ___, ___) \ | 489 V(StoreIndexedTOS, 0, ___, ___, ___) \ |
| 484 V(StoreIndexed, A_B_C, reg, reg, reg) \ | 490 V(StoreIndexed, A_B_C, reg, reg, reg) \ |
| 485 V(StoreField, A_B_C, reg, num, reg) \ | 491 V(StoreField, A_B_C, reg, num, reg) \ |
| 486 V(StoreFieldTOS, D, num, ___, ___) \ | 492 V(StoreFieldTOS, D, num, ___, ___) \ |
| 487 V(LoadField, A_B_C, reg, reg, num) \ | 493 V(LoadField, A_B_C, reg, reg, num) \ |
| 488 V(LoadFieldTOS, D, num, ___, ___) \ | 494 V(LoadFieldTOS, D, num, ___, ___) \ |
| 489 V(BooleanNegateTOS, 0, ___, ___, ___) \ | 495 V(BooleanNegateTOS, 0, ___, ___, ___) \ |
|
zra
2016/06/28 19:28:04
Here.
| |
| 490 V(BooleanNegate, A_D, reg, reg, ___) \ | 496 V(BooleanNegate, A_D, reg, reg, ___) \ |
| 491 V(Throw, A, num, ___, ___) \ | 497 V(Throw, A, num, ___, ___) \ |
| 492 V(Entry, A_B_C, num, num, num) \ | 498 V(Entry, A_B_C, num, num, num) \ |
| 493 V(EntryOptional, A_B_C, num, num, num) \ | 499 V(EntryOptional, A_B_C, num, num, num) \ |
| 494 V(EntryOptimized, A_D, num, num, ___) \ | 500 V(EntryOptimized, A_D, num, num, ___) \ |
| 495 V(Frame, D, num, ___, ___) \ | 501 V(Frame, D, num, ___, ___) \ |
| 496 V(SetFrame, A, num, ___, num) \ | 502 V(SetFrame, A, num, ___, num) \ |
| 497 V(AllocateContext, D, num, ___, ___) \ | 503 V(AllocateContext, D, num, ___, ___) \ |
| 498 V(CloneContext, 0, ___, ___, ___) \ | 504 V(CloneContext, 0, ___, ___, ___) \ |
| 499 V(MoveSpecial, A_D, reg, num, ___) \ | 505 V(MoveSpecial, A_D, reg, num, ___) \ |
| 500 V(InstantiateType, D, lit, ___, ___) \ | 506 V(InstantiateType, D, lit, ___, ___) \ |
| 501 V(InstantiateTypeArgumentsTOS, A_D, num, lit, ___) \ | 507 V(InstantiateTypeArgumentsTOS, A_D, num, lit, ___) \ |
| 508 V(InstanceOf, 0, ___, ___, ___) \ | |
| 502 V(AssertAssignable, D, num, lit, ___) \ | 509 V(AssertAssignable, D, num, lit, ___) \ |
| 503 V(AssertBoolean, A, num, ___, ___) \ | 510 V(AssertBoolean, A, num, ___, ___) \ |
| 504 V(CheckSmi, A, reg, ___, ___) \ | 511 V(CheckSmi, A, reg, ___, ___) \ |
| 505 V(CheckClassId, A_D, reg, lit, ___) \ | 512 V(CheckClassId, A_D, reg, lit, ___) \ |
| 506 V(CheckStack, 0, ___, ___, ___) \ | 513 V(CheckStack, 0, ___, ___, ___) \ |
| 507 V(DebugStep, 0, ___, ___, ___) \ | 514 V(DebugStep, 0, ___, ___, ___) \ |
| 508 V(DebugBreak, A, num, ___, ___) \ | 515 V(DebugBreak, A, num, ___, ___) \ |
| 509 V(Deopt, A_D, num, num, ___) \ | 516 V(Deopt, A_D, num, num, ___) \ |
| 510 | 517 |
| 511 typedef uint32_t Instr; | 518 typedef uint32_t Instr; |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 618 kNumberOfDummyFpuRegisters, | 625 kNumberOfDummyFpuRegisters, |
| 619 }; | 626 }; |
| 620 const FpuRegister FpuTMP = kFakeFpuRegister; | 627 const FpuRegister FpuTMP = kFakeFpuRegister; |
| 621 const intptr_t kNumberOfFpuRegisters = 1; | 628 const intptr_t kNumberOfFpuRegisters = 1; |
| 622 | 629 |
| 623 enum Condition { EQ, NE }; | 630 enum Condition { EQ, NE }; |
| 624 | 631 |
| 625 } // namespace dart | 632 } // namespace dart |
| 626 | 633 |
| 627 #endif // VM_CONSTANTS_DBC_H_ | 634 #endif // VM_CONSTANTS_DBC_H_ |
| OLD | NEW |