Commit graph

37 commits

Author SHA1 Message Date
Brian Smith
c69a47c393 Issue #1691 - Part 7f: Split up compile and execute so we can use ClassicScript. https://bugzilla.mozilla.org/show_bug.cgi?id=1342012 Refactor nsJSUtils::ExecutionContext to separate compilation and execution steps and allow extraction of compiled JSScript. https://bugzilla.mozilla.org/show_bug.cgi?id=1366773 Move buffer argument from JS::StartIncrementalEncoding to JS::FinishIncrementalEncoding.
(cherry picked from commit d4b520b08b958e116dfeeffdc61f3425610d1ce9)
2023-04-30 21:20:47 +08:00
Brian Smith
993476283d Issue #1691 - Part 7e: Dependencies for required to finish part 7d. https://bugzilla.mozilla.org/show_bug.cgi?id=1331662 Reimplement EvaluateString using the ExecutionContext class. https://bugzilla.mozilla.org/show_bug.cgi?id=1316078 Extract redudant code into StartOffThreadParseTask. Use an ExclusiveContext instead of a JSContext in XDR functions. Add a script decoder as a valid off-main-thread parse-task. https://bugzilla.mozilla.org/show_bug.cgi?id=900784 Add nsJSUtils functions for encoding and decoding the bytecode. https://bugzilla.mozilla.org/show_bug.cgi?id=1316081 Add XDRIncrementalEncoder to replace delazified LazyScript in the encoded XDR buffer. Add an XDRIncrementalEncoder instance on the ScriptSource. Expose a new JSAPI to incrementally encode bytecode when it is generated. https://bugzilla.mozilla.org/show_bug.cgi?id=1334091 XDR function use the sourceObject instead of the enclosingScript as argument.
(cherry picked from commit d6de9a669f4b2f5115670bd771cd53d7cfb3956a)
2023-04-30 21:20:33 +08:00
Brian Smith
5c09a3b3cc Issue #1691 - Part 5b: Stop modules from entraining the top-level JSScript. https://bugzilla.mozilla.org/show_bug.cgi?id=1489477
(cherry picked from commit 6ce0af856186e65fb4987daf4e06dc68fb3f7483)
2023-04-30 21:17:38 +08:00
Brian Smith
7a6dab0b38 Issue #1691 - Part 4: Finish implementing call import. https://bugzilla.mozilla.org/show_bug.cgi?id=1499140
(cherry picked from commit 7bf7d64887944b127a72090dd62eb57f67c5089d)
2023-04-30 21:17:13 +08:00
Brian Smith
3f4985ce6c Issue #1691 - Part 3: Finish implementing import meta. https://bugzilla.mozilla.org/show_bug.cgi?id=1427610
(cherry picked from commit a8625238ac846fb7eb103646ddb8634a5860f067)
2023-04-30 21:17:00 +08:00
Brian Smith
a8ab41b4c6 Issue #1691 - Part 2: Implement call import and import meta in the parser. https://bugzilla.mozilla.org/show_bug.cgi?id=1427610 https://bugzilla.mozilla.org/show_bug.cgi?id=1484948
(cherry picked from commit 6be083187f49e444de1bb116bb5930b20125190b)
2023-04-30 21:16:43 +08:00
Brian Smith
1a6b3a822c Issue #1691 - Part 1: Provide a way of associating a private value with a script or module.
This is a prerequisite for dynamic import

(cherry picked from commit 2e2972647ee29340df51a804f05e40fc1da2c89b)
2023-04-30 21:16:28 +08:00
Martok
85af7f6e80 Issue #1952 - m-c 1383775: Clean up function toString/toSource code, remove remnants of source decompiler 2022-07-03 06:55:19 +08:00
Moonchild
d4eac725fd Issue #1877 - Resolve RELEASE_OR_BETA conditionals. 2022-04-21 21:46:47 +08:00
Moonchild
bdcb9cc504 Issue #1756 - Expose NumberFormat.formatToParts() to content. 2021-04-02 10:34:12 +08:00
Moonchild
5df0028108 Issue #1756 - Initial wrapped implementation in C++ 2021-04-02 10:34:10 +08:00
Moonchild
dabd32f955 Issue #1656 - Part 7: Nuke vim config lines in JS 2020-09-25 22:04:24 +08:00
Moonchild
34db761758 Issue #618 - Simplify module resolve hook to be a function pointer
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.
2020-08-29 08:08:41 +08:00
wolfbeast
2996c783d8 Revert #1091 Remove unboxed object code phase 1 + extras.
This should be the last code backout for this. merging this branch
should get us back to the way we were (+ additional code changes for
later changes) as fasr as the unused unboxed code is concerned.
2020-02-27 07:34:57 +08:00
wolfbeast
cfed2447da Revert #1137 - Remove unboxed arrays
- accounting for removal of watch()/unwatch()
- updated for intermediate code changes.
2020-02-27 07:34:50 +08:00
wolfbeast
47781d6165 Revert #1142 - Remove unboxed objects
- accounting for removal of watch()/unwatch()
2020-02-27 07:33:11 +08:00
wolfbeast
1e553d0e73 Issue #316 - Make the memory GC performance object conditional (WIP)
This was only added for GCubench and likely interfering with building
without devtools-server.
2020-02-21 07:05:16 +08:00
wolfbeast
40f99b202a Issue #1322 - Part 1: Remove the DOM Promise guts.
This removes all the parts guarded by SPIDERMONKEY_PROMISE
2019-12-20 09:07:24 +08:00
Gaming4JC
10b93afff4 Bug 1331092 - Part 2: Implement Async Generator except yield*.
Tag #1287
2019-12-18 09:16:52 +08:00
Gaming4JC
f79ee2fd83 1216630 - Print class source when calling toString on the constructor.
This is accomplished in the following ways.
LazyScripts and JSScripts now have 4 offsets:
- Source begin and end for the actual source. This is used for lazy parsing.

