| Index: src/ast.h
|
| diff --git a/src/ast.h b/src/ast.h
|
| index 330aa9eec7e72a11f190ae174c71deda15851522..145681b7a9f3f7e801a48884e2c897846144a39f 100644
|
| --- a/src/ast.h
|
| +++ b/src/ast.h
|
| @@ -1903,6 +1903,13 @@ class Call final : public Expression {
|
| bit_field_ = IsUninitializedField::update(bit_field_, b);
|
| }
|
|
|
| + void MarkShouldHandleMinusZeroResult() {
|
| + bit_field_ = ShouldHandleMinusZeroResultField::update(bit_field_, true);
|
| + }
|
| + bool ShouldHandleMinusZeroResult() {
|
| + return ShouldHandleMinusZeroResultField::decode(bit_field_);
|
| + }
|
| +
|
| enum CallType {
|
| POSSIBLY_EVAL_CALL,
|
| GLOBAL_CALL,
|
| @@ -1929,7 +1936,8 @@ class Call final : public Expression {
|
| ic_slot_or_slot_(FeedbackVectorICSlot::Invalid().ToInt()),
|
| expression_(expression),
|
| arguments_(arguments),
|
| - bit_field_(IsUninitializedField::encode(false)) {
|
| + bit_field_(IsUninitializedField::encode(false) |
|
| + ShouldHandleMinusZeroResultField::encode(false)) {
|
| if (expression->IsProperty()) {
|
| expression->AsProperty()->mark_for_call();
|
| }
|
| @@ -1947,6 +1955,7 @@ class Call final : public Expression {
|
| Handle<JSFunction> target_;
|
| Handle<AllocationSite> allocation_site_;
|
| class IsUninitializedField : public BitField8<bool, 0, 1> {};
|
| + class ShouldHandleMinusZeroResultField : public BitField8<bool, 1, 1> {};
|
| uint8_t bit_field_;
|
| };
|
|
|
|
|