Issues #816 / #802 - SpiderMonkey Tuneup #1192
Conversation
… match "await SOMETHING" outside async function.
… out of Parser::functionStmt into Parser::consequentOrAlternative.
…children of if/else.
… Function constructor.
…'caller' on any of the new function types.
…s identical between syntax parsing and full parsing.
…racedUnicode and make its signature fallible.
…integral number of chars to skip.
…ing EOF isn't yet hit and that newlines aren't skipped, if appropriate.
… it fails only when an underlying Vector::append fails, and that vector handles OOM reporting itself.
… a parameter name.
…teral Restriction" ECMAScript proposal
Specifically, three changes: 1) valueOf should be non-enumerable. 2) valueOf should be === to Object.prototype.valueOf. 3) There should be no toJSON.
…esolvedLength to static method.
…ndFunctionArgument.
…ce error in object literal.
…racket error in array literal.
…ores return value.
…ties are a thing.
…h are indices from frontend.
… in async function context.
This was a small mistake when converting from the `hasOwn()` function format (swapped parameters). Fixing this properly makes rest parameters exclude the parameters that are defined (which is the whole point of `...rest`
Fix order of OwnProperty check for rest parameters.
|
Audit and reviews welcome. This is a large patch that fundamentally alters the javascript engine so we will need some aggressive testing on all applications and platforms. While these are backports, there are several key differences:
The logic behind these patches and their dependency tree was logged here: If anyone needs assistance setting up a debug build I have other patches available which were not included in this push. |
|
Could you please report how binoc-central or your own Hyperbola applications responds to this specifically mailnews? |
|
As additional background to this thread I have followed the patch progress, various re-bases and reworks of this code as WIP, and have kept a close eye on code in progress through private communication. Obviously, this needs investigation and extensive testing, but I would rather merge this in sooner rather than later to prevent any issues with code changes surrounding this, breaking the merge. I suggest: |
|
The comm code paths and macintosh seem fully operational and stable, as does Windows. I am impressed and ecstatic. I think this is good to go to trunk and be shipped out on unstable! Good work @g4jc! @wolfbeast Platform bump and clobber just to be safe. |
|
Guess i'm 10 minutes late to the party. Just built uxp-816 and added the menu bar name space commit to this build. No issues to report. Can grab from here to test if need be. |
|
Awesome. Considering this good to throw to the sharks! |
|
Very cool job pulled off by @g4jc |
This is a large patch that rewrites the Parser and implements #816 (ES2019 Stringification) and #802 (Rest/Spread for Template Literals) in the Spider Monkey JavaScript engine.