- toString begin and end for toString. Some kinds of functions, like async, only have a different begin offset. Class constructors have different offsets for both begin and end.

For syntactically present (i.e. non-default) constructors, the class source span is remembered directly on the LazyScript or JSScript. The toString implementation then splices out the substring directly. For default constructors, a new SRC_CLASS SrcNote type is added. It's binary and has as its arguments the begin and end offsets of the class expression or statement. MakeDefaultConstructor reads the note and overrides the cloned self-hosted function's source object. This is probably the least intrusive way to accomplish this.
2019-07-22 19:51:38 +08:00
Gaming4JC
700a57c289 1283712 - Part 10: Support notes in getLastWarning shell-only testing function. 2019-07-22 19:50:30 +08:00
Gaming4JC
87bfc02f09 1320408 - Part 4: Change JSObject::getGroup to static method. 2019-07-22 19:47:34 +08:00
Gaming4JC
07cd213071 1320408 - Part 2: Change JSFunction::getOrCreateScript to static method. 2019-07-22 19:47:27 +08:00
Gaming4JC
d451930d58 1320403 - Move JSFunction::EXPR_BODY to JSScript, LazyScript, and FunctionBox. 2019-07-22 19:46:14 +08:00
wolfbeast
05daa3c420 Remove Unboxed Objects Option Code 2019-06-28 20:11:12 +08:00
wolfbeast
ea2349157d Remove unboxed array context option and shell flag. 2019-06-19 21:34:25 +08:00
wolfbeast
3c6346afa9 Unhook Unboxed Objects option 2019-05-24 21:55:41 +08:00
wolfbeast
d1c16b1326 Issue #325 Part 5: Remove non-Intl legacy code paths from js. 2019-02-15 23:56:03 +08:00
janekptacijarabaci
5381ebe25c Bug 1287677 - Add mozIntl.getDisplayNames API 2019-02-15 23:44:41 +08:00
janekptacijarabaci
f8591643c5 JS - support for Array.prototype.values() 2019-02-15 23:39:48 +08:00
janekptacijarabaci
8af5664922 Bug 1346862 - Fix IteratorClose due to non-local jumps being catchable by try statements inside for-of
Issue #74
2019-02-15 23:39:32 +08:00
janekptacijarabaci
444483bf81 Bug 1342553, Bug 1343072, Bug 1344753 (details in the description)
Bug 1342553 - Part 0.1: Use try-catch for IteratorClose in for-of
Bug 1343072 - Update HasLiveStackValueAtDepth to follow the change in
JSTRY_FOR_OF
Bug 1344753 - Update for-of stack depth in
ControlFlowGenerator::processWhileOrForInLoop

Issue #74
2019-02-15 23:39:29 +08:00
janekptacijarabaci
d36d40760a Bug 1147371: Implement IteratorClose for array destructuring
Issue #74
2019-02-15 23:39:05 +08:00
janekptacijarabaci
5f3e5dc3fb Bug 1147371: Implement IteratorClose for for-of
Issue #74
2019-02-15 23:39:00 +08:00
wolfbeast
537415eeb7 Make XDR decoding more robust. 2019-02-15 23:30:48 +08:00
wolfbeast
b5de790f2a Remove remaining conditional GCZeal code.
Creates stubs:
jsgc.h/cpp
VerifyBarriers() stub
MaybeVerifyBarriers() stub
GCRuntime::computeNonIncrementalMarkingForValidation() stub
GCRuntime::validateIncrementalMarking() stub
GCRuntime::finishMarkingValidation() stub
GCRuntime::pushZealSelectedObjects() stub
bool useZeal?
GCRuntime::runDebugGC() stub
XPConnect:
nsXPCComponents_Utils::SetGCZeal() stub (always NS_OK)
2019-02-14 14:37:52 +08:00
Roy Tam
dcd9973243 import FIREFOX_52_6_0esr_RELEASE from mozilla-esr52 hg repo 2018-01-19 03:59:58 +08:00