Moonchild
7f086f216c
Issue #2653 - Part 3: Remove support for packaged apps from asmjscache
2024-11-21 21:02:19 +08:00
Moonchild
1878228db7
Issue #2305 Part 4: Check for failure when getting RegExp match result template
...
Null deref crash fix.
2024-11-13 23:24:27 +08:00
Martok
a382c2aa66
Issue #2305 Part 3c: Merge repeated loops over MatchPairs
2024-11-13 23:23:59 +08:00
Martok
6dbe2de6db
Issue #2305 Part 3b: Create .indices and .indices.groups
2024-11-13 23:23:27 +08:00
Moonchild
2d8696c4fe
Issue #2305 Part 3a: Pass ResultTemplateKind through CreateRegExpMatchResult
...
This sets up the MatchResult with the proper structure to contain indices
when necessary.
2024-11-13 23:23:00 +08:00
Moonchild
845d36d582
Issue #2305 Part 2: Support .indices in match result template objects
...
Before match indices, all match results had the same shape. (If there are
no named capture groups, `.groups` exists but is undefined.) Match results
with `.indices` have a distinct shape, so we need a distinct template
object. We also need a template object for `.indices` itself.
2024-11-13 23:21:30 +08:00
Moonchild
47ef1701b3
Issue #2305 Part 1: Add support for hasIndices to RegExpFlags (/d)
...
Adds recognition and parsing of the /d RegExp flag.
Drive-by correction: add missing "s" for dotAll to RegExpObject::toString.
Tag #1284 and #2008
2024-11-13 23:20:49 +08:00
Moonchild
8bbcb50b62
Revert "Issue #2645 - Fix type confusion for ResumeKind"
...
This reverts commit 12e9db2481d2b542e4f32f9b5ba63a4c72b874d5.
2024-10-31 21:46:55 +08:00
Moonchild
e665b30629
Issue #2645 - Return null if getName() PC is invalid.
2024-10-24 07:37:47 +08:00
Moonchild
19c4996881
Issue #2645 - Fix type confusion for ResumeKind
...
It used a mix of uint8_t and uint16_t. Set it to uint16_t.
Also don't allow non-typeset to simplify stubs used in compound opcodes.
2024-10-24 07:36:44 +08:00
Steve Fink
9a6e3bc30d
[js] Disallow deserializing structured clone buffers with transferables more than once.
2024-10-03 14:35:12 +08:00
Martin Husemann
b1fd3b72cf
Make NetBSD/powerpc use the powerpc atomic ops.
...
NetBSD/powerpc gcc does not predefine __ppc__, but only __powerpc__,
so add that to the preprocessor ifdef cascade to select atomic
ops.
2024-09-22 20:45:12 +08:00
Moonchild
efad094b02
Make inaccurate GC stats reporting non-fatal in debug builds.
...
Not sure why this was fatal as it only hinders being able to report memory
issues to a debugging dev :P
2024-09-22 20:44:32 +08:00
FranklinDM
97a40adc75
Issue #2251 - Expose ghost window unlinking to release builds.
2024-09-22 20:43:48 +08:00
Moonchild
2b4e577d8e
No issue - Fix asserts in debug.
...
Hashbang parser changes allow more than one EOL which screws up these
assertions' premise. Just remove them as the preconditions are no longer
valid.
2024-09-22 20:43:23 +08:00
Brian Smith
27e66e3f82
No Issue - Fix building for Apple Silicon Mac with Xcode 16. Due to the following LLVM change labels need to be outside .cfi_start/endprocs: https://reviews.llvm.org/D155245 Solution pointed out here is to move the label above .cfi_startproc: https://github.com/libffi/libffi/issues/807
2024-09-22 20:42:53 +08:00
Nia Alarie
dd6526daae
js: Support for the MPROTECT security feature (PaX and NetBSD)
...
On such platforms, remapping memory that was once writable
to executable is forbidden unless the initial mmap() is declared
to change in such a way using the PROT_MPROTECT macro.
2024-09-13 10:02:50 +08:00
Moonchild
ec8793a094
[js xpconnect] Fix error handling in xpc::CreateSandboxObject
2024-09-06 09:17:32 +08:00
Moonchild
8f31479968
[js] Simplify with-env handling in FetchName
2024-09-06 09:16:51 +08:00
Moonchild
7cc9551e79
Issue #2559 - Implement hashbang grammar
...
This adds special-case #! comment handling at the top level, treating
any hashbang line as a single-line comment in the parser.
This only applies to Eval(), module script or global context.
2024-09-06 09:15:51 +08:00
Moonchild
ef1f142cde
Issue #2531 - Adjust rounding in toExponential (and kin) to round up at midpoint.
...
Resolves #2531
2024-07-02 22:08:14 +08:00
Moonchild
f4b6cee0cc
Issue #2543 - adjust toFixed precision range according to spec update.
...
As pointed out in the ecma-262 spec change discussion, the behavior is
inconsistent for negative numbers because the exponential fallback assumes
all the digits will be displayed. The negative support was motivated just
by consistency, without any particular concrete use cases, and it's not
supported in other browsers, so this patch removes negatives.
Resolves #2543
2024-07-02 22:07:55 +08:00
Moonchild
40c9102d6d
[js gc] Suppress GC during JSObject::swap
...
We already suppressed GC for part of this, but we may sweep before the pre-write
barrier is established.
The simplest and safest thing is to suppress GC for the whole method.
2024-06-13 11:30:25 +08:00
Martok
2128ac642e
Issue #2519 - Use parser error reporter to report missing module exports
2024-06-04 10:16:36 +08:00
Moonchild
dc52303799
[js] Simplify tracing of arguments in MarkThisAndArguments.
2024-04-19 09:34:45 +08:00
Moonchild
6176bd62d9
Issue #2490 - Part 12: Convert CSSStyleRule to WebIDL.
...
The .style PutForwards bit is coming along for the ride here, aligning us with
the behavior of Blink and Gecko.
2024-04-08 11:01:02 +08:00
Moonchild
525606c15d
Issue #2490 - Part 11: Convert CSSImportRule to WebIDL.
...
Note that the .media PutForwards is a new feature coming along for the ride, now
that we're using the spec IDL.
2024-04-08 10:59:42 +08:00
FranklinDM
6d154eee11
Issue #58 - Follow-up: Remove Rust binding leftovers
2024-04-02 22:46:00 +08:00
Moonchild
9e3d38b642
Issue #618 - Follow-up: Fix missed constant refactor preventing ExportEntries from working.
2024-01-29 15:28:56 +08:00
Brian Smith
5b068f3726
Issue #2402 - CSP Violation events should have the correct sample for inline contexts. https://bugzilla.mozilla.org/show_bug.cgi?id=1473587 Add preference to increase max length of CSP report source sample. https://bugzilla.mozilla.org/show_bug.cgi?id=1415352 Return valid columnNumber value in CSP violation events. https://bugzilla.mozilla.org/show_bug.cgi?id=1418246
2024-01-11 09:50:12 +08:00
Brian Smith
0e0ec8cb20
Issue #2402 - CSP should throw EvalError when blocking eval() and Function(). https://bugzilla.mozilla.org/show_bug.cgi?id=1473024 https://bugzilla.mozilla.org/show_bug.cgi?id=1490165
2024-01-11 09:47:08 +08:00
Martok
90eb83819c
Issue #2435 - Re-Implement rejected Promises events according to spec
...
Own implementation; upstream gets several things wrong.
2024-01-09 12:00:53 +08:00
Martok
9126a4836f
Issue #2435 - Implement notifying of rejected promises
...
Based-on: m-c 1362272
2024-01-09 12:00:33 +08:00
Martok
f059bb0a59
Issue #2240 - Align Microtasks and promises scheduling with spec
...
Microtasks, resolved Promises and Observers are handled after the sync
task that caused them, in the order they were generated.
Also simplifies reentrancy handling.
Based-on: m-c 1193394
2024-01-09 11:59:32 +08:00
Gaming4JC
10a37ae467
Issue #1442 Follow-up: Fix debug assertion in JSFun
...
Change in d5020b69bd introduced a debug build crash, this fixes the crash by properly porting the changes to an assertion as mentioned in issue #2410 .
2024-01-05 10:09:09 +08:00
Matheus Marinho
2e330af8c4
No Issue - Fix syntax in js/src/jsapi-tests/moz.build
2024-01-05 10:07:09 +08:00
Brian Smith
eef37b2cd5
Issue #2387 - Collection of fixes related to a crash while canceling a dynamic import. Add AddRef/Release hooks for embedding's script or module private value and set this script source object where appropriate. https://bugzilla.mozilla.org/show_bug.cgi?id=1519140 Partial, no Value passing changes. Clear the list of dynamic import requests after cancelling them in ScriptLoader::ParsingComplete as we do for other requests. https://bugzilla.mozilla.org/show_bug.cgi?id=1291535 ScriptLoader::OnStreamComplete never returns a failure. https://bugzilla.mozilla.org/show_bug.cgi?id=1627275 Also cancel the correct kind of parser for Modules.
2023-11-30 09:51:50 +08:00
Basilisk-Dev
ae5bfc9ff2
No Issue - StructuredClone serialize and deserialize should treat back reference consistently
...
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1538622
2023-11-10 15:31:51 +08:00
Basilisk-Dev
727a24d78e
No issue - Structured clone algorithm doesn't serialize Array Length contrary to HTML spec, resulting in truncation of trailing sparse arrays like [1,2,3,,]
...
Backport of https://bugzilla.mozilla.org/show_bug.cgi?id=1476955
2023-11-10 15:31:33 +08:00
Brian Smith
cd66a17327
Issue #2354 - Restore ARM32 buildability on Linux. Fix ION breakages due to BigInt changes. Fix breakages from libjpeg, libyuv and libvpx upgrades. Restore ARM(32/64) NEON FPU support in libyuv.
2023-11-04 11:36:56 +08:00
Moonchild
e65b46ba0f
Issue #2350 - Part 2: Allow "maximumFractionDigits" option in Intl.NumberFormat to be less than the default minimum fraction digits.
...
This implements the changes from the "has consensus" PR in TC39
The second pair of `DefaultNumberOption()` calls was inlined, because
only the fallback case is relevant anyway.
Steps 12.d and 12.e from the spec PR were combined into a single
`if`-block. That way it also matches step 12.f more closely.
Also changed the single `if` steps into an `if-else if` chain, because
the steps are mutually exclusive.
2023-10-21 11:04:15 +08:00
Moonchild
be81bae5b7
Issue #2350 - Part 1: Apply "minimumIntegerDigits" to number-formatters with fraction-digits.
...
Implements the changes to `SetNumberFormatDigitOptions` and
`FormatNumberToString`, except for the support of the new
"compact-rounding" mode.
This also includes a few minor fixes for edge cases (like -0 vs. 0)
2023-10-21 11:03:56 +08:00
Moonchild
735bb78c28
Issue #2350 - Part 0: Add a helper function DefaultNumberOption
...
This is the abstract operation that converts an option value to a number
value, checking whether it is in the allowed range, and filling in a
fallback value if necessary.
2023-10-21 11:03:34 +08:00
Brian Smith
46024cd872
Issue #1442 Follow-up: Stop pretending proxies have a JSNative call/construct hook. https://bugzilla.mozilla.org/show_bug.cgi?id=1471924 Part 1 Also remove an erroneous debug assert and guard against future issues. This fixes crashes on vk.com but still does not behave correctly.
2023-10-18 09:48:01 +08:00
Brian Smith
41409ab613
Issue #1442 & #1691 Follow-up - Part 22 - Changes that came with Dynamic Module Import. At the time we did not have ReadableStreams in our tree so these changes were left out. https://bugzilla.mozilla.org/show_bug.cgi?id=1499140 Implement support for dynamic module import in the interpreter.
2023-10-04 10:03:49 +08:00
Brian Smith
0701dccaca
Issue #1442 - Part 5: Implement WebIDL bindings for Streams. https://bugzilla.mozilla.org/show_bug.cgi?id=1128959
2023-10-04 09:54:00 +08:00
Brian Smith
9b9075eef6
Issue #1442 - Part 4: Add JSAPI functions for working with ReadableStream. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697
2023-10-04 09:53:45 +08:00
Brian Smith
54e84f0f1d
Issue #1442 - Part 3: Implement ReadableStream and associated classes in the JS engine. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697
2023-10-04 09:53:29 +08:00
Brian Smith
62467428a3
Issue #1442 - Part 2: Add a run-time preference for toggling the streams API. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697
2023-10-04 09:53:12 +08:00
Brian Smith
90ca1f569a
Issue #1442 - Part 1: Change ArrayBufferCopyData self-hosting intrinsic to take a start offset for the destination. This will be needed to manage stream chunks. https://bugzilla.mozilla.org/show_bug.cgi?id=1272697
2023-10-04 09:52:57 +08:00