Commit graph

725 commits

Author SHA1 Message Date
Moonchild
549389d327 No issue - factor out some frame iterator helper functions. 2023-01-19 09:41:27 +08:00
Job Bautista
ee541a5330 Issue #80 - Re-unify some more missed sources in js/src 2023-01-13 13:29:05 +08:00
FranklinDM
2f7f622cd4 No issue - Fix invalid neq check on assert in RegExpParser 2023-01-10 07:41:54 +08:00
Martok
86782b8f39 Issue #1382 - RegExpShared::groupsTemplate_ cannot be a GCPtr since RegExpShared is managed by C++ 2023-01-06 20:36:47 +08:00
Job Bautista
507ed86ef5 Issue #80 - Fix deprot in js/src/irregexp.
Regression seems to have been introduced by PR #2060? This tree didn't fail
 building before we've reinstated unified building for js/src.
Found while building js/src de-unified.
2022-12-30 09:23:06 +08:00
Job Bautista
5c505b86ca No issue - Fallthrough attributes must be terminated with semicolon.
This also fixes building with Clang 15 on Linux.
2022-12-30 09:21:30 +08:00
FranklinDM
558b83975c Issue #2065 - Part 3: Process install manifests with --track in the recursive make backend
This excludes parts that remove support for building the Mozilla SDK.
Based on https://bugzilla.mozilla.org/show_bug.cgi?id=1390916
2022-12-30 09:20:05 +08:00
Martok
904ddfa28f Follow-up #2060 - Correctly handle \k in non-unicode expressions 2022-12-30 09:08:53 +08:00
Martok
81a8ac427a Issue #1286 - Parse unicode property escapes and property sequences
In addition to upstream, we also allow RGI-named sequences since they're used in the wild.
2022-12-24 08:09:55 +08:00
Martok
d2e0e199b7 No issue - Refactor CharacterRange + Unicode handling into module for maintainability
Collects code from RegExpParser and RegExpEngine (regexp-compiler-tonode.cc)
Simplify parsing AtomEscape/CharacterClassEscape
2022-12-24 08:09:52 +08:00
Martok
6eead2deb4 Issue #1285 - Implement named capturing groups for replacing 2022-12-24 08:09:49 +08:00
Martok
e81a8d866d Issue #1285 - implement named capturing groups and named backrefs
- RegExpParser collects seen groups in named_captures_.
- After irregexp::ParsePattern has finished, RegExpParser::StoreNamedCaptureMap translates
  the parser data to RegExpCompileData.capture_name/index
- RegExpShared::initializeNamedCaptures takes these and builds a PlainObject map which
  is kept with the compiled expression
This is done because irregexp doesn't have access to the JS context and so can't allocate
any JSValues itself.
- for each match result, this map is used to build PlainObjects of name->match/undefined
  (extremely simplified from upstream at the expense of some perf)

IonMonkey switches to non-masm code path for expressions with named groups.
2022-12-24 08:09:39 +08:00
Martok
05a8a5271c No issue - Refactor parsing of unicode escapes to be more general 2022-12-24 08:09:37 +08:00
Martok
952f2273b6 No issue - Fix VectorMatchPairs allocating more memory than required 2022-12-24 08:09:33 +08:00
Martok
199ff12ba8 No issue - Flag to parse 'v' flag as 'u' for automated tests, disabled by default 2022-12-24 08:09:25 +08:00
Martok
85cb46096a No issue - refactor base classes for easier access
- move InfallibleVector into its own header, together with common typedefs
- refactor CapturesVector
2022-12-24 08:09:22 +08:00
Martok
5555a72d8e Issue #2056 - Fix handling of captures in lookbehinds
- Port unification of CheckNotBackReference*
- Port LoadCurrentCharacter
- Make RegExpMacroAssembler::CheckAtStart understand cp_offset
- Replace magic numbers in ChoiceNode::Emit, Trace::PerformDeferredActions
- CheckBacktrackStackLimit
- Allow backrefs to resist recursion
2022-12-24 08:09:18 +08:00
Moonchild
4db6fa8360 Issue #1279 - Implement regular expressions lookbehind (v3)
Based on d10e8a5b with the addition of chromium issue 570241.
2022-12-24 08:09:04 +08:00
Moonchild
bf19c2087b Update timezone data to 2022e 2022-11-10 14:55:09 +08:00
FranklinDM
1a55f18324 Issue #58 - Remove leftover rust build files from /js 2022-10-27 08:58:50 +08:00
Moonchild
2f0896ab31 Issue #1279 - Implement regular expressions lookbehind (v2)
Because of some additional changes in the JS engine in the meantime,
this implementation should work and not crash due to slot allocation.
2022-10-13 10:40:14 +08:00
Moonchild
d32162089d Issue #2016 - Remove non-functional V8 regex import 2022-10-12 17:21:14 +08:00
Moonchild
1868e88741 Fix some debug assertions.
refactored code porting in assertions causing debug build failures.
2022-10-06 10:26:38 +08:00
Moonchild
05389eb41f Issue #2008 - Implement missing s parameter parsing and align case with spec.
This does 2 things.
First, it adds parsing of the 's' parameter parsing to DOM object construction of regexes
Second, it corrects the DOM property to be `dotAll` instead of `dotall`

For consistency's sake, all function names and calls were renamed with the finalized casing.

