[webkit-reviews] review granted: [Bug 205578] Not using strict mode within ClassDeclaration statement : [Attachment 395623] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Apr 6 20:07:04 PDT 2020


Yusuke Suzuki <ysuzuki at apple.com> has granted Tadeu Zagallo
<tzagallo at apple.com>'s request for review:
Bug 205578: Not using strict mode within ClassDeclaration statement
https://bugs.webkit.org/show_bug.cgi?id=205578

Attachment 395623: Patch

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




--- Comment #17 from Yusuke Suzuki <ysuzuki at apple.com> ---
Comment on attachment 395623
  --> https://bugs.webkit.org/attachment.cgi?id=395623
Patch

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

r=me, nice.

> Source/JavaScriptCore/bytecode/CodeBlock.h:-239
> -	   if (reg == thisRegister() && !isStrictMode())
> -	       return true;
> -

Can we make it work by passing ECMAMode to this function?

> Source/JavaScriptCore/bytecode/Fits.h:375
> +    // a pair of (ResultType::Type, ResultType::Type) - try to fit each type
into 4 bits
> +    // additionally, encode unknown types as 0 rather than the | of all
types
> +    static constexpr unsigned typeWidth = 4;
> +    static constexpr unsigned maxType = (1 << typeWidth) - 1;

ECMAMode does not include ResultType. Can you fix this implementation? I think
ECMAMode is 1bit flag.

> Source/JavaScriptCore/bytecompiler/BytecodeGenerator.h:1317
> +    class StrictModeScope {

Let's implement it by using WTF::SetForScope.


More information about the webkit-reviews mailing list