| Commit message (Collapse) | Author | Age |
|
|
|
| |
future-proof gcc versions.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows us to use a greater rendering depth for exceedingly-deep DOM trees
in layout, better matching what mainstream browsers are capable of. Note that
for 32-bit Windows the stack size MUST be set to larger than the default or Bad
Things Will Happen™ - we use 1.5 MB for this as a carefully-tuned value.
This needs to be capped specifically for JS use because some JavaScript
obfuscators deliberately trigger stack overflows and would lock up the browser
otherwise as long as there's still stack space to abuse. For web compatibility
we therefore limit this to 2MB in JS only (3x for ASAN) while still allowing
a greater depth for the layout engine.
|
|
|
|
| |
Function.prototype.toString.call()
|
|
|
|
| |
remnants of source decompiler
|
|
|
|
| |
FunctionToString
|
|
|
|
| |
string for native functions
|
|
|
|
| |
retrieving the unresolved name of a bound function
|
|
|
|
| |
atomizing the function name
|
|\
| |
| |
| |
| |
| | |
(#1924) from martok/UXP-contrib:1918-asyncgenerator into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1924
|
| | |
|
| |
| |
| |
| | |
|let| variable name in async functions, so that a newline between the two separates them into two distinct expressions.
|
| |
| |
| |
| |
| |
| | |
async keyword properly.
This was previously partially present, but got lost along the way
|
| |
| |
| |
| | |
object literal property name.
|
|/
|
|
|
|
| |
the profile.
Based on the following Mozilla bugs: 1659904, 1659905 and 1659077.
|
|
|
|
|
| |
Mac Intel broke due to incorrect FFI target_dir for Intel.
Linux and possibly other platforms use a secondary aclocal.m4 that still referenced ios.m4.
|
|
|
|
| |
Back out some of the xptcstubs changes that are not viable for our codebase.
|
|
|
|
| |
Ref: BZ 1323441
|
|
|
|
|
|
|
|
|
| |
pointers types
This is actually an undocumented dependency of Bug 1325406 for Linux and
SunOS.
Ref: BZ 1308236
|
|
|
|
|
|
|
| |
pointers for shapes.
Nobody likes "isNullLike(obj)" when trying to garbage collect. It either is or
is not. Master Yoda would be pleased with this change.
|
|
|
|
|
| |
This is the meat of the issue and switches using raw shape pointers out for
PropertyResult objects where feasible.
|
|
|
|
| |
property lookup
|
|
|
|
| |
Based on Bug 1325406
|
|
|
|
| |
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
|
|
|
|
|
|
|
|
| |
This uses a different approach by modifying the `Boolish` function directly to act differently if we're checking for nullish values.
Partially based on:
Bug 1566141 - Implement the Nullish Coalescing operator (??) proposal
Bug 1599163 - Nullish coalescing operator returns undefined for void expressions
|
|
|
|
| |
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
|
|
|
|
| |
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
|
|
|
|
|
|
| |
Partially based on:
Bug 1566141 - Implement the Nullish Coalescing operator (??) proposal
Bug 1593415 - Assertion failure: false, at js/src/builtin/ReflectParse.cpp:3092 with nullish coalescing
|
|
|
|
| |
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
|
|
|
|
| |
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1566141
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Partially based on: https://bugzilla.mozilla.org/show_bug.cgi?id=1685260
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Partially based on:
Bug 1610447 - Update Reflect to handle Optional Chaining operator
Bug 1657835 - Assertion failure: false, at js/src/builtin/ReflectParse.cpp:3168
|
|
|
|
|
|
|
| |
Partially based on:
Bug 1566143 - Implement the Optional Chaining operator (?.) proposal
Bug 1650340 - Fix deleteElementInOptionalChain
Bug 1644839 - Fix return value of emitOptionalChain on failure
|
|
|
|
| |
Partially based on: https://bugzilla.mozilla.org/show_bug.cgi?id=1566143
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 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.
|
| | |
|
| |
| |
| |
| | |
by reverting Issue #1751
|
| |
| |
| |
| | |
This reverts commit 3d671e4275c73a1484c72713304c6e04ec4ffc7c.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|/
|
|
|
|
| |
MOZ_WIDGET_TOOLKIT == 'cocoa’”
This reverts commit 1fe9c19305dadf2d5bcaa0e589fcd250389dfa8a.
|
| |
|
|
|
|
| |
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`.
|
|\
| |
| |
| |
| |
| | |
trav90/UXP-contrib:compiler-hacks-cleanup into master
Reviewed-on: https://repo.palemoon.org/MoonchildProductions/UXP/pulls/1865
|
| |
| |
| |
| | |
Usable GCC versions have supported -pipe for a VERY long time. There's no need to keep checking if it is supported.
|
| | |
|
| |
| |
| |
| |
| | |
All supported compilers support using C++11 <atomic> natively, so implementing
this using GCC's old __sync functions is no longer necessary.
|
|/
|
|
|
| |
Look at the instruction's operands instead of the instruction itself,
and take an early exit on empty types.
|