v8/src/x64
fschneider@chromium.org ee9d2d6cee Fast compiler support for regexp literals.
For .result = /abc.*/g we generate the following IA-32 code:

   ...
   mov ebx,[edi+0x17]
   mov eax,[ebx+0xb]
   cmp eax, 0xf5d0e135         ;; object: 0xf5d0e135 <undefined>
   jnz done
   push ebx
   push 0x2
   push 0xf5d13805             ;; object: 0xf5d13805 <String[5]: abc.*>
   push 0xf5d13815             ;; object: 0xf5d13815 <String[1]: g>
   call RuntimeStub_MaterializeRegExpLiteral
 done:
   push eax
   pop [ebp+0xf4]
   ...

This is very similar to the code previously generated except we do not 
generate deferred code for the case where we call the runtime.

On ARM we use the stm instruction to make pushing the arguments more compact.

Review URL: http://codereview.chromium.org/300037

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-22 09:29:03 +00:00
..
assembler-x64-inl.h Fix X64 build in the case that debugger support is disabled. Change function name from IsCallInstruction to IsPatchedReturnSequence on all platforms. 2009-10-15 11:52:53 +00:00
assembler-x64.cc Allow resource constraints to specify the max committed new space size 2009-10-21 15:03:34 +00:00
assembler-x64.h Commit fucomip change 197037 http://codereview.chromium.org/197037/show 2009-10-21 09:24:25 +00:00
builtins-x64.cc X64: Convert smis to holding 32 bits of payload. 2009-10-08 12:36:12 +00:00
codegen-x64-inl.h X64: Enable lazy compilation and add code generation for simple object 2009-06-22 10:54:11 +00:00
codegen-x64.cc Commit fucomip change 197037 http://codereview.chromium.org/197037/show 2009-10-21 09:24:25 +00:00
codegen-x64.h Adding declaration of global variables and functions in new compiler. 2009-10-21 09:17:39 +00:00
cpu-x64.cc Split nested namespaces declaration in two lines in accordance with C++ Style Guide. 2009-05-25 10:05:56 +00:00
debug-x64.cc Fix X64 build in the case that debugger support is disabled. Change function name from IsCallInstruction to IsPatchedReturnSequence on all platforms. 2009-10-15 11:52:53 +00:00
disasm-x64.cc X64: Add an SHL optimization, fix a floating-point bug, fix xchg rax,r8 and printing of test ?ax, imm in disassembler. 2009-08-13 08:00:04 +00:00
fast-codegen-x64.cc Fast compiler support for regexp literals. 2009-10-22 09:29:03 +00:00
frames-x64.cc X64: Added support for "with" and "switch". 2009-06-26 08:29:01 +00:00
frames-x64.h Port the initial fast code generator to x64. For the constant true in 2009-10-15 11:21:26 +00:00
ic-x64.cc Added infrastructure for optimizing new CanvasArray types in WebGL 2009-10-20 15:26:17 +00:00
jump-target-x64.cc Eliminate most of the jump target jumping, branching, and binding 2009-08-10 11:13:34 +00:00
macro-assembler-x64.cc Commit fucomip change 197037 http://codereview.chromium.org/197037/show 2009-10-21 09:24:25 +00:00
macro-assembler-x64.h Added infrastructure for optimizing new CanvasArray types in WebGL 2009-10-20 15:26:17 +00:00
regexp-macro-assembler-x64.cc Win64 - Allow returning two values from a runtime function. 2009-09-08 11:52:05 +00:00
regexp-macro-assembler-x64.h X64 RegExp - fix RegExp on WIN64. 2009-09-04 11:00:07 +00:00
register-allocator-x64-inl.h Use a root array register for constant loads and stack guards on x64. 2009-08-31 08:57:36 +00:00
register-allocator-x64.cc X64: Count operations (increment, decrement) 2009-06-25 11:48:27 +00:00
register-allocator-x64.h Use a root array register for constant loads and stack guards on x64. 2009-08-31 08:57:36 +00:00
simulator-x64.cc Added empty files in the x64 directory. 2009-05-04 07:16:10 +00:00
simulator-x64.h Fix the stack limits setting API so it is usable. 2009-10-01 10:33:05 +00:00
stub-cache-x64.cc X64: Convert smis to holding 32 bits of payload. 2009-10-08 12:36:12 +00:00
virtual-frame-x64.cc X64: Fix incompatability with previous revision. 2009-10-08 13:09:28 +00:00
virtual-frame-x64.h X64: Convert smis to holding 32 bits of payload. 2009-10-08 12:36:12 +00:00