Closed Bug 723640 Opened 8 years ago Closed 6 years ago

IonMonkey: implement same RegExp native optimization as JM+TI

Categories

(Core :: JavaScript Engine, defect)

defect
Not set

Tracking

()

RESOLVED FIXED
mozilla27

People

(Reporter: cdleary, Assigned: jandem)

References

(Blocks 1 open bug)

Details

(Whiteboard: [ion:p2:fx18])

Attachments

(1 file)

There are comments in the MRegExp as to how you can reuse the source RegExp object without cloning it in certain situations (where you understand the uses to be exactly the no-escape-permitting natives).
Blocks: IonSpeed
Assignee: cdleary → jdemooij
Do we still need this?
Flags: needinfo?(jdemooij)
(In reply to Till Schneidereit [:till] from comment #1)
> Do we still need this?

Yes, definitely! I just noticed that this should speedup some Peacekeeper jQuery tests quite a bit.
Blocks: 922048
Flags: needinfo?(jdemooij)
Attached patch PatchSplinter Review
This is more or less a port of your JM no-clone implementation to Ion. This should help quite a bit on the Peacekeeper domJQueryBasicFilters test.

JM had another path to inline the object allocation in some cases, but I didn't do this yet because of RegExpShared refcounting complexity. Would it make sense to make RegExpShared a GC thing? That would make it a lot easier to inline pointers to it.
Attachment #818928 - Flags: review?(bhackett1024)
Attachment #818928 - Flags: review?(bhackett1024) → review+
https://hg.mozilla.org/mozilla-central/rev/5e8f8322f8fd
Status: ASSIGNED → RESOLVED
Closed: 6 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
You need to log in before you can comment on or make changes to this bug.