Bug 210922

Summary: Return BigInt32 whenever we can
Product: WebKit Reporter: Saam Barati <saam>
Component: JavaScriptCoreAssignee: Saam Barati <saam>
Status: RESOLVED FIXED    
Severity: Normal CC: alecflett, beidson, benjamin, ews-watchlist, fpizlo, ggaren, gskachkov, guijemont, jsbell, keith_miller, mark.lam, msaboff, rmorisset, ticaiolima, tzagallo, webkit-bug-importer, ysuzuki
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=211096
Attachments:
Description Flags
patch
none
patch ysuzuki: review+

Description Saam Barati 2020-04-23 10:19:34 PDT
...
Comment 1 Saam Barati 2020-04-24 14:57:16 PDT
Created attachment 397514 [details]
patch
Comment 2 Saam Barati 2020-04-24 15:53:40 PDT
Created attachment 397523 [details]
patch
Comment 3 Yusuke Suzuki 2020-04-24 17:04:36 PDT
Comment on attachment 397523 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=397523&action=review

r=me

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:555
> +        } else if (node->binaryUseKind() == HeapBigIntUse) {

Use `node->isBinaryUseKind(HeapBigIntUse)`.

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:560
> +        } else if (node->binaryUseKind() == AnyBigIntUse)

Ditto.

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:750
> +        if (node->binaryUseKind() == HeapBigIntUse) {

Use `node->isBinaryUseKind(HeapBigIntUse)`.

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:755
> +        } else if (node->binaryUseKind() == AnyBigIntUse || node->binaryUseKind() == BigInt32Use)

Use `node->isBinaryUseKind(AnyBigIntUse) || node->isBinaryUseKind(BigInt32Use)`.

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1024
> +        if (node->binaryUseKind() == HeapBigIntUse) {

Use `node->isBinaryUseKind(HeapBigIntUse)`.

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1029
> +        } else if (node->binaryUseKind() == AnyBigIntUse || node->binaryUseKind() == BigInt32Use)

Ditto.

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1040
> +        if (node->binaryUseKind() == HeapBigIntUse) {

Ditto.

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1045
> +        } else if (node->binaryUseKind() == AnyBigIntUse || node->binaryUseKind() == BigInt32Use)

Ditto.

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1109
> +        if (node->binaryUseKind() == HeapBigIntUse) {

Ditto.

> Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1114
> +        } else if (node->binaryUseKind() == AnyBigIntUse || node->binaryUseKind() == BigInt32Use)

Ditto.

> Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:3748
> +    if (node->binaryUseKind() == HeapBigIntUse) {

`node->isBinaryUseKind(HeapBigIntUse)` would be better.

> Source/WebCore/ChangeLog:8
> +        No new tests (OOPS!).

Just remove it. This is already covered by existing tests.
Comment 4 Saam Barati 2020-04-24 17:36:03 PDT
landed in:
https://trac.webkit.org/changeset/260683/webkit
Comment 5 Radar WebKit Bug Importer 2020-04-24 17:37:14 PDT
<rdar://problem/62351393>