Commit graph

7,775 commits

Author SHA1 Message Date
win7-7
590d0e03f7 1326027: Remove RawF32 and RawF64;
1326027: Remove RawF32 and RawF64;

I did not do 1326027: include SSE2 flags in autospider due they were not even in js/src/moz.build so does SSE2 matter to UXP?
2026-08-01 03:09:31 +01:00
win7-7
4c325bbdd2 1342045: Allow wasm::Memory of size 2**32
1342045: Allow wasm::Memory of size 2**32
2026-08-01 03:09:30 +01:00
win7-7
e75935a793 Bug 1332772 - Baldr: tweak memory/table limits
1332772 - Baldr: tweak memory/table limits
2026-08-01 03:09:30 +01:00
win7-7
939aa7fb5b Bug 1324008 Baldr: tweak internal limits to match other browsers
1324008 - Baldr: tweak internal limits to match other browsers.
2026-08-01 03:09:30 +01:00
win7-7
7008066b51 1329096 + 1316814
1316814 - Split wasm iterator's readEnd and popEnd.

1316814 - wasm baseline, use the iterator's control stack.

1329096 - Wasm baseline, remove the label pool and use NonAssertingLabel instead.

 1316814 is for preparation later for 1277562 (
Wasm: tiered compiler).
2026-08-01 03:09:30 +01:00
win7-7
9f9349f296 1326160 Wasm baseline: Division by nonzero constants can omit divide-by-zero check
1326160 - Omit divide by zero and overflow checks for some constants
2026-08-01 03:09:30 +01:00
win7-7
d100b1fbca 1316803 Wasm baseline: fold constant rhs into integer operations
1316803 part 1 - fold constant rhs for add/sub/shift/rotate/bitwise-ops.

1316803 part 2 - optimize division for constant rhs.
2026-08-01 03:09:30 +01:00
win7-7
965f656c72 1318252 - Baldr: Serialize Import's DefinitionKind
Otherwise, all imports are treated as function imports after deserialization. Fixes crash with 1321122.
2026-08-01 03:09:29 +01:00
win7-7
f1bb9e3b2d 1329018 Wasm: Move validation to helper threads, also 1317678
1329018 - Part 1: Wasm: Add plumbing for compile threads to report validation errors.

1329018 - Part 2: Wasm: Move function validation to helper threads.

Also: 1317678 - don't unconditionally unroll stack probe loop
2026-08-01 03:09:29 +01:00
win7-7
1f6c6d4469 1321122 - Baldr: add Module.customSections.
1321122 - Baldr: add Module.customSections.

As added here:
  https://github.com/WebAssembly/design/pull/877
2026-08-01 03:09:29 +01:00
win7-7
d23ddf632e Don't undo progress on batch compilation accidentally.
Don't undo progress on batch compilation accidentally.
2026-08-01 03:09:29 +01:00
win7-7
ba8732b25b 1316634 - Implement efficient WebAssembly.validate
1316634: Use ModuleEnvironment in the FunctionDecoder.

1316634: Move function validation to WasmBinaryFormat.h/cpp && rename it WasmValidate.

1316634: Implement efficient WebAssembly.validate

1316634: Use CheckedInt before checking against maximum limits
2026-08-01 03:09:29 +01:00
win7-7
69496939ad 1455703: Check for OOM in AstDecodeModuleTail
1455703: Check for OOM in AstDecodeModuleTail.
2026-08-01 03:09:29 +01:00
win7-7
562b53c8b4 1317319 wasm: Factor out section decoding, Part 2
1317319: Factor out Table section decoding.

1317319: Factor out Global section decoding.

1317319: Factor out Export section decoding.

1317319: Factor out Start section decoding.

1317319: Factor out Elem section decoding.

1317319: Move sections decoding around to follow their order in the binary.

1317319: Rename ModuleGeneratorData to ModuleEnvironment.

1317319: Embed most section decoding under DecodeModuleEnvironment.

1317319: Account imported globals when checking against the maximum number of globals.

1317319: Fix BinaryToAST function validation.

Fix error losing PrevEncodingVersion when refactoring for 1317319  part 2.

1317319: Tweak AstDecodeFunctionBody;
2026-08-01 03:09:28 +01:00
win7-7
7a7950b212 1298139 - Make LoopUnroller code handle OOM correctly
1298139 - Make LoopUnroller code handle OOM correctly
2026-08-01 03:09:28 +01:00
win7-7
d0736eaa44 1331414: Adding javascript.options.jit.full_debug_checks in about:config for people that want to use debug builds for surfing with less slowdown
1331414: Adding javascript.options.jit.full_debug_checks in about:config for people that want to use debug builds for surfing with less slowdown
2026-08-01 03:09:28 +01:00
win7-7
2497cc338e Stability fixes backporting.
1438645 - Prevent XDR from reading past its buffer.,

1325345 - Add compartment asserts to JS_FireOnNewGlobalObject and other APIs.

