#1675 Update to Mozilla's new V8 regexp parser

Open
opened 5 months ago by Moonchild · 4 comments

Bounty material.

We are using and old and heavily modified version of irregexp at the moment (which has had new features added like dotAll), however the implementation is difficult to maintain and expand due to subtle issues in object handling as evidenced by the hard to trace issue in my lookbehind implementation.

Mozilla ran into the same and chose to import a new version of irregexp from Google Chrome and using it as-is with plumbing built around it to make SpiderMonkey being able to deal with the code.
We should do the same, considering manually implementing the irregexp code updates in our version of irregexp will likely need an updated version anyway, and rewriting that to be similar to what we have now would likely be even more work.

This is a somewhat large code porting project but should be fairly straightforward.

This is fairly self-contained to this meta bug and what is listed as dependent tasks in that meta.


BMO Reference (Meta): Bug 1367105

**Bounty material.** We are using and old and heavily modified version of irregexp at the moment (which has had new features added like dotAll), however the implementation is difficult to maintain and expand due to subtle issues in object handling as evidenced by the hard to trace issue in my lookbehind implementation. Mozilla ran into the same and chose to import a new version of irregexp from Google Chrome and using it as-is with plumbing built around it to make SpiderMonkey being able to deal with the code. We should do the same, considering manually implementing the irregexp code updates in our version of irregexp will likely need an updated version anyway, and rewriting that to be similar to what we have now would likely be even more work. This is a somewhat large code porting project but should be fairly straightforward. This is fairly self-contained to this meta bug and what is listed as dependent tasks in that meta. ---- BMO Reference (Meta): [Bug 1367105](https://bugzilla.mozilla.org/show_bug.cgi?id=1367105)
Moonchild added the
Bounty
label 5 months ago
Moonchild added the
C: Javascript
label 5 months ago
Moonchild added the
Enhancement
label 5 months ago
Moonchild added the
Web Compatibility
label 5 months ago
mattatobin commented 5 months ago
Collaborator

Since we are going to vaugely follow Mozilla progression this issue is meta. As such, all dependancies are potental bounty materal. I suppose that means the more you do the more you get. Just be sure to use the Issue Tracker depenancy system since that is a thing now.

I am thinking this is going to be a coorperative effort as it will require a general swath of skillsets and experience. As such I am going to be coordinating and directing. Overall progress can be discussed here but dependant issues and discussions regarding them should be there.

Since I am the build system peer I will do inital import and add build system bits. Others who may want and would be the first choice for some parts would be @g4jc and potentally @athenian200

Since we are going to vaugely follow Mozilla progression this issue is meta. As such, all dependancies are potental bounty materal. I suppose that means the more you do the more you get. Just be sure to use the Issue Tracker depenancy system since that is a thing now. I am thinking this is going to be a coorperative effort as it will require a general swath of skillsets and experience. As such I am going to be coordinating and directing. Overall progress can be discussed here but dependant issues and discussions regarding them should be there. Since I am the build system peer I will do inital import and add build system bits. Others who may want and would be the first choice for some parts would be @g4jc and potentally @athenian200
mattatobin changed title from Import and use V8's updated regexp parser to Update to Mozilla's updated (and modified) V8 regexp parser 5 months ago
mattatobin changed title from Update to Mozilla's updated (and modified) V8 regexp parser to Update to Mozilla's updated V8 regexp parser 5 months ago
mattatobin added a new dependency 5 months ago
mattatobin removed a dependency 5 months ago
mattatobin changed title from Update to Mozilla's updated V8 regexp parser to Update to Mozilla's new V8 regexp parser 5 months ago
mattatobin commented 5 months ago
Collaborator

So in Issue #1677 the files and build config was imported. It does not build. My best guess is at LEAST Bug 1592307 will need done before it will compile.

So in Issue #1677 the files and build config was imported. It does not build. My best guess is at LEAST [Bug 1592307](https://bugzilla.mozilla.org/show_bug.cgi?id=1592307) will need done before it will compile.
mattatobin commented 5 months ago
Collaborator

Here is a list of the bugs and their landing order.

# 1592302 - 2019-12-3
# 1592307 - 2019-12-12
# 1620020 - First four 2020-03-13 / Last Eleven 2020-03-14
# 1624015 - 2020-03-24
# 1594545 - First four 2020-03-28 / Next four 2020-03-30 / 96331c813c4b on 2020-03-31 / Last four on 2020-04-01

# 1626713 - 2020-04-02 -- First bug that hooks it up

# 1627838 - 2020-04-09
# 1628835 - 2020-04-16 ! Check exact landing order
# 1629670 - 2020-04-16 ! Check exact landing order
# 1630090 - 2020-04-17
# 1630383 - 2020-04-20 ! Check exact landing order
# 1631504 - 2020-04-20 ! Check exact landing order
# 1635275 - 2020-05-12
# 1634810 - 2020-05-15
Here is a list of the bugs and their landing order. ``` # 1592302 - 2019-12-3 # 1592307 - 2019-12-12 # 1620020 - First four 2020-03-13 / Last Eleven 2020-03-14 # 1624015 - 2020-03-24 # 1594545 - First four 2020-03-28 / Next four 2020-03-30 / 96331c813c4b on 2020-03-31 / Last four on 2020-04-01 # 1626713 - 2020-04-02 -- First bug that hooks it up # 1627838 - 2020-04-09 # 1628835 - 2020-04-16 ! Check exact landing order # 1629670 - 2020-04-16 ! Check exact landing order # 1630090 - 2020-04-17 # 1630383 - 2020-04-20 ! Check exact landing order # 1631504 - 2020-04-20 ! Check exact landing order # 1635275 - 2020-05-12 # 1634810 - 2020-05-15 ```
mattatobin commented 5 months ago
Collaborator

As noted in the recent issues the plan changed somewhat but we are in the phase of making it build before we start hooking it up to the js engine.

Do catch up people.

As noted in the recent issues the plan changed somewhat but we are in the phase of making it build before we start hooking it up to the js engine. Do catch up people.
Sign in to join this conversation.
No Milestone
No Assignees
2 Participants
Notifications
Due Date

No due date set.

Depends on
Loading…
There is no content yet.