Commit graph

1,304 commits

Author SHA1 Message Date
Moonchild
d7f01911b8 Issue #2731 - Fix crashes on unknown BigInt types in JIT
This only works around the unknown type crashes but doesn't actually fix
attempts at using 64-bit BigInts in Ion.
Resolves #2731
2025-04-30 22:58:27 +08:00
roytam1
42e13fd8bf Merge remote-tracking branch 'origin/tracking' into custom 2025-04-18 10:32:18 +08:00
Brian Smith
59977aa358 No issue - Various updates for Mac buildability with XCode 16.3 2025-04-18 10:30:02 +08:00
roytam1
79614a4216 js: use MOZ_MUST_USE instead of C++17 keyword 2025-03-27 09:15:28 +08:00
roytam1
e5a48f8565 Merge remote-tracking branch 'origin/tracking' into custom 2025-03-27 09:05:29 +08:00
Martok
7d3dc5a2f2 Issue #2692 - Follow-Up: fix compilation in debug 2025-03-27 09:04:21 +08:00
Moonchild
c31cda6c74 No issue - Fix incorrect js message ref in js shell. 2025-03-27 09:04:00 +08:00
Moonchild
788cc4acb2 No issue - Add range checking to SharedArrayBuffer references.
This avoids a potential crash when juggling SAB allocations.
2025-03-27 09:02:33 +08:00
roytam1
2a53c574f6 Merge remote-tracking branch 'origin/tracking' into custom 2025-03-13 23:05:24 +08:00
Moonchild
5fd304507d Issue #2692 - Part 7: De-globalize {*}CompileOptions.
Make all users of the various *CompileOptions classes #include "js/CompileOptions.h"
so that nothing but that file has to know about these classes having a
JS_PUBLIC_API on them, that would have to be present in forward-declarations.
2025-03-13 23:03:43 +08:00
Moonchild
2e4620b5af Issue #2692 - Part 6: Don't #include js/SourceBufferHolder.h in jsapi.h.
Instead, require users to do so. This is a minor translation-unit size
improvement for anyone who never has to use SourceBufferHolder other than
by reference.
2025-03-13 23:01:46 +08:00
Moonchild
40ed1b10f4 Issue #2692 - Part 5: Split out compilation and evaluation APIs into its own header. 2025-03-13 22:59:38 +08:00
Moonchild
307621db50 Issue #2692 - Part 4: Split out off-thread compilation API to its own header. 2025-03-13 22:59:23 +08:00
Moonchild
eca185aa79 Issue #2692 - Part 3: Split out JS compiled script transcoding to its own header. 2025-03-13 22:59:08 +08:00
Moonchild
565fb4b05a Issue #2692 - Part 2: Split out JS SourceBufferHolder to its own header. 2025-03-13 22:58:50 +08:00
Moonchild
9436bfa175 Issue #2692 - Part 1: Split out JS CompileOptions to its own header. 2025-03-13 22:58:36 +08:00
roytam1
8a35744175 Merge remote-tracking branch 'origin/tracking' into custom 2025-03-07 21:50:11 +08:00
Moonchild
43a2299480 Disable potentially unsafe attempts at recovering JIT operations. 2025-03-07 21:49:32 +08:00
Shadow
37dcef684a PR #2695 - Simplify block-value popping in Ion compilation 2025-03-07 21:43:39 +08:00
roytam1
d4f1c1faed Merge remote-tracking branch 'origin/tracking' into custom 2025-02-18 19:13:36 +08:00
Moonchild
3bac3ab0b5 No issue - avoid potential underflow in StructuredClone.
Prevents potential loop-around if there's bogus internal Map data.
2025-02-18 19:10:57 +08:00
roytam1
f7298813f9 Merge remote-tracking branch 'origin/tracking' into custom 2025-02-06 09:30:57 +08:00
Moonchild
7163430d1a Null-check inputs for String and BigInt
Crash fix for null crash when feeding bogus strings or BigInts to
StructuredClone.
2025-02-06 09:26:42 +08:00
roytam1
de916190fd js: check bi before using it in JSStructuredCloneWriter::writeBigInt() 2025-02-05 19:18:13 +08:00
roytam1
904406a497 Merge remote-tracking branch 'origin/tracking' into custom 2025-01-20 21:13:46 +08:00
Moonchild
38daeffb9b Issue #2678 - Avoid QIing for NoteXPCOMRoot.
This callback is only used in very limited ways, so just require that the
caller passes in the canonical supports pointer plus the participant.

This probably won't affect performance much.
2025-01-20 21:07:45 +08:00
Moonchild
32da3f4de4 Issue #2678 - Remove the DOM proxy expando object hashtable in xpconnect. 2025-01-20 21:06:59 +08:00
roytam1
c6517989ab Merge remote-tracking branch 'origin/tracking' into custom 2024-11-29 21:00:51 +08:00
Moonchild
6c6ab6de1a [js] Avoid potential crash if GC cell is no longer valid. 2024-11-29 20:50:26 +08:00
roytam1
310c05b97a Merge remote-tracking branch 'origin/tracking' into custom 2024-11-21 21:09:29 +08:00
Moonchild
7f086f216c Issue #2653 - Part 3: Remove support for packaged apps from asmjscache 2024-11-21 21:02:19 +08:00
roytam1
6db7856f7f Merge remote-tracking branch 'origin/tracking' into custom 2024-11-13 23:24:49 +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
roytam1
f890f88314 Revert "Issue #2645 - Fix type confusion for ResumeKind"
This reverts commit 19c4996881.
2024-10-24 22:55:27 +08:00
roytam1
7df6fa1c80 Merge remote-tracking branch 'origin/tracking' into custom 2024-10-24 07:39:14 +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
roytam1
73f3390cf8 Merge remote-tracking branch 'origin/tracking' into custom 2024-10-03 14:35:59 +08:00
Steve Fink
9a6e3bc30d [js] Disallow deserializing structured clone buffers with transferables more than once. 2024-10-03 14:35:12 +08:00
roytam1
2b0cdc7b62 Merge remote-tracking branch 'origin/tracking' into custom 2024-09-22 20:54:25 +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