| Index: runtime/vm/constants_dbc.h
|
| diff --git a/runtime/vm/constants_dbc.h b/runtime/vm/constants_dbc.h
|
| index c5dbe04f52f287ff717c2cd9661c9446b60ced42..4d9c29ab2962e88bd2f3f5d8dedaa09ab8ab0738 100644
|
| --- a/runtime/vm/constants_dbc.h
|
| +++ b/runtime/vm/constants_dbc.h
|
| @@ -331,6 +331,13 @@ namespace dart {
|
| //
|
| // Allocate object of class SP[0] with type arguments SP[-1].
|
| //
|
| +// - AllocateTOpt rA, D
|
| +//
|
| +// Similar to AllocateOpt with the difference that the offset of the
|
| +// type arguments in the resulting object is taken from the D field of the
|
| +// following Nop instruction, and on success 4 instructions are skipped and
|
| +// the object at the top of the stack is popped.
|
| +//
|
| // - StoreIndexedTOS
|
| //
|
| // Store SP[0] into array SP[-2] at index SP[-1]. No typechecking is done.
|
| @@ -464,6 +471,12 @@ namespace dart {
|
| //
|
| // Allocate Context object assuming for D context variables.
|
| //
|
| +// - AllocateUninitializedContext rA, D
|
| +//
|
| +// Allocates an uninitialized context for D variables, and places the result
|
| +// in FP[rA]. On success, skips the next 2 instructions, which should be the
|
| +// slow path (AllocateContext D; PopLocal rA).
|
| +//
|
| // - CloneContext
|
| //
|
| // Clone context stored in TOS.
|
| @@ -702,6 +715,7 @@ namespace dart {
|
| V(Allocate, D, lit, ___, ___) \
|
| V(AllocateT, 0, ___, ___, ___) \
|
| V(AllocateOpt, A_D, reg, lit, ___) \
|
| + V(AllocateTOpt, A_D, reg, lit, ___) \
|
| V(StoreIndexedTOS, 0, ___, ___, ___) \
|
| V(StoreIndexed, A_B_C, reg, reg, reg) \
|
| V(StoreIndexedUint8, A_B_C, reg, reg, reg) \
|
| @@ -735,6 +749,7 @@ namespace dart {
|
| V(Frame, D, num, ___, ___) \
|
| V(SetFrame, A, num, ___, num) \
|
| V(AllocateContext, D, num, ___, ___) \
|
| + V(AllocateUninitializedContext, A_D, reg, num, ___) \
|
| V(CloneContext, 0, ___, ___, ___) \
|
| V(MoveSpecial, A_D, reg, num, ___) \
|
| V(InstantiateType, D, lit, ___, ___) \
|
|
|