This resolves #2008
2022-09-19 16:20:22 +08:00
Moonchild
4bdd6dd93c Issue #80 - Re-unify building of /js/src 2022-09-07 11:02:02 +08:00
Moonchild
c86c612bb5 Revert "Issue #1676 - Part 4: Split builtin sources out of js/src/moz.build" 2022-09-07 11:01:51 +08:00
Moonchild
1c6fb7fcaa Revert "Issue #1676 - Part 5: Split devtools sources out of js/src/moz.build"
This reverts commit 24b835f0a92881903c6e5f0cebb7ffa93c5e9d05.
2022-09-07 11:01:37 +08:00
Moonchild
62b5ce90af Revert "Issue #1676 - Part 6: Split ds sources out of js/src/moz.build"
This reverts commit eedfa63a1d244426df38be6d72ee35422a5d9d82.
2022-09-07 11:01:23 +08:00
Moonchild
cd3c43e614 Revert "Issue #1676 - Part 7: Split frontend sources out of js/src/moz.build"
This reverts commit 1396383aeed414c23b3dce639932987000412be0.
2022-09-07 11:01:10 +08:00
Moonchild
5f23cd3017 Revert "Issue #1676 - Part 8: Fix up include for selfhosted.out.h"
This reverts commit bc450dab41695f85290f83c53c2c6914c1710883.
2022-09-07 11:00:53 +08:00
Moonchild
28392d5dca Revert "Issue #1676 - Part 9: Move DIRS down in js/src/moz.build" 2022-09-07 11:00:39 +08:00
Moonchild
8da86488ea Revert "Issue #1676 - Part 10: Split gc sources out of js/src/moz.build"
This reverts commit 65eac50e2dd9d2c4773a927aa7909eff13bc121c.
2022-09-07 11:00:25 +08:00
Moonchild
86b12c766d Revert "Issue #1676 - Part 11: Split irregexp sources out of js/src/moz.build"
This reverts commit 3d9bf5d7a32eb7076ad4e1782ca677981efff150.
2022-09-07 11:00:13 +08:00
Moonchild
f4c5ef005c Revert "Issue #1676 - Part 12: Split jit sources out of js/src/moz.build"
This reverts commit 95e057e737e3edcb270c256000b893365e1d9a9b.
2022-09-07 11:00:00 +08:00
Moonchild
b15c6109e9 Revert "Issue #1676 - Part 13: Split perf sources out of js/src/moz.build"
This reverts commit 383bc182e3a3fe53cf79a51bc36c6218334d93b5.
2022-09-07 10:59:46 +08:00
Moonchild
29fc6d519a Revert "Issue #1676 - Part 14: Split proxy sources out of js/src/moz.build"
This reverts commit 6f76f1cb362b98fc617c5c0735cdacee64103e89.
2022-09-07 10:41:56 +08:00
Moonchild
14da6dc66d Revert "Issue #1676 - Part 15: Split threading sources out of js/src/moz.build"
This reverts commit 2f50f543a245a559a277505dfa6906f1888ef0d9.
2022-09-07 10:41:43 +08:00
Moonchild
7a45d4dcf9 Revert "Issue #1676 - Part 16: Split WASM sources out of js/src/moz.build"
This reverts commit 1abc696f87d175ab967e0e86fdf375255c43e98d.
2022-09-07 10:41:29 +08:00
Moonchild
d83377b8ce Revert "Issue #1676 - Part 17: Put remaining source files which have debug code ifdef'd behind MOZ_DEBUG"
This reverts commit ff355fe9ac5327a62cdbd05f99dff9febe5de5df.
2022-09-07 10:41:18 +08:00
Moonchild
0e7a3f2144 Revert "Issue #1676 - Part 18: Move and separate top level sources from vm sources in js/src/moz.build"
This reverts commit 59511eb8dddac5556c4aa72d6d7fe1a2c3dc3972.
2022-09-07 10:40:59 +08:00
Moonchild
b03603e73e Revert "Issue #1676 - Part 19: Split ctypes sources out of js/src/moz.build"
This reverts commit cdf46e803b2fc1ab0787138890dfff67030e6516.
2022-09-07 10:40:47 +08:00
Moonchild
23a10c68fa Revert "Issue #1676 - Part 20: Split vtune sources out of js/src/moz.build"
This reverts commit fd1b2dc2b14ded708f8eb62a55109c03356c6b26.
2022-09-07 10:40:33 +08:00
Moonchild
7bb8046c17 Revert "Issue #1676 - Follow-up: Put js/src (including vm), jit, and wasm back into unified sources."
This reverts commit a8a397fbceb78d2338e214e583be4f02797637d1.
2022-09-07 10:40:18 +08:00
Moonchild
5dfded811d Issue #80 - reinstated unified building for some large chunks of our code.
This should reduce compile complexity saving time and reducing linker stress.
2022-09-07 10:36:23 +08:00
Moonchild
66424272f3 Issue #1999 - Switch to the unorm2 API for String.normalize()
Resolves #1999
2022-09-07 10:26:05 +08:00
Moonchild
59cf6bd808 Issue #1996 - Implement at() method on built-in indexables.
Resolves #1996
2022-09-01 10:19:41 +08:00
Moonchild
aedbffe910 Issue #1956 - Fix C++ code standard conformance issue in StoreBuffer.h 2022-09-01 10:18:54 +08:00
Job Bautista
3e6cbc6af3 Issue #1969 - Implement Intl.RelativeTimeFormat.
Based on Mozilla bugs 1270140, 1504656, 1483545, and 1504334.
Took note of Mozilla bug 1379222 which changed GetPrototypeFromCallableConstructor
 to GetPrototypeFromBuiltinConstructor.
There are many other changes I did myself since the initial implementation by
 Mozilla wouldn't work with this codebase.
2022-07-30 08:43:43 +08:00
Job Bautista
c090dd7ce8 Issue #1971 - Part 5: Update Spidermonkey for Unicode 11.
I forgot to do this while working on issue #326.
2022-07-30 08:43:43 +08:00
Job Bautista
1e69214382 Issue #1971 - Part 2: Update ICU source to 63.2. 2022-07-30 08:43:41 +08:00