Commit graph

7,870 commits

Author SHA1 Message Date
win7-7
9a870dfa39 Revert "Fix remaining errors from mixing two different approaches."
This reverts commit 2bc5bb2397debec735599d7f29e523b8f5e69771.
2026-08-01 03:13:04 +01:00
win7-7
f1c61c8e2d Fix remaining errors from mixing two different approaches.
Fix remaining errors from mixing two different approaches.
2026-08-01 03:13:04 +01:00
win7-7
98ce3e1947 Crash is gone. Functionally seems work with indices. Going test with regexp zones and without to see this is ideal solution.
Crash is gone. Functionally seems work with indices. Going test with regexp zones and without to see this is ideal solution.
2026-08-01 03:13:04 +01:00
win7-7
4a4ab4f90a Revert "Revert "Attempt fix regexp crash. Not working.""
This reverts commit 7f55d9bbf5cc0cc471750f232a7b5bf877aafebc.
2026-08-01 03:13:03 +01:00
win7-7
857a456665 Revert "Attempt fix regexp crash. Not working."
This reverts commit 7206f041fc3cfdc9f1fa40057a52b0ee980d51f5.
2026-08-01 03:13:03 +01:00
win7-7
0e4df03e59 Attempt fix regexp crash. Not working.
Attempt fix regexp crash. Not working.
2026-08-01 03:13:03 +01:00
win7-7
e37444b446 Fix two asserts crashing properly instead bypassing that revealed bigger unsafe objectgroup sweeping during usage issue.
Fix asserts properly instead bypassing that revealed bigger unsafe objectgroup sweeping during usage issue.
2026-08-01 03:13:03 +01:00
win7-7
f1fde3abc5 Fix last crashing assert.
Fix last crashing assert.
2026-08-01 03:13:03 +01:00
win7-7
f2f15d6d7b 903519 - Reparent JSString from TenuredCell to Cell last missed aspect.
903519 - Reparent JSString from TenuredCell to Cell last missed aspect.
2026-08-01 03:13:03 +01:00
win7-7
c6cc6e457e 903519 - Done fully.
903519 - Change Relocated marker to not confuse string vs object bit, partially done before.
2026-08-01 03:13:03 +01:00
win7-7
446d46081f Fix logic not invert that if some registers are left still give extra registry causing slower performance than only doing extra registry when needed.
Fix logic not invert that if some registers are left still give extra registry causing slower performance than only doing extra registry when needed.
2026-08-01 03:13:02 +01:00
win7-7
a70d07a7bb These asserts now work after 903519 - Allocate strings in the nursery if enabled, leaving only one major assert left in jsgc.cpp.
These asserts now work after 903519 - Allocate strings in the nursery if enabled.
2026-08-01 03:13:02 +01:00
win7-7
2b736b9ddf Temporary. It no longer crashes with tradera.com and Speedometer 2.1 works with those asserts bypassed. Time re-enable them soon.
Temporary. It no longer crashes with tradera.com and Speedometer 2.1 works with those asserts bypassed. Time re-enable them soon.
2026-08-01 03:13:02 +01:00
win7-7
000ce1c8fa CodeGenerator.cpp missing JIT support for nursery, there was some missing implementation.
CodeGenerator.cpp missing JIT support for nursery, there was some missing implementation.
2026-08-01 03:13:02 +01:00
win7-7
51d5c3cda8 Where did this come from?
Where did this come from? It fixes two crashing assertions. Still another crash further down.
2026-08-01 03:13:02 +01:00
win7-7
9eede345ec 1380030 fully.
1380030 - Remove color constants from public API and replace with an internal MarkColor enum.

1380030 - Simplify and refactor use of isMarked*() methods.

I only had one part of this before: Refactor isMarked() methods into separate methods for each color and any.
2026-08-01 03:13:02 +01:00
win7-7
8c8d16709d 903519 - Allocate strings in the nursery if enabled
903519 - Allocate strings in the nursery if enabled, missed change somehow.
2026-08-01 03:13:02 +01:00
win7-7
2f815b1d5b 903519 - Strings in the nursery: barriers
Cell.h was missed after headers split to nursery support. Third crash.
2026-08-01 03:13:01 +01:00
win7-7
6acf628a7b Enable nursery strings fixes from 67. Still crashes.
Enable nursery strings fixes from 67. Still crashes.
2026-08-01 03:13:01 +01:00
win7-7
58e3dd88fa Enable nursery strings.
Enable nursery strings and see to fix crash:

1442481 - Use whole cell buffer to post-barrier string -> string edges
2026-08-01 03:13:01 +01:00
win7-7
49bb3e3569 1434263 - Refactor JSString to have an IsLinear flag instead of IsFlat.
1434263 - Refactor JSString to have an IsLinear flag instead of IsFlat. Fixes crash.
2026-08-01 03:13:01 +01:00
win7-7
f50af06b74 Fixes. Now compiles and links, still crashes at atoms zone similar previous nursery strings.
Fixes. Now compiles and links, still crashes at atoms zone similar previous nursery strings.
2026-08-01 03:13:01 +01:00
win7-7
e01a571e52 903519 - Disable nursery strings in a Zone if too many get tenured among with other fixes, won't fix startup crash assert though.
903519 - Disable nursery strings in a Zone if too many get tenured among with other fixes, won't fix startup crash assert though.

