Implement loop for global regexps in regexp assembler. (issue 10386090)
1 view
Skip to first unread message
yan...@chromium.org
unread,
May 11, 2012, 5:57:17 AM5/11/12
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to erik....@gmail.com, v8-...@googlegroups.com
Reviewers: Erik Corry,
Message:
PTAL.
This CL is far from being completed since platform ports and tests are
missing.
I still want to get a second opinion on this before I continue.
I implemented the loop inside GetCode() that deals with setting up local
variables and returning results. I initially thought about doing it in a
higher
level way, representing the loop as a RegExpNode, but then changes to
Fail() and
Succeed() were also necessary, so I chose doing it in low-level assembly
instead. Suggestions on that are very welcome.
Description:
Implement loop for global regexps in regexp assembler.
Affected files:
M src/ia32/code-stubs-ia32.cc
M src/ia32/regexp-macro-assembler-ia32.h
M src/ia32/regexp-macro-assembler-ia32.cc
M src/ia32/simulator-ia32.h
M src/jsregexp.h
M src/jsregexp.cc
M src/regexp-macro-assembler-tracer.cc
M src/regexp-macro-assembler.h
M src/regexp-macro-assembler.cc
M src/runtime.cc
M test/cctest/test-regexp.cc
erik....@gmail.com
unread,
May 11, 2012, 7:01:00 AM5/11/12
Reply to author
Sign in to reply to author
Forward
Sign in to forward
Delete
You do not have permission to delete messages in this group
Copy link
Report message
Show original message
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
http://codereview.chromium.org/10386090/diff/1/src/jsregexp.cc#newcode200 src/jsregexp.cc:200: if (parse_result.simple &&
It would be interesting to remove this stuff so we never AtomCompile,
but always use the regexp engine. With these changes it might be
faster, and it would simplify things a lot.