[webkit-reviews] review granted: [Bug 183721] [ESNext][BigInt] Implement support for "*" operation : [Attachment 340160] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri May 11 00:15:36 PDT 2018


Yusuke Suzuki <utatane.tea at gmail.com> has granted Caio Lima
<ticaiolima at gmail.com>'s request for review:
Bug 183721: [ESNext][BigInt] Implement support for "*" operation
https://bugs.webkit.org/show_bug.cgi?id=183721

Attachment 340160: Patch

https://bugs.webkit.org/attachment.cgi?id=340160&action=review




--- Comment #41 from Yusuke Suzuki <utatane.tea at gmail.com> ---
Comment on attachment 340160
  --> https://bugs.webkit.org/attachment.cgi?id=340160
Patch

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

r=me

> Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:150
>		       // FIXME: Revisit this condition when introducing BigInt
to JSC.

Remove this FIXME. And add a test for this case (in particular, we need to loop
things to get compiled in DFG).

> Source/JavaScriptCore/jit/JITOperations.cpp:2560
> +    VM& vm = exec->vm();
>      auto scope = DECLARE_THROW_SCOPE(vm);

Remove this.

> Source/JavaScriptCore/jit/JITOperations.cpp:2564
> +    JSValue jsResult = jsMul(exec, op1, op2);

Just return `JSValue::encode(jsMul(exec, op1, op2))`.

> Source/JavaScriptCore/jit/JITOperations.cpp:2565
>      RETURN_IF_EXCEPTION(scope, encodedJSValue());

Since `jsMul()` just returns the value, we do not need to have scope and
exception checks.

> Source/JavaScriptCore/jit/JITOperations.cpp:2580
>      RETURN_IF_EXCEPTION(scope, encodedJSValue());

On the other hand, this profiledMul uses arithProfile after `jsMul`. So this
function should keep scope and exception checks.`


More information about the webkit-reviews mailing list