Reviewers: Erik Corry, Lasse Reichstein,

Description:
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.

Please review this at http://codereview.chromium.org/521028

SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/

Affected files:
   M     src/arm/codegen-arm.h
   M     src/arm/codegen-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/assembler.h
   M     src/assembler.cc
   M     src/code-stubs.h
   M     src/codegen.h
   M     src/codegen.cc
   M     src/flag-definitions.h
   M     src/ia32/codegen-ia32.h
   M     src/ia32/codegen-ia32.cc
   M     src/ia32/macro-assembler-ia32.h
   M     src/ia32/macro-assembler-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/objects.h
   M     src/regexp-delay.js
   M     src/regexp-macro-assembler.cc
   M     src/regexp-stack.h
   M     src/v8-counters.h
   M     src/x64/codegen-x64.h
   M     src/x64/codegen-x64.cc
   M     src/x64/regexp-macro-assembler-x64.h
   M     src/x64/regexp-macro-assembler-x64.cc
   M     src/x64/simulator-x64.h


-- 
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to