Reviewers: Vitaly Repeshko, Mads Ager,
Message:
We used to push Isolate pointer through into regexp generated code, and use
it
once inside. As it turned out, it is more expensive then to just pull
Isolate at
that one place (it's RegExpMacroAssemblerIA32::CheckStackGuardState etc).
This makes Sunspider's longest test we regressed with Isolates
(string_unpack_code) a bit faster (~1.5%)
Also, NativeRegExpMacroAssembler::Execute(...) became a bit larger and
compilers
don't inline it anymore. I moved it into static inline helper and it is
inlined
again.
Description:
Remove pushing Isolate pointer through callstack for RegExps.
Inline NativeRegExpMacroAssembler::Execute(..) back.
This improves SunSpider's 'unpack_code' by ~3%
Please review this at http://codereview.chromium.org/6727016/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/arm/code-stubs-arm.cc
M src/arm/regexp-macro-assembler-arm.h
M src/arm/regexp-macro-assembler-arm.cc
M src/arm/simulator-arm.h
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.cc
M src/regexp-macro-assembler.h
M src/regexp-macro-assembler.cc
M src/x64/code-stubs-x64.cc
M src/x64/regexp-macro-assembler-x64.h
M src/x64/regexp-macro-assembler-x64.cc
M src/x64/simulator-x64.h
M test/cctest/test-regexp.cc
--
v8-dev mailing list
v8-dev@googlegroups.com
http://groups.google.com/group/v8-dev