summaryrefslogtreecommitdiff
path: root/js/src
Commit message (Collapse)AuthorAge
* Issue #1658 - Part 8: Update testsFranklinDM2022-05-04
|
* Issue #1658 - Part 6: Break and return no control flow for jumps emitted by ↵FranklinDM2022-05-04
| | | | | | optional chains under IonBuilder IIUC, we want to process the GOTO in the case of optional chains, and we do not satisfy the requirements mentioned in the comment of snoopControlFlow's caller. Optional chains are not loops, we (probably) don't have a loop in the instruction following the GOTO, and in the GOTO destination, we're either returning an undefined/null value or the actual value.
* Issue #1658 - Part 5: Add and initialize TDZ check to optional chaining emitterFranklinDM2022-05-04
| | | | Partially based on: https://bugzilla.mozilla.org/show_bug.cgi?id=1685260
* Issue #1658 - Part 4: Fix optional chaining assertions and remove ↵FranklinDM2022-05-04
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | unreachable code This includes the following: Bug 1611777 - Part 1: Report syntax error for optional property access in self-hosting code. r=yulia! Bug 1611777 - Part 2: Merge same blocks in emitDeleteOptionalChain(). r=yulia! Bug 1611777 - Part 3: N/A Bug 1611777 - Part 4: `super` can't occur on the left-hand side of an optional chain Bug 1611777 - Part 5: Remove unnecessary super-handling in optional delete. r=yulia! The child node of a DeleteOptionalChainExpr node can't be a super-property accessor, so we can remove this code. Bug 1611777 - Part 6: Crash for unexpected super-base in optional call. r=yulia! Bug 1611777 - Part 7: Add missing entries to list of valid optional chain start expressions. r=yulia! Bug 1611777 - Part 8: Add missing emitGet in emitOptionalElemExpression. r=yulia! Aligns emitOptionalElemExpression() with emitOptionalDotExpression(), so it's easier to compare both methods against each other. Bug 1611777 - Part 9: Replace an if-statement with an assertion. r=yulia! Bug 1611777 - Part 10: N/A Bug 1611777 - Part 11: Support optional chaining in class heritage expression. r=yulia! Bug 1611777 - Part 12: Use optionalExpr() for update expressions to match spec grammar. r=yulia! Using optionalExpr matches the spec grammar more closely. This change also modifies the reported error message. ++a?.b reported before this change "unexpected token: '?.'", but now reports "invalid increment/decrement operand". Bug 1611777 - Part 13: N/A Bug 1611777 - Part 14: Simplify two lines in optionalExpr(). r=yulia! We don't need to test for tt == TokenKind::Eof when we return for tt != TokenKind::OptionalChain anyway. Omit local variable for the result value and instead use a tail-call. This matches the local style in the parser more closely. Bug 1611777 - Part 15: Support FunCall/FunApply optimisations for optional chaining. r=yulia! Bug 1611777 - Part 16: Pass through ValueUsage in optional chains. r=yulia
* Issue #1658 - Part 3: Implement support for optional chaining in JS reflectionFranklinDM2022-05-04
| | | | | | Partially based on: Bug 1610447 - Update Reflect to handle Optional Chaining operator Bug 1657835 - Assertion failure: false, at js/src/builtin/ReflectParse.cpp:3168
* Issue #1658 - Part 2: Implement bytecode for optional chainingFranklinDM2022-05-04
| | | | | | | Partially based on: Bug 1566143 - Implement the Optional Chaining operator (?.) proposal Bug 1650340 - Fix deleteElementInOptionalChain Bug 1644839 - Fix return value of emitOptionalChain on failure
* Issue #1658 - Part 1: Implement support for optional chaining in the JS ParserFranklinDM2022-05-04
| | | | Partially based on: https://bugzilla.mozilla.org/show_bug.cgi?id=1566143
* Merge branch 'master' into 1829Brian Smith2022-04-28
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * master: No issue - Update README and SECURITY Issue #1885 - Follow-up: Update error message if invalid rootMargin specified. Issue #1879 - Follow-up: Update config/external/nss/target to security/target. Issue #1885 - Allow unitless rootMargin entries for IntersectionObserver. Issue #1879 - Revert changes to cryptox.h Revert "Issue #1879 - spot-fix typo in cryptox.h" Issue #1879 - spot-fix typo in cryptox.h Issue #21 - Change MappedAttrParser to store its nsIPrincipal instead of nsSVGElement Issue #21 - Remove use counters telemetry Issue #1881 - Interpret empty or whitespace root margin string as zero length Issue #1877 - Resolve NIGHTLY_BUILD conditionals. Issue #1880 - Boot Comic Sans out of the font configuration.
| * Issue #1877 - Resolve NIGHTLY_BUILD conditionals.Moonchild2022-04-22
| |
* | Issue #1829 - Readd code cleanup that is not Mac related that got clobbered ↵Brian Smith2022-04-26
| | | | | | | | by reverting Issue #1751
* | Issue #1829 - Revert "Issue #1751 -- Remove XP_DARWIN"Brian Smith2022-04-26
| | | | | | | | This reverts commit 3d671e4275c73a1484c72713304c6e04ec4ffc7c.
* | Issue #1829 - Revert “Issue #1751 -- Remove XP_MACOSX conditionals from ↵Brian Smith2022-04-26
|/ | | | | | | | | the rest of the tree.” This also removes some PP abuse and takes file entries out of PP when no longer needed without XP_MACOSX conditionals. This reverts commit 6f707bde95dab6998ac204f9ee6c925ee230c740.
* Issue #1877 - Resolve RELEASE_OR_BETA conditionals.Moonchild2022-04-19
|
* Issue #1382 - Set canonical name for trimStart and trimEnd functionsFranklinDM2022-04-18
| | | | This is needed to fix the assertion on debug builds that self-hosted functions must have consistent names, as these two functions are aliased to `trimLeft` and `trimRight`.
* Merge pull request 'Issue #1818 Cleanup some old GCC hacks' (#1865) from ↵Moonchild2022-04-16
|\ | | | | | | | | | | trav90/UXP-contrib:compiler-hacks-cleanup into master Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1865
| * Issue #1818 - Part 4: always use -pipe with GCCtrav902022-04-15
| | | | | | | | Usable GCC versions have supported -pipe for a VERY long time. There's no need to keep checking if it is supported.
| * Issue #1818 - Part 3: Remove more old gcc compiler hacks.trav902022-04-15
| |
| * Issue #1818 - Part 2: Remove code for implementation of atomics with __synctrav902022-04-15
| | | | | | | | | | All supported compilers support using C++11 <atomic> natively, so implementing this using GCC's old __sync functions is no longer necessary.
* | Issue #1864 - Fix IonBuilder::maybeMarkEmpty.Moonchild2022-04-15
|/ | | | | Look at the instruction's operands instead of the instruction itself, and take an early exit on empty types.
* [js] Fix AliasSet of MLoadTypedArrayElementHoleMoonchild2022-04-09
|
* [js] Add dynamic check for valid serialized lengthSteve Fink2022-04-08
|
* [No issue] Don't rely on nsCRT from jsdate.Moonchild2022-04-01
|
* Issue #1053 - Second pass remove android defines and build system stuff.Moonchild2022-04-01
| | | | Mostly IPC, tools and mozbuild.
* Issue #1053 - First pass Android defines and remove Android AnnotationMoonchild2022-04-01
| | | | processors, some Andoid packaging stuff, Eclipse IDE support et al.
* Issue #1675 - Move regexp to new-regexp to make bz porting simpler.Moonchild2021-07-30
|
* Issue #1679 - Part4: Clean up commented-out/WIP code.Moonchild2021-07-30
|
* Issue #1679 - Part 3: Make everything build on supported compilers.Moonchild2021-07-30
|
* Issue #1725 - Fix logic in PerformPromiseAllSettled.Jeremy Andrews2021-07-15
| | | | This function essentially appears to work as written, there was an issue with it returning false too early in some situations that prevented it from working properly.
* WIP: Base implementationMoonchild2021-07-13
|
* [js] Fix porting typoMoonchild2021-06-03
| | | | Follow-up for 9acd98298ccadd83495fa1615573ebcca6648bae
* [js] Fix invalid early return in BaselineFrame::trace.Jan de Mooij2021-06-02
| | | | | We were not tracing debugger environments for Baseline frames without any local/expression slots.
* Issue #1751 -- Remove XP_MACOSX conditionals from the rest of the tree.Moonchild2021-05-06
| | | | | This also removes some PP abuse and takes file entries out of PP when no longer needed without XP_MACOSX conditionals.
* Issue #1751 -- Remove XP_DARWINMoonchild2021-05-02
|
* Issue #1751 -- Remove XP_IOSMoonchild2021-05-01
|
* Issue #1756 - Clean up ICU patch.Moonchild2021-03-31
| | | | | We don't need ICU_UNUM_HAS_FORMATDOUBLEFORFIELDS because we don't support any ICU other than the one in-tree.
* Issue #1756 - Expose NumberFormat.formatToParts() to content.Moonchild2021-03-31
|
* Issue #1756 - Initial wrapped implementation in C++Moonchild2021-03-31
|
* Issue #1053 - Remove __ANDROID__ defines (except in third party code)Moonchild2021-03-21
|
* Issue #1053 - Remove android blocks from configure.Moonchild2021-03-10
|
* Issue #1053 - Remove build system MOZ_ANDROID_* defines and related code.Moonchild2021-03-10
|
* [js] Add XMMRegName for invalid_xmmMoonchild2021-02-14
|
* Issue #1739 - Implement numeric separators.Moonchild2021-02-13
| | | | Resolves #1739
* Issue #1738 - Follow-up: Update comment (no code changes)Moonchild2021-02-12
|
* Issue #1738 - Part 2: Implement well-formed JSON stringifyMoonchild2021-02-11
| | | | | This implements the ES2019 spec for JSON stringification, including lower-casing, properly escaping lone surrogates, etc.
* Issue #1738 - Part 1: Improve performance of JSON stringifyMoonchild2021-02-11
| | | | | | - Use some pointer voodoo and instead of stringbuffer append() - Use a lookup table instead of char comparisons for chr < 256 - Stop using a Hashtable/MovableCellHasher for JSON CycleDetector
* Update tzdata to 2021aMoonchild2021-02-10
| | | | Because people are apparently never satisfied with the time zones on the planet!
* Issue #1732 - Implement JSON superset proposal.Moonchild2021-02-05
| | | | | | | | This change makes unicode line and paragraph separators allowed in JS strings, removing the only quirk of the JS string definition that made JSON not a valid subset of JS. Resolves #1732
* Issue #1726 - Add verification test for string.replaceAll()Moonchild2021-02-04
|
* Issue #1726 - Implement String.replaceAll()meatloaf2021-02-04
| | | | | This also implements IsRegExp, as this demands it. Ported from https://bugzilla.mozilla.org/show_bug.cgi?id=1540021
* [js] Remove unused promise selfhosting functions.Moonchild2021-01-30
| | | | | These are leftovers from when promises were fully self-hosted and could cause confusion if left in place.