Commit graph

7,760 commits

Author SHA1 Message Date
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
Basilisk-Dev
d3764451e2 Issue #2551 - Add toSorted test and do some final tweaks to toSorted to be compliant 2026-07-31 19:46:55 +01:00
Basilisk-Dev
4edeca8c62 Issue #2551 - Ensure toSorted is 100% spec compliant per multiple tests 2026-07-31 19:46:55 +01:00
Basilisk-Dev
18c04a471d Issue #2551 - Initial attempt at toSorted implementation 2026-07-31 19:46:21 +01:00
Moonchild
bc0dbe9abb Issue #2928 - Improve imgLoader cache queue handling.
- Convert the imgCacheQueue to nsTArray from Vector
- Avoid marking the queue dirty when element operations are performed
that don't upset the sort order. This should improve performance as well.
2026-07-31 19:46:21 +01:00
Moonchild
3b799da2f8 Issue #2928 - Avoid searching the image cache queue for an entry after we just popped it off the queue. 2026-07-31 19:46:21 +01:00
Moonchild
252cbabfd4 Issue #2928 - Always refresh dirty queue. 2026-07-31 19:46:21 +01:00
Moonchild
7332833ecc Issue #2928 - Re-order imgLoader::RemoveFromCache
Remove from tracker first before removing from cache, and if the cache
queue is dirty, refresh it (causes a re-heap) before manipulating further.
2026-07-31 19:46:21 +01:00
Moonchild
f7820b0ab5 Issue #2928 - Check mCacheQueue size before removing entries.
Resolves #2928
2026-07-31 19:46:20 +01:00
Basilisk-Dev
c88750f498 Issue #2862 - css nesting pref true by default 2026-07-31 19:28:34 +01:00
Basilisk-Dev
700d17fea8 Issue #2862 - Remove unused vars in CSS flattener 2026-07-31 19:28:34 +01:00
Basilisk-Dev
df9550ae5a Issue #2862 - Change tests from lowering to flattening 2026-07-31 19:28:34 +01:00
Basilisk-Dev
64d55b0a2e Issue #2862 - Change code references from CSS lowering to CSS flattening 2026-07-31 19:28:33 +01:00
Basilisk-Dev
505600c45e Issue #2862 - handle more edge cases in css lowering 2026-07-31 19:28:33 +01:00
Basilisk-Dev
2a0179437f Issue #2862 - more tests files for nested css 2026-07-31 19:28:33 +01:00
Basilisk-Dev
c12883cfcf Issue #2862 - Split the css lowering functionality out to a separate file for easier maintenance 2026-07-31 19:28:33 +01:00