Martok
ed8af362be
Issue #2089 - Shrink Promise instances from 8 to 4 slots by moving debug information to an external object
...
Based-on: m-c 1342050
2023-02-01 07:37:53 +08:00
Job Bautista
233802c9ab
Revert "Issue #1382 - RegExpShared::groupsTemplate_ cannot be a GCPtr since RegExpShared is managed by C++"
...
This workaround has been obsoleted by the work on Issue #2083 .
This reverts commit bbd743608685ec77ebebe480761118db8a988253.
2023-02-01 07:37:24 +08:00
Job Bautista
b7e4530861
Issue #2083 - Part 5: Fix memory leak in RegExpObject.
...
Based on Mozilla bug 1345177.
2023-02-01 07:37:02 +08:00
Job Bautista
9824659d3c
Issue #2083 - Part 4: Give RegExpShared a finalizer.
...
Based on Mozilla bug 1345177.
2023-02-01 07:36:42 +08:00
Job Bautista
2ac60a27c7
Issue #2083 - Part 3: Fix RegExpShared rooting hazards now it's a GC thing.
...
Based on Mozilla bug 1345177.
Changes from the original bug's patch:
- The original patch didn't have a dotAll for a call to irregexp::ParsePattern,
so let's make our dotAll a member of the MutableHandleRegExpShared re.
- Make RegExpShared::initializeNamedCaptures, introduced in Issue #1285 , static.
This resolves a build bustage where static RegExpShared::compile was trying to
use a member function.
2023-02-01 07:36:25 +08:00
Job Bautista
d163d08cb2
Issue #2083 - Part 2: Remove use of RegExpGuard.
...
Based on Mozilla bug 1345177.
There were more uses of RegExpGuard in js/src/builtin/RegExp.cpp not found in
the original bug's patch.
2023-02-01 07:36:07 +08:00
Job Bautista
3796c7c1e1
Issue #2083 - Part 1: Make RegExpShared a GC thing.
...
Based on Mozilla bug 1345177.
Changes from the original bug's patch:
- We don't have JS::CurrentThreadIsHeapCollecting, so let's use
trc->runtime()->isHeapCollecting() instead.
- Mozilla bug 1337117 renamed runtimeFromMainThread to
runtimeFromActiveCooperatingThread for Firefox 54, so let's use the former
2023-02-01 07:35:50 +08:00
Moonchild
8f3badf882
Issue #1382 - Remove incorrect assertion.
...
Tag #2090 #2095
2023-01-30 12:56:00 +08:00
roytam1
fd45d63241
Merge remote-tracking branch 'origin/tracking' into custom
2023-01-26 11:42:02 +08:00
Martok
70279e1eb2
Issue #2093 - Trace HeapPtr<RegExpShared::groupsTemplate_> for GC move/compact events, regression from #2072
2023-01-26 11:41:33 +08:00
Job Bautista
8495231395
Issue #2091 - Parse \p{Extended_Pictographic} too.
...
This is essentially a follow up to Issue #1286 . We already have
UCHAR_EXTENDED_PICTOGRAPHIC in our in-tree ICU, so there's no reason to comment
this case out.
2023-01-26 11:41:21 +08:00
Martok
ece0496985
Issue #2089 - Avoid copying/recreating iterator result, AsyncGeneratorRequest and GeneratorObject expression stacks
...
Based-on: m-c 1394682,1410283,1396499
2023-01-26 11:40:56 +08:00
Martok
8322304fb3
Issue #2089 - In Promises, use a C++ version of SpeciesConstructor when calling from C++
...
Based-on: m-c 1344656,1386534
2023-01-26 11:40:28 +08:00
Martok
6b50dd5d06
Issue #2089 - Use JS engine stack if necessary when reporting errors
...
Based-on: m-c 996060
2023-01-26 11:39:57 +08:00
Martok
0216108195
No issue - Throw error when resolving or rejecting promise returned by async function with testing function
...
Based-on: m-c 1418106
2023-01-26 11:39:31 +08:00
Martok
531906eb87
No issue - add API to tell Profile Timeline Recording state to JS engine
...
Based-on: m-c 1342070/5
2023-01-26 11:38:40 +08:00
Martok
1230808583
No issue - Cleanup unused function exports to self-hosted global
...
Based-on: m-c 1325696
2023-01-26 11:38:19 +08:00
Martok
41c2b34542
No issue - Remove "code" from jsprototype.h macros
...
Based-on: m-c 1394084
2023-01-26 11:38:07 +08:00
Martok
7d2b83fafc
No issue - reformat GlobalObject::skipDeselectedConstructor
2023-01-26 11:37:54 +08:00
Martok
2db0386e65
No issue - implement js::NativeDefineDataProperty helper
2023-01-26 11:37:43 +08:00
roytam1
cad030d6cc
Merge remote-tracking branch 'origin/tracking' into custom
2023-01-19 09:43:10 +08:00
Moonchild
549389d327
No issue - factor out some frame iterator helper functions.
2023-01-19 09:41:27 +08:00
roytam1
12b3c5e5fe
Merge remote-tracking branch 'origin/tracking' into custom
2023-01-13 13:29:29 +08:00
Job Bautista
ee541a5330
Issue #80 - Re-unify some more missed sources in js/src
2023-01-13 13:29:05 +08:00
roytam1
a48debaabe
Merge remote-tracking branch 'origin/tracking' into custom
2023-01-10 08:22:51 +08:00
FranklinDM
2f7f622cd4
No issue - Fix invalid neq check on assert in RegExpParser
2023-01-10 07:41:54 +08:00
roytam1
7ecc55be25
Merge remote-tracking branch 'origin/tracking' into custom
2023-01-06 20:37:26 +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
roytam1
120ac6d556
Merge remote-tracking branch 'origin/tracking' into custom
2022-12-30 09:29:56 +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
roytam1
5e9f3d0667
Merge remote-tracking branch 'origin/tracking' into custom
2022-12-24 08:14:57 +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
roytam1
f9dc0e6d15
Merge remote-tracking branch 'origin/tracking' into custom
2022-11-10 14:55:46 +08:00
Moonchild
bf19c2087b
Update timezone data to 2022e
2022-11-10 14:55:09 +08:00
roytam1
fe4859b2c1
Revert "Issue #1279 - Implement regular expressions lookbehind (v2)"
...
This reverts commit 2f0896ab31 .
rev 2f0896ab cause crash when visiting https://nl.hardware.info/nieuw so
a revert is needed.
2022-10-30 20:48:29 +08:00
roytam1
5f18cf3bed
Merge remote-tracking branch 'origin/tracking' into custom
2022-10-27 09:04:51 +08:00
FranklinDM
1a55f18324
Issue #58 - Remove leftover rust build files from /js
2022-10-27 08:58:50 +08:00
roytam1
221a4433e3
Merge remote-tracking branch 'origin/tracking' into custom
2022-10-13 10:40:39 +08:00