| Index: src/x64/macro-assembler-x64.cc
|
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
|
| index d695d0ed901e2570e5dc3773d483a4dffc17d454..7fe1f262265c0b7c0875a7e612bed5f00097ee46 100644
|
| --- a/src/x64/macro-assembler-x64.cc
|
| +++ b/src/x64/macro-assembler-x64.cc
|
| @@ -3940,12 +3940,21 @@ void MacroAssembler::AssertBoundFunction(Register object) {
|
|
|
| void MacroAssembler::AssertGeneratorObject(Register object) {
|
| if (emit_debug_code()) {
|
| + Label ok;
|
| testb(object, Immediate(kSmiTagMask));
|
| Check(not_equal, kOperandIsASmiAndNotAGeneratorObject);
|
| +
|
| Push(object);
|
| CmpObjectType(object, JS_GENERATOR_OBJECT_TYPE, object);
|
| Pop(object);
|
| + j(equal, &ok, Label::kNear);
|
| +
|
| + Push(object);
|
| + CmpObjectType(object, JS_ASYNC_GENERATOR_OBJECT_TYPE, object);
|
| + Pop(object);
|
| Check(equal, kOperandIsNotAGeneratorObject);
|
| +
|
| + bind(&ok);
|
| }
|
| }
|
|
|
|
|