summaryrefslogtreecommitdiff
path: root/js/src
Commit message (Collapse)AuthorAge
* Issue #2259 - Reimplement String.prototype.toLocale{Lower,Upper}Case per ↵Martok2023-06-29
| | | | | | | | | | ECMAScript Intl specification - Update make_unicode to output SpecialCasing - Handle special casing - Use realloc instead of malloc when resizing a newly created string buffer Based-on: m-c 1318403, 1431957
* Issue #2259 - Implement caseFirst option in Intl.CollatorMartok2023-06-29
| | | | Based-on: m-c 866473
* Issue #2046 - Introduce mozIntl.DateTimeFormat with mozExtensionsMartok2023-06-29
| | | | Based-on: m-c 1329904
* Issue #2259 - Update Intl.* Object-ness to ECMA-402, 4th editionMartok2023-06-29
| | | | | | | | | | - turn each Intl object into a NativeObject subclass - create them as PlainObject - ensure correct type is passed in self-hosted code - implement legacy constructor semantics for DateTime&NumberFormat - store internals on object slot instead of JS WeakMap Based-on: m-c 1328386, 1332604
* Issue #2259 - Introduce helper for self-hosted hasOwnProperty calls in intlMartok2023-06-29
|
* Issue #2259 - Adjust self-hosted Array.prototype.sort to ES2018Martok2023-06-29
| | | | | The comparator to ArraySort must be optional also in self-hosted code, where calling the implementation directly is generally faster than calling between JS and C++ multiple times.
* Issue #2259 - Add JS::StackGCVector and JS::RootedVectorMartok2023-06-29
| | | | Based-on: m-c 1521732/{1,3}, 1527881
* Issue #2259 - Add mozilla::Result<V, E> and JS::Result<> for fallible return ↵Martok2023-06-29
| | | | | | values Based-on: m-c 1283562, 1277368/1, 1324828
* Issue #1969 Follow-Up: Error reporting arguments in ↵Martok2023-06-29
| | | | RelativeTimeFormat/DateTimeFormat
* Issue #2262 - Build with C++14 by defaultMartok2023-06-21
| | | | | | Including infrastructure changes to ensure correct opts for future changes. Based-on: m-c 1325632, 1418047, 1418573
* Issue #2257 - Remove rematerialized frames after bailouts and exceptions.Moonchild2023-06-01
| | | | | This ensures that rematerialized frames used by the devtools debugger are properly removed so that no stale data is used during bailouts.
* Issue #2256 - Implement Object.hasOwn(object, property)Moonchild2023-05-29
| | | | | | | | | | This is a convenience access function to hasOwnProperty. Trivial, self-hosted implementation providing the interface to the already existing hasOwnProperty cpp function with additional toObject for spec compliance. Resolves #2256
* Merge pull request 'Ensure jit_ioncheck{1|2|3}_deunified_sources in ↵Moonchild2023-05-17
|\ | | | | | | | | | | js/src/moz.build is defined.' (#2248) from jobbautista9/UXP:2221-followup into master Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2248
| * Issue #2221 - Follow-up: Simplify jit_ioncheck{1|2|3}_deunified_sources ↵Job Bautista2023-05-17
| | | | | | | | assignment.
| * Issue #2221 - Follow-up: Ensure jit_ioncheck{1|2|3}_deunified_sources is ↵Job Bautista2023-05-17
| | | | | | | | | | | | defined. Should fix build bustage in armhf, as well as prevent bustage in mips32.
* | Issue #2246 - Implement Array find from last.Job Bautista2023-05-17
|/ | | | Based on the implementation from Mozilla bug 1704385.
* Issue #2241 - Part 1: Move {js::,JS_}{{Strictly,Loosely}Equal,SameValue} ↵Job Bautista2023-05-12
| | | | | | | | | into their own header and implementation files Backported from Mozilla bug 1516742. The .from* methods are going to depend on SameValueZero, which needs to be visible to /dom. This patch provides the foundation for that.
* Issue #2236 - Fix import.meta module error in lambdas by moving parseGoal() ↵Brian Smith2023-05-08
| | | | | | | into SharedContext. Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1604792 Also remove ParseGoal being passed through Parser introduced in #1691 Part 2.
* Issue #2234 - Part 3: Update testsFranklinDM2023-05-07
| | | | Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1402649 and https://bugzilla.mozilla.org/show_bug.cgi?id=1382306
* Issue #2234 - Part 2: Ensure that the created async function wrapper is validFranklinDM2023-05-07
| | | | | | This excludes the GC-related changes (cell pointer asserts) since we don't have them. This bug should be revisited if we'd ever plan on porting those asserts over. Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1402649
* Issue #2234 - Part 1: Create async function wrapper when instantiating ↵FranklinDM2023-05-07
| | | | | | | | module functions This excludes the change that removes "excessive" rooting from the Lambda* methods in Interpreter.cpp. Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1382306
* Issue #2232 - Parse exported async functions.Job Bautista2023-05-06
|
* Issue #1656 - remove vim control lines from js/srcMoonchild2023-05-03
| | | | | With recent work a bunch more vim control lines were re-introduced. This nukes them again.
* Issue #2097 - Handle Logical Assignment in Ion CFGMartok2023-05-01
|
* Issue #2097 - Implement logical assignment operatorsMartok2023-05-01
| | | | Based-on: 1629106/1, 1684020
* Issue #2142 - Remove the temporary fields optionMartok2023-05-01
| | | | Now that everything is finished, we don't need the feature flag any more.
* Issue #2142 - Implement class static blockMartok2023-05-01
| | | | Based-on: m-c 1712138/{2,3}, 1713155/2
* Issue #2142 - Track isFieldInitializer on JSScript instead of ScopeMartok2023-05-01
| | | | | | | | | | | | Introduce a FunctionSyntaxKind for FieldInitializer since special rules (around `arguments`) apply. At the same time we can move the flag from the scope to the JSScript. This is similar to how derived constructors are handled and makes the initWithEnclosingScope code closer to initWithEnclosingContext. This version is a bit more complex than Mozilla's due to different storage of bit flags on JSScript. Based-on: m-c 1636800
* Issue #2142 - Parse and process static class fieldsMartok2023-05-01
| | | | Based-on: m-c 1535804/{6,7}
* Issue #2142 - Support SuperProperty in field initializersMartok2023-05-01
| | | | Based-on: m-c 1555037/2
* Issue #2142 - Optimize .initializers scoping and emitterMartok2023-05-01
| | | | | | | | | | * Refactor code for emitting the .initializers array into ClassEmitter * Only emit .initializers scope when actually required * Remove unfinished code to handle non-present class field initialisers * Use predicate count_if and any_of of ListNode * Remove unnecessary parameters for class field parsing Based-on: m-c 1553744, 1555979, 1555037/1, 1535804/{1-5}
* Issue #2142 - Set anonymous function name in field initializerMartok2023-05-01
| | | | | This was done wildly different in m-c 1552875, in the interest of keeping |setOrEmitSetFunName| around it is implemented differently here.
* Issue #2142 - Don't treat PNK_NAME specially emitAssignmentOrInitMartok2023-05-01
| | | | | | | If there ever was a point where this structure "avoids duplication", at least since the *OpEmitter refactor emitting PNK_NAME differently makes it actually harder to follow. Mozilla makes the same change at a different time.
* Issue #2142 - Emit field keys in correct orderMartok2023-05-01
| | | | Based-on: m-c 1552229
* Issue #2142 - Pass through arguments in synthesized constructors for derived ↵Martok2023-05-01
| | | | | | classes Based-on: m-c 1552022
* Issue #2142 - Fix several scoping issues in field initializersMartok2023-05-01
| | | | Based-on: m-c 1540789, 1547130, 1547467
* Issue #2142 - Restrict contents of direct eval in fieldsMartok2023-05-01
| | | | Based-on: m-c 1542406
* Issue #2142 - Use JSOP_INITPROP for field initializersMartok2023-05-01
| | | | | | We don't want to call setters for field initialization. Based-on: m-c 1535471, 1547035
* Issue #2142 - Implement ASI for fieldsMartok2023-05-01
| | | | Based-on: m-c 1529772/{3,4}
* Issue #2142 - Factor out PropertyName parsing from Parser::propertyName()Martok2023-05-01
| | | | Based-on: m-c 1529772/{1,2}
* Issue #2142 - Handle fields in derived classesMartok2023-05-01
| | | | | | * Don't name field initializer lambdas Based-on: m-c 1534721, 1551454, 1542448
* Issue #2142 - Add FunctionEmitter, FunctionScriptEmitter, and ↵Martok2023-05-01
| | | | | | FunctionParamsEmitter with current methods Based-on: m-c 1473796/3, 1473796/4
* Issue #2142 - Add PropertyEmitter, ObjectEmitter, ClassEmitter, ↵Martok2023-05-01
| | | | | | LexicalScopeEmitter, DefaultEmitter Based-on: m-c 1501577, 1521696, 1501578, 1473796/1
* Issue #2142 - Improve TokenPos handling in BCEMartok2023-05-01
| | | | | | | * Don't print bogus error locations on BCE internal errors * Do not use TokenPos in BytecodeEmitter::{setFunctionBodyEndPos,setScriptStartOffsetIfUnset} Based-on: m-c 1451826/1, 1530034, 1473796/2
* Issue #2142 - Implement syntax for public/private fields and computed field ↵Martok2023-05-01
| | | | | | | | | names This state still has the initializers scoped on .initializers local variable, which will be changed later. Based-on: m-c 1499448, 1530084, 1530832, 1529448 (partial), 1532921, 1528039, 1528038, 1535166, 1550628, 1535166, 1550628, 1541641, 1547133, 1540787, 1535804/9
* Issue #2142 - Add internal option for fields, but always trueMartok2023-04-30
| | | | | | This allows us to perform bisects on the following commits without causing runtime issues. Based-on: m-c 1529758
* Issue #2142 - Reduce calls to FindReservedWord when checking for forbidden ↵Martok2023-04-30
| | | | | | identifiers during parsing Based-on: m-c 1351913/{1,2}
* Merge pull request 'Use link-time optimization for Spidermonkey in Windows ↵Moonchild2023-04-30
|\ | | | | | | | | | | by default, and fix a deprot in js/src' (#2222) from jobbautista9/UXP:ltcg-js into master Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/2222
| * Issue #1691 - Follow-up: Fix CallSelfHostedFunction deprot introduced by Part 4.Job Bautista2023-04-30
| |
| * Issue #2221 - Enable link-time optimization for Spidermonkey by default if ↵Job Bautista2023-04-30
| | | | | | | | | | | | | | | | | | | | | | | | building it shared. Currently only Windows can take advantage of this. The reason why the arrays of deunified sources are named like that in Spidermonkey's moz.build is to avoid UnsortedErrors in python. There's probably a better way to handle that, but I just want something that works for now. And yes, the deunified sources will be reunified if LTO is disabled.