Commit graph

5,932 commits

Author SHA1 Message Date
roytam1
e70aa9a4a1 Merge remote-tracking branch 'origin/tracking' into custom 2023-05-10 11:57:40 +08:00
Brian Smith
fae36a95ec No Issue - Updates to Mac packaging for notarization. Add Mac entitlements. Switch to using "create" instead of "makehybrid" when creating the disk image. This fixes bogus extended attributes which interfere with the code signature. Finally add any -bin or dylibs in the Resources folder since --deep skips that folder. 2023-05-10 11:57:07 +08:00
Brian Smith
1c70f64e7c Issue #2236 - Fix import.meta module error in lambdas by moving parseGoal() 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. 2023-05-10 11:55:55 +08:00
FranklinDM
2d6c419661 Issue #2234 - Part 3: Update tests
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1402649 and https://bugzilla.mozilla.org/show_bug.cgi?id=1382306
2023-05-09 11:39:39 +08:00
FranklinDM
e52da4707d Issue #2234 - Part 2: Ensure that the created async function wrapper is valid
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
2023-05-09 11:39:17 +08:00
FranklinDM
ab1c0a384d Issue #2234 - Part 1: Create async function wrapper when instantiating 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
2023-05-09 11:39:03 +08:00
Job Bautista
9693552c5c Issue #2232 - Parse exported async functions. 2023-05-09 11:38:49 +08:00
roytam1
725b27a0f5 Merge remote-tracking branch 'origin/tracking' into custom 2023-05-05 23:02:05 +08:00
Moonchild
5b7f259abf Issue #1691 - Follow-up: Ship dynamic module imports enabled by default. 2023-05-05 23:00:45 +08:00
Martok
84eadbe3cf No Issue - Do not parse or return body for XHRs with HEAD/CONNECT method or content-length=0
Based-on: m-c 1392220, 1437360
2023-05-05 23:00:30 +08:00
Moonchild
f1759b33ff Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from accessible, [root], tools, uriloader, widget, xpcom and
xpfe.
Resolves #1656
2023-05-05 23:00:05 +08:00
Moonchild
a39fd9e75f Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from modules, netwerk, security, storage, testing, toolkit, and
a few scattered misc files. More to come.
2023-05-05 22:59:16 +08:00
Moonchild
2f117eecaa Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from embedding, extensions, gfx, hal, ipc, layout, mailnews,
media and memory. More to come.
2023-05-05 22:57:19 +08:00
roytam1
6235ca420d Merge remote-tracking branch 'origin/tracking' into custom 2023-05-04 10:47:54 +08:00
Moonchild
c9b8a576da Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from dom. More to come.
2023-05-04 10:47:14 +08:00
Moonchild
d388e478a0 Issue #1656 - Remove more vim control lines.
Vim control lines were re-introduced or not entirely cleaned up.
This nukes them again.
Removing from the rest of js, caps, chrome, config, devtools, docshell,
image, intl. More to come.
2023-05-04 10:46:38 +08:00
Moonchild
e6ff567de7 Issue #1656 - remove vim control lines from js/src
With recent work a bunch more vim control lines were re-introduced.
This nukes them again.
2023-05-04 10:46:02 +08:00
roytam1
fa52ac972f Issue #2142 - follow-up rev 51db22ff, removing static keyword from upstream force-push rev aa6d42e5fc..63a00fdd25 2023-05-03 21:39:40 +08:00
roytam1
f0dfd9ac73 Merge remote-tracking branch 'origin/tracking' into custom 2023-05-02 23:56:43 +08:00
FranklinDM
ae50e9e01d Issue #2225 - Implement Element.replaceChildren
This accounts for refactoring changes (e.g. avoids RemoveChild*
changes).

Partially based on https://bugzilla.mozilla.org/show_bug.cgi?id=1626015
2023-05-02 23:55:52 +08:00
Brian Smith
a1f787fc8c Issue #1691 - Follow-up: Fix videojs and potentially other problems. When rewriting the ExecutionContext code in ScriptLoader I accidentally removed some required code. 2023-05-02 23:53:33 +08:00
roytam1
75c6c6d5b5 Merge remote-tracking branch 'origin/tracking' into custom 2023-05-01 23:35:51 +08:00
Martok
a7d8cecdb9 Issue #2097 - Handle Logical Assignment in Ion CFG 2023-05-01 23:35:25 +08:00
roytam1
a248550543 Merge remote-tracking branch 'origin/tracking' into custom 2023-05-01 14:44:54 +08:00
Martok
10951a169c Issue #2097 - Implement logical assignment operators
Based-on: 1629106/1, 1684020
2023-05-01 13:27:04 +08:00
Martok
ba9647a12a Issue #2142 - Remove the temporary fields option
Now that everything is finished, we don't need the feature flag any more.
2023-05-01 13:27:04 +08:00
Martok
1fac189aea Issue #2142 - Implement class static block
Based-on: m-c 1712138/{2,3}, 1713155/2
2023-05-01 13:27:03 +08:00
Martok
22a9d46ef1 Issue #2142 - Track isFieldInitializer on JSScript instead of Scope
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
2023-05-01 13:27:03 +08:00
Martok
c3b19191f3 Issue #2142 - Parse and process static class fields
Based-on: m-c 1535804/{6,7}
2023-05-01 13:27:03 +08:00
Martok
b187006a7e Issue #2142 - Support SuperProperty in field initializers
Based-on: m-c 1555037/2
2023-05-01 13:27:03 +08:00
Martok
e0b5528c29 Issue #2142 - Optimize .initializers scoping and emitter
* 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}
2023-05-01 13:27:03 +08:00
Martok
c206114966 Issue #2142 - Set anonymous function name in field initializer
This was done wildly different in m-c 1552875, in the interest of keeping
|setOrEmitSetFunName| around it is implemented differently here.
2023-05-01 13:27:03 +08:00
Martok
f0b06f5ad6 Issue #2142 - Don't treat PNK_NAME specially emitAssignmentOrInit
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.
2023-05-01 13:27:02 +08:00
Martok
f374ab472d Issue #2142 - Emit field keys in correct order
Based-on: m-c 1552229
2023-05-01 13:27:02 +08:00
Martok
1031b1fc43 Issue #2142 - Pass through arguments in synthesized constructors for derived classes
Based-on: m-c 1552022
2023-05-01 13:27:02 +08:00
Martok
bcb6203e4f Issue #2142 - Fix several scoping issues in field initializers
Based-on: m-c 1540789, 1547130, 1547467
2023-05-01 13:27:02 +08:00
Martok
8c6750014c Issue #2142 - Restrict contents of direct eval in fields
Based-on: m-c 1542406
2023-05-01 13:27:02 +08:00
Martok
849ab4417c Issue #2142 - Use JSOP_INITPROP for field initializers
We don't want to call setters for field initialization.

Based-on: m-c 1535471, 1547035
2023-05-01 13:27:01 +08:00
Martok
447261cf87 Issue #2142 - Implement ASI for fields
Based-on: m-c 1529772/{3,4}
2023-05-01 13:27:01 +08:00
Martok
014953c532 Issue #2142 - Factor out PropertyName parsing from Parser::propertyName()
Based-on: m-c 1529772/{1,2}
2023-05-01 13:27:01 +08:00
Martok
235ca77949 Issue #2142 - Handle fields in derived classes
* Don't name field initializer lambdas

Based-on: m-c 1534721, 1551454, 1542448
2023-05-01 13:27:01 +08:00
Martok
e6335ded89 Issue #2142 - Add FunctionEmitter, FunctionScriptEmitter, and FunctionParamsEmitter with current methods
Based-on: m-c 1473796/3, 1473796/4
2023-05-01 13:27:01 +08:00
Martok
1b89be6d0b Issue #2142 - Add PropertyEmitter, ObjectEmitter, ClassEmitter, LexicalScopeEmitter, DefaultEmitter
Based-on: m-c 1501577, 1521696, 1501578, 1473796/1
2023-05-01 13:27:01 +08:00
Martok
ab7721e4df Issue #2142 - Improve TokenPos handling in BCE
* 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
2023-05-01 13:27:00 +08:00
Martok
51db22ff2f Issue #2142 - Implement syntax for public/private fields and computed field 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
2023-05-01 13:26:43 +08:00
Martok
afa7bddc96 Issue #2142 - Add internal option for fields, but always true
This allows us to perform bisects on the following commits without causing runtime issues.

Based-on: m-c 1529758
2023-05-01 12:27:22 +08:00
Martok
6abb54ff11 Issue #2142 - Reduce calls to FindReservedWord when checking for forbidden identifiers during parsing
Based-on: m-c 1351913/{1,2}
2023-05-01 12:27:10 +08:00
roytam1
0a4a1d8a63 Merge remote-tracking branch 'origin/tracking' into custom 2023-05-01 06:55:51 +08:00
Martok
faed047e3f Issue #2142 - Ensure 'await' is always a restricted identifier when parsing modules
Based-on: m-c 1356189
2023-05-01 06:55:30 +08:00
Martok
3b9b111b2f Issue #2142 - Add predicate functions count_if and any_of to ListNode iterator 2023-05-01 06:55:15 +08:00