|
Direct call to native RegExp code from JavaScript.
Calls to RegExp no longer have to be via a call to the runtime system. A new stub have been added which can handle this call in generated code. The stub checks all the parameters and creates RegExp entry frame in the same way as it is created by the runtime system. Bailout to the runtime system is done whenever an uncommon situation is encountered or when the static data used is not initialized. After running the native RegExp code the last match info is updated like in the runtime system.
Currently only ASCII strings are handled.
Added another argument to the RegExp entry frame. It indicated whether the call is direct from JavaScript code or through the runtime system. This information is used when RegExp execution is interrupted. If an interruption happens when RegExp code is called directly a retry is issued causing the interruption to be handled via the runtime system. The reason for this is that the direct call to RegExp code does not support garbage collection.
Committed: http://code.google.com/p/v8/source/detail?r=3542
Total comments: 83
|
Unified diffs |
Side-by-side diffs |
Delta from patch set |
Stats (+530 lines, -79 lines) |
Patch |
|
M |
src/arm/codegen-arm.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/codegen-arm.cc
|
View
|
|
1 chunk |
+13 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/regexp-macro-assembler-arm.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/arm/regexp-macro-assembler-arm.cc
|
View
|
1
|
2 chunks |
+9 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/arm/simulator-arm.h
|
View
|
|
2 chunks |
+5 lines, -5 lines |
0 comments
|
Download
|
|
M |
src/assembler.h
|
View
|
1
|
1 chunk |
+5 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/assembler.cc
|
View
|
1
|
1 chunk |
+13 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/code-stubs.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/codegen.h
|
View
|
|
1 chunk |
+20 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/codegen.cc
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/flag-definitions.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/codegen-ia32.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/codegen-ia32.cc
|
View
|
1
|
3 chunks |
+288 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.h
|
View
|
|
1 chunk |
+9 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/macro-assembler-ia32.cc
|
View
|
|
1 chunk |
+11 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/regexp-macro-assembler-ia32.h
|
View
|
|
1 chunk |
+1 line, -0 lines |
0 comments
|
Download
|
|
M |
src/ia32/regexp-macro-assembler-ia32.cc
|
View
|
1
|
3 chunks |
+20 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/ia32/simulator-ia32.h
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/jsregexp.h
|
View
|
1
2
|
2 chunks |
+45 lines, -1 line |
0 comments
|
Download
|
|
M |
src/jsregexp.cc
|
View
|
|
3 chunks |
+12 lines, -31 lines |
0 comments
|
Download
|
|
M |
src/objects.h
|
View
|
1
2
|
1 chunk |
+8 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/regexp-delay.js
|
View
|
|
3 chunks |
+3 lines, -3 lines |
0 comments
|
Download
|
|
M |
src/regexp-macro-assembler.cc
|
View
|
|
4 chunks |
+4 lines, -13 lines |
0 comments
|
Download
|
|
M |
src/regexp-stack.h
|
View
|
|
1 chunk |
+12 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/v8-counters.h
|
View
|
|
1 chunk |
+3 lines, -1 line |
0 comments
|
Download
|
|
M |
src/x64/codegen-x64.h
|
View
|
|
1 chunk |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/codegen-x64.cc
|
View
|
|
1 chunk |
+13 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/regexp-macro-assembler-x64.h
|
View
|
|
2 chunks |
+3 lines, -0 lines |
0 comments
|
Download
|
|
M |
src/x64/regexp-macro-assembler-x64.cc
|
View
|
1
|
2 chunks |
+14 lines, -8 lines |
0 comments
|
Download
|
|
M |
src/x64/simulator-x64.h
|
View
|
|
1 chunk |
+3 lines, -3 lines |
0 comments
|
Download
|
Total messages: 6 (0 generated)
|