[Webkit-unassigned] [Bug 10701] [ES5] Implement strict mode

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Oct 9 18:05:58 PDT 2010


https://bugs.webkit.org/show_bug.cgi?id=10701





--- Comment #19 from Oliver Hunt <oliver at apple.com>  2010-10-09 18:05:57 PST ---
Fixed all the issues you and sam pointed out.

> (1) failIfStrictTrue/failIfStrictFalse.
> 
> I find these names a little confusing.  Strict is usually a modifier to the thing it precedes, e.g. "strict equal".  I think something like "strictModeFailIfFalse" or "failIfFalseIfStrict" would parse in a more understandably fashion for me.

renamed to the IfStrict suffix variant you suggested

> 
> (2) Performance.
> 
> Given the size of this change and the additional parameterization in all the 'put' methods I think this bug really needs before and after SunSpidey & v8 numbers.  (We should also probably also have numbers for the interpreter - maybe just for SunSpider - to at least be aware in advance of any impact there).

** TOTAL **:           ??                327.0ms +/- 0.3%   327.7ms +/- 0.2% 

> 
> (3) Passing exec through reparseExceptionInfo/parse/jsParse/parseProgram.
> 
> We really shouldn't be pushing a pointer into the JS Stack this deep into the parser – and we really shouldn't need to.  We want to be moving in the other direction – paring back our use of ExecState, to places where we may actually trigger new execution.  It looks like you've passed the exec state to parseProgram because it needs to check for the presence of certain properties on the LGO? If so, we should have an appropriate hasProperty method that does not require an exec state (and if we don't have one, I'd think you should be able to add one that just wraps the getPropertySlot that you're calling, passing the globalExec from the LGO).  Did I miss a use of ExecState that really requires a JS stack? – if not, I think we need to revert this.

Avoid passing an execstate to getOwnPropertySlot would grossly inflate the size of this patch as every class that overrides getOwnPropertySlot would need to have an implementation of the non-execstate taking hasOwnProperty (or whatever).  While I agree that in an ideal world we wouldn't have this execstate, i can't see much of an alternative at this time.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the webkit-unassigned mailing list