summaryrefslogtreecommitdiffstats
path: root/js/src/vm/SelfHosting.cpp
Commit message (Collapse)AuthorAgeLines
* Issue #618 - Simplify module resolve hook to be a function pointerMoonchild2020-08-30-7/+8
| | | | | This is an ahead-of time port to try and address #1624. This is based on BZ 1461751 and Jon Coppeard's work in it.
* Issue #618 - Use a single slot for the module's environment object.Moonchild2020-08-30-12/+0
| | | | | | | | | | | | | | | | | | | | According to the spec this isn't created until the module is instantiated, but we create it when we compile the module. We stored this previously in InitialEnvironmentSlot and copied it to EnvironmentSlot when it was supposed to be created, but we can just store it in the latter slot straight away and check the module's status and return null if it shouldn't exist yet. This reduces the number of slots needed on a moduleObject to 17. Re: BZ 1420412 Part 1 We can't implement the second part to further reduce our number of slots, because it relies on SetProxyReservedSlot which in turn relies on rearchitecturing JS proxies to make reserved slots dynamic. That's a rabbit hole we really don't want to fall into. So, we'll end up being a bit slower because it can't be in-line allocated with having more than 16 slots, but so be it. I sincerely doubt it will make any practical difference.
* Issue #618 - Align error handling for module scripts with the spec (again)Moonchild2020-08-30-1/+0
| | | | | | | | This updates module implementation to match spec regarding handling of instantiation errors, after it was changed yet again, this time to not remember instantiation errors, but instead immediately rethrow applicable ones. Ref: BZ 1420420
* Issue #618 - Report source position information (line/column)Moonchild2020-07-10-0/+46
| | | | | | Report source position information for module export resolution failures. Ref: BZ 1362098
* Issue #618 - Align module instantiation/errors with the updated spec.Moonchild2020-07-10-16/+3
| | | | | Store and re-throw module instantiation and evaluation errors. Ref: BZ 1374239, 1394492
* Bug 1343481 - Part 1: Remove {JSFunction,JSScript,LazyScript}.isGenerator() ↵Gaming4JC2019-12-17-1/+2
| | | | | | method. Tag #1287
* Bug 1336705 - Part 2: Add self-hosting intrinsics for resolving/rejecting ↵Gaming4JC2019-12-17-0/+108
| | | | | | Promises and adding reactions. Tag #1287
* Issue #1302 - Add self-hosted implementation for string regex .matchAllwolfbeast2019-11-26-0/+23
| | | | This resolves #1302.
* Issue #1283 - Implement Promise.prototype.finally()André Bargull2019-11-12-0/+19
| | | | This resolves #1283.
* Merge branch 'master' into js-moduleswolfbeast2019-11-10-23/+7
|\ | | | | | | | | # Conflicts: # modules/libpref/init/all.js
| * 1344477 - Part 2: Optimize Array.prototype.splice with JSOP_NORVCALL.Gaming4JC2019-07-18-1/+1
| |
| * 1320408 - Part 2: Change JSFunction::getOrCreateScript to static method.Gaming4JC2019-07-18-1/+1
| |
| * 1320408 - Part 1: Change JSFunction::getLength and ↵Gaming4JC2019-07-18-1/+1
| | | | | | | | JSFunction::getUnresolvedLength to static method.
| * Implement String.prototype.trimStart and trimEnd.wolfbeast2019-05-17-2/+4
| | | | | | | | | | | | This renames our internal function names because *Left and *Right might be deprecated and have to be removed later, making that trivial. Resolves #1089
| * Remove telemetry leftovers from JS engine.adeshkp2019-01-30-18/+0
| |
* | Merge branch 'master' of https://github.com/MoonchildProductions/UXP into ↵janekptacijarabaci2018-07-06-16/+34
|\| | | | | | | _testBranch_test_1
| * Change inlining of intrinsics.wolfbeast2018-06-07-12/+33
| |
| * Issue #325 Part 14: Remove EXPOSE_INTL_API conditionals.wolfbeast2018-05-04-4/+0
| |
| * Bug 1287677 - Add mozIntl.getDisplayNames APIjanekptacijarabaci2018-03-30-0/+1
| |
* | Bug 1326453 - Part 5: Remove no longer used ListIterator implementationjanekptacijarabaci2018-04-14-40/+0
|/
* Part 1: Implement ES6 function name property semanticsjanekptacijarabaci2018-03-19-4/+4
| | | | Issue #78
* Bug 1320388: Move JSFunction::HAS_REST to JSScript and LazyScriptjanekptacijarabaci2018-03-19-1/+1
| | | | | | Issue #78 [Depends on] Bug 883377: Implement ES6 function "name" property semantics
* Add m-esr52 at 52.6.0Matt A. Tobin2018-02-02-0/+3109