1339411 - Rewrite and optimize object allocation paths, NatibeObject.h, NativeObject-inl.h and jsiter.cpp were not updated use  JS::Result for stability, do that now.
2026-08-01 03:09:28 +01:00
win7-7
5741caf9b2 1370922 - [Ion] Handle allocation failure when generating Math.min.
1370922 - [Ion] Handle allocation failure when generating Math.min.
2026-08-01 03:09:28 +01:00
win7-7
8ce7ad6871 This change to add 1316078 part 4 - Add a script decoder as a valid off-main-thread parse-task was missed.
This change to add 1316078 part 4 - Add a script decoder as a valid off-main-thread parse-task was missed.
2026-08-01 03:09:28 +01:00
win7-7
148f327c8a Typo fix.
Typo fix.
2026-08-01 03:09:27 +01:00
win7-7
d116bfdfef Mix 55 js engine backporting mostly bugfixes.
1369337 - Forcibly create length and @@iterator properties for arguments when redefining.

1369680 - Use HasOwnProperty when resolving lazy properties to avoid triggering proxy traps in the proto-chain.

1319443 - Fix GlobalScopes XDR to encode global function bindings.

1335571 - Use template craziness to allow covering more cases with compartment asserts.
2026-08-01 03:09:27 +01:00
win7-7
f4b5f122a6 Performance improvements jit
1322724: IonMonkey - Add the hit count information on the extra false branch blocks

1322932: IonMonkey - Only iterate the backedge of the inner-loop when it has already be visited

1329901 - Remove expensive isObservableOperand() loop guards.

1330667: IonMonkey - Create a new constant for every optimized arguments use.

1342016 - Fast-path for isObservableSlot().

1388045 - Branch Pruning: Check the compile info associated with the resume point.
2026-08-01 03:09:27 +01:00
win7-7
b77788a7bd 1357680 and followup security fixes.
1357680 part 1 - Track Ion-inlined scripts explicitly so we can inline functions with unknown properties.

1357680 part 2 - Remove unnecessary setNewGroupUnknown call in SetClassAndProto.

1357680 part 3 - Don't mark the new group as having unknown properties when changing an object's proto.

1365518 - Fix polymorphic inlining to work correctly for functions that had their group/proto changed.

1368570 - Fix js::FinishCompilation to handle OOM correctly.

1395919 - Don't copy the unknown-properties flag in AddPropertyTypesAfterProtoChange.

1544386 part 1 - Call ElementAccessHasExtraIndexedProperty instead of ArrayPrototypeHasIndexedProperty when inlining array natives.

1538006 - Propagate unknownProperties when changing prototype.

1538006 - Don't emit unbarriered writes to an object if its group might change.
2026-08-01 03:09:27 +01:00
win7-7
52c12f5041 Two lines in this file were missed when doing 1342856 - Optimize volatile register spilling for C++ calls from IC stubs
Two lines in this file were missed when doing 1342856 - Optimize volatile register spilling for C++ calls from IC stubs, fixed now.
2026-08-01 03:09:27 +01:00
win7-7
5eb6f53b0d Performance improvements jit
1322724: IonMonkey - Add the hit count information on the extra false branch blocks

1322932: IonMonkey - Only iterate the backedge of the inner-loop when it has already be visited

1329901 - Remove expensive isObservableOperand() loop guards.

1330667: IonMonkey - Create a new constant for every optimized arguments use.

1342016 - Fast-path for isObservableSlot().

1388045 - Branch Pruning: Check the compile info associated with the resume point.
2026-08-01 03:09:21 +01:00
win7-7
8a82d779d7 Assert fixes and sec-fix.
Bug 1335146: IonMonkey - Don't do flow-aa on blocks without entry predecessor.

1329665 - Use fallible allocator in FlowAliasAnalysis::saveStoreDependency.

1329651: IonMonkey - Ensure ballast in EliminateDeadResumePointOperands.

Sec-fix: 1355050 - Root the RegExpShared in RegExpMacroAssembler

1375436: Assertion failure: throwing, at js/src/jscntxt.cpp:1466 with Debugger and async

Fix typo while at it in CodeGenerator.cpp
2026-08-01 03:07:33 +01:00
win7-7
fdba987b79 Trying adjust some functions. nsIEventTarget does not exists until later due xpcom changes that are not ported.
Trying adjust some functions. nsIEventTarget does not exists until later due xpcom changes that are not ported.
2026-08-01 03:07:33 +01:00
win7-7
b166ec94ae Revert "Trying add overrides back."
This reverts commit 2b77ab0100757e24a302db23e4ba692671d83ccb.
2026-08-01 03:07:33 +01:00
win7-7
d98b174d06 Trying add overrides back.
Trying add overrides back.
2026-08-01 03:07:33 +01:00
win7-7
b2d506c2a3 Removing #ifdef RELEASE_OR_BETA. Doubt it will allow compile this but whatever might as well test..
Removing  #ifdef RELEASE_OR_BETA. Doubt it will allow compile this but whatever might as well test..
2026-08-01 03:07:32 +01:00
win7-7
8e9c123ae7 Seems overrides are not necessary for this version unlike for Mozilla since they do not override base class memebers anyway?
Seems overrides are not necessary for this version unlike for Mozilla since they do not override base class memebers anyway?
2026-08-01 03:07:32 +01:00
win7-7
ed1899df7b Fix idle runnable DOM issues 1367905 fixes.
Fix idle runnable DOM issues 1367905 fixes.

Sadly this still does not compile. It just get further.

nsThreadUtils.cpp is still not fully fixed and nsCOMPtr.h has some conversion errors.
2026-08-01 03:07:32 +01:00
win7-7
a503bda1e4 Fix compilation of do_CreateInstance
Fix compilation of do_CreateInstance.
2026-08-01 03:07:32 +01:00
win7-7
f399229746 Fallout from mozilla version of file.
Fallout from mozilla version of file.
2026-08-01 03:07:32 +01:00
win7-7
436a8d5697 Part 4 could not suck more.
Part 4 could not suck more.

Sigh..

do_CreateInstance where was this defined so identifier is found..
2026-08-01 03:07:32 +01:00
win7-7
f109b02bc3 1325254 - optimize TimerThread data structures
1325254 P1 Make TimerThread::mTimers store RefPtr<nsTimerImpl> objects.

1325254 P2 Make TimerThread list store an entry struct and just drop nsTimerImpl ref on cancel.

1325254 P3 Sort TimerThread list as a binary heap.

1325254 P4 Dynamically allocate Entry structs stored in TimerThread::mTimers.

1325254 P5 Make nsITimer::Cancel() O(c).
2026-08-01 03:07:32 +01:00
win7-7
be3e4b917d Hmph.. another issue due needing 1325254 (which does not just work) or figuring out way get rid of Value.
Hmph.. another issue due needing 1325254 or figuring out way get rid of Value.
2026-08-01 03:07:32 +01:00
win7-7
ab6a9b981b Just import file from Mozilla.
Just import file from Mozilla.

It does help with templates but of course there is another issue.
2026-08-01 03:07:31 +01:00
win7-7
c4bf9a7b32 1358476, add support for timeout when doing idle dispatch
Templates suck. I cannot make this work likely.
2026-08-01 03:07:31 +01:00
win7-7
5499c5f9a3 1311425 - Make requestIdleCallback aware of timeouts.
Prepare for handling several sources of idleness.

Make idle callbacks aware of nsITimers.

Add pref for how far into the timer queue.

1311425 - Avoid expiration timers when scheduling idle runnables.

review comment fix to ensure low priority timers aren't taken into account when calling NS_GetTimerDeadlineHintOnCurrentThread.
2026-08-01 03:07:31 +01:00
win7-7
464b839bbd 1366750 - Rename nsIIncrementalRunnable to nsIIdleRunnable
1366750 - Rename nsIIncrementalRunnable to nsIIdleRunnable.
2026-08-01 03:07:31 +01:00
win7-7
b12cefe841 1371242 - Investigate if CC slices could use idle periods more likely
1371242, try to run CC slices more likely during idle periods.
2026-08-01 03:07:31 +01:00
win7-7
5893bbe274 I might revert this depending what it does on outside Android in memory usage since its Android relevant.
1397864, put back the higher GC budget when GC is triggered by a timer
2026-08-01 03:07:31 +01:00
win7-7
fa9a1402d5 1368972 - Increase slice time for long-running incremental GCs
1368972 - Increase slice time for long-running incremental GCs when CC has tried to run.
2026-08-01 03:07:31 +01:00
win7-7
d3450c11de 1376614 - Pass budget to forgetSkippable and return early when budget has been used
1376614 - Pass budget to forgetSkippable and return early when budget has been used,
2026-08-01 03:07:30 +01:00
win7-7
50944ecb18 1373067 - Ensure CC isn't started too often
1373067 - Ensure CC isn't started too often.
2026-08-01 03:07:30 +01:00
win7-7
137e995c26 1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time
1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time.

1367905 - Try to run GC/CC slices, including forgetSkippable, during idle time, tweaks to keep reftest memory usage lower.
2026-08-01 03:07:30 +01:00
wuggy
85f7844b5a Merge pull request 'Catch up with UXP (ES2023 and nested CSS)' (#27) from uxpcatchup into main 13.2.1-rc1
Reviewed-on: https://repo.dactyloidae.xyz/Dactyloidae/UXP/pulls/27
2026-07-31 19:58:41 +01:00
Basilisk-Dev
75db223e08 Issue #2551 - comment toSorted implementation 2026-07-31 19:46:56 +01:00
Moonchild
d4658401f7 No Issue - Remove redundant OS check for toolkit/fonts
This is already guarded by MOZ_BUNDLED_FONTS one level higher and blocks
--enable-bundled-fonts from working on other OSes
2026-07-31 19:46:55 +01:00