Commit graph

1,540 commits

Author SHA1 Message Date
win7-7
f8d18b97b1 1331064 - Assertion failure: throwing, at js/src/jscntxt.cpp:946 with wasm and Debugger
1331064 - Ignore wasm onExceptionUnwind events in JSTRAP_ERROR state.
2026-08-01 03:09:32 +01:00
win7-7
dc516e0658 1331592 - Assertion failure: data_.state_ == INTERP, at js/src/vm/Stack.cpp:495 with Debugger and wasm
1331592 - Skipping wasm frames during debugger eval.
2026-08-01 03:09:32 +01:00
win7-7
f1fdb383f6 1332493- Crash [@ js::wasm::Instance::object]
1332493 - Initialize wasm::DebugFrame before stack overflow check.
2026-08-01 03:09:32 +01:00
win7-7
5dde8c1c4a 1342497 - Baldr: store current frame, not previous frame, in wasm::FrameIterator
1342497 - Baldr: store current frame, not previous frame, in wasm::FrameIterator.
2026-08-01 03:09:32 +01:00
win7-7
b3e4157642 1330489 - Crash [@ mozilla::UniquePtr<JS::ubi::EdgeRange, JS::DeletePolicy<JS::ubi::EdgeRange> >::operator->] with wasm and Debugger
1330489 - Ignore imports for wasm debug frames and discard frames in activation on throw.
2026-08-01 03:09:31 +01:00
win7-7
6ec6324056 1331452 - jit-test/tests/debug/wasm-06.js failures with CGC builds
1331452 - Keep scope in a slot in WasmFunctionCallObjects.

1331452 - Followup: hazard fix.
2026-08-01 03:09:31 +01:00
win7-7
9754fb007b 1286948
1286948 - Adds debug mode for WASM baseline compiler.

1286948 - Adds scope and environment for wasm calls (Adds artificial JS scope and environment for wasm frames. That allows
debugger to properly handle call stack).

1286948 - Adds prolog and epilog debug traps and handlers (Using toggled call/traps to invoke handler to process enter and leave
frame events).

1286948 - onEnterFrame/onLeaveFrame wasm events and callstack (Handles onEnterFrame and onLeaveFrame trap handling. The FrameIter is used in
the DebuggerFrame instead of ScriptFrameIter. The debug wasm frame is created
and can be found on callstack during those event).

Does not compile without 1331452 - Keep scope in a slot in WasmFunctionCallObjects along with 1335773 - Inspects wasm function locals to build
2026-08-01 03:09:31 +01:00
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
Basilisk-Dev
75db223e08 Issue #2551 - comment toSorted implementation 2026-07-31 19:46:56 +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
wuggy
7792452105 More optimisations n shit 2026-07-22 15:14:39 -07:00
wuggy
cac6802c55 Implement TypedArray.prototype.toSorted 2026-07-13 18:02:11 -07:00
wuggy
5ffe72cab3 fix link error 2026-07-06 00:52:55 +01:00
wuggy
e5e8caf404 Remove linker check altogether screw it 2026-06-30 06:06:22 +01:00
wuggy
635b5cc00a Update tabs because Python 2026-06-30 06:03:07 +01:00
wuggy
ff1e5e48bf Re-add openMpCount 2026-06-29 21:11:15 +01:00
wuggy
4b6afe41d7 Fix build error in SelfHosting.cpp 2026-06-29 06:55:57 +01:00
wuggy
072d1ecbb2 Fix build error 2026-06-28 07:29:02 +01:00
wuggy
d87ae3b6bf Fix build error in Lowering-loongarch64.cpp 2026-06-28 07:24:08 +01:00
Basilisk-Dev
0b9bf2f657 Issue #3049 - loongarch64: remove remaining MIPS file diffs 2026-06-28 06:48:15 +01:00
Basilisk-Dev
a8d106c2cb Issue #3049 - loongarch64: localize shared JIT cleanup 2026-06-28 06:46:51 +01:00
Basilisk-Dev
71c63cd70f Issue #3049 - loongarch64: drop inert minimal JIT path 2026-06-28 06:46:12 +01:00
Basilisk-Dev
1b904254ce Issue #3049 - loongarch64: trim non-JIT PR fallout 2026-06-28 06:45:46 +01:00