Also small fix for expanding macro correctly.
2026-08-01 03:13:01 +01:00
win7-7
31404beca9 Fixes to VMFunctions.cpp, assert no longer crashes.
Fixes to VMFunctions.cpp, assert no longer crashes.
2026-08-01 03:13:00 +01:00
win7-7
6292bee1ed 903519 - Remove verifier assumption that only objects are in the nursery
903519 - Remove verifier assumption that only objects are in the nursery. This is only relevant after 55 verifier.
2026-08-01 03:13:00 +01:00
win7-7
b19ceed80f 903519 - Strings in the nursery: barriers, one missed change.
903519 - Strings in the nursery: barriers, one missed change. Still crashes.
2026-08-01 03:13:00 +01:00
win7-7
762d129624 Split up Heap.h to Cell.h and 903519 - Change Relocated marker to not confuse string vs object bit, RelocationOverlay.h aspect.
Split up Heap.h to Cell.h and 903519 - Change Relocated marker to not confuse string vs object bit, RelocationOverlay.h aspect.
2026-08-01 03:13:00 +01:00
win7-7
d8d6e3aa8a CacheIR nursery changes.
CacheIR nursery changes.
2026-08-01 03:13:00 +01:00
win7-7
a67ae5c63b 1328948 + 1421152 + 903519 forgotten part.
1328948 - add is(), as() to Cell.

903519 - Strings in the nursery: JIT, HeapAPI.h was forgotten.

1421152 - Add a checked cast method to TenuredCell.
2026-08-01 03:13:00 +01:00
win7-7
09b6a56580 Resolve 1 missing symbol in linking.
Resolve 1 missing symbol in linking.
2026-08-01 03:13:00 +01:00
win7-7
8f264319ae More fixes this almost compiles.. need cherry pick one more change.
More fixes this almost compiles.. need cherry pick one more change.
2026-08-01 03:12:59 +01:00
win7-7
6b98f83b3a More fixes this almost compiles.. maybe.
More fixes this almost compiles.. maybe.
2026-08-01 03:12:59 +01:00
win7-7
6e94da4f21 Forgotten change.
Forgotten change.
2026-08-01 03:12:59 +01:00
win7-7
f2979fc5f0 Fixes.
Fixes.
2026-08-01 03:12:59 +01:00
win7-7
54a59df1d0 Further fixes
Further fixes
2026-08-01 03:12:59 +01:00
win7-7
f57bf9f4d5 Fixes.
Fixes.
2026-08-01 03:12:59 +01:00
win7-7
160727bcea Comment out debug only code and change register types. This will not compile yet though to test how this would work.
Comment out debug only code  and change register types.
2026-08-01 03:12:58 +01:00
win7-7
2cfdd80caf Fixes.
Fixes.
2026-08-01 03:12:38 +01:00
win7-7
6079c8fdb4 903519 - Implement AutoSuppressNurseryCellAlloc to avoid nursery allocation just before offthread parse startup
903519 - Implement AutoSuppressNurseryCellAlloc to avoid nursery allocation just before offthread parse startup
2026-08-01 03:12:28 +01:00
win7-7
eb8b8e28d2 903519 - Split out string nursery pointers from object nursery
903519 - Split out string nursery pointers from object nursery, this was not done before.
2026-08-01 03:12:27 +01:00
win7-7
af8f174181 1444335 - Nursery allocation is not infallible, even right after collecting the nursery
1444335 - Nursery allocation is not infallible, even right after collecting the nursery. Hoping this solves crash.
2026-08-01 03:12:27 +01:00
win7-7
086bacbf22 903519 - Register nursery string buffers to be freed
903519 - Register nursery string buffers to be freed, this was missed somehow before.
2026-08-01 03:12:27 +01:00
win7-7
2c7a142dc6 Bug 903519 - Strings in the nursery: JIT
Bug 903519 - Strings in the nursery: JIT, majority of it was not done before due CodeGenerator.cpp
2026-08-01 03:12:27 +01:00
win7-7
166a98559f Fix more errors.
Fix more errors.
2026-08-01 03:12:27 +01:00
win7-7
53eb4e1f31 Sigh..
Sigh..
2026-08-01 03:12:27 +01:00
win7-7
7945c4577f Some more fixes.
Some more fixes.
2026-08-01 03:12:26 +01:00
win7-7
b9a2a715cd Bug 903519 - allocate JSStrings and string data in the Nursery
903519 part 2: Reparent JSString from TenuredCell to Cell.

903519 Part 3: Make js::Allocate cast strings to requested type.

903519 Part 4: Force non-atom strings to have their low flag bit set in order to distinguish them from JSObjects in the nursery.

903519 Part 5: Strings in the nursery: allocation.

Mixed reset later.
2026-08-01 03:12:21 +01:00
win7-7
44bd6d9e6b Various fixes.
Various fixes. INIT_ROPE_FLAGS does not exist in this time of js engine, unsure why it was added. String.h fix  closure. Don't comment out new code in Barrier.h. Mir.h change back to MAryInstruction<4>, since MQuaternaryInstruction does not work and calls MAryInstruction<4> anyway. Note this likely need  parts of 1412912  hopefully solve failing static asserts.
2026-08-01 03:12:10 +01:00
win7-7
0319c4c77c 1464912 - Add exposeToActiveJS specialization for JSString.
1464912 - Add exposeToActiveJS specialization for JSString. Necessary for nursery.
2026-08-01 03:12:10 +01:00
win7-7
9959a69efd Remaining file updated.
Remaining file updated.
2026-08-01 03:12:10 +01:00