Revision: 4443
Author: [email protected]
Date: Mon Apr 19 12:30:11 2010
Log: Make not sucking at regexp the default
(remove V8_NATIVE_REGEXP flag, add
V8_INTERPRETED_REGEXP flag).
Review URL: http://codereview.chromium.org/1635001
http://code.google.com/p/v8/source/detail?r=4443

Modified:
 /branches/bleeding_edge/SConstruct
 /branches/bleeding_edge/src/arm/regexp-macro-assembler-arm.cc
 /branches/bleeding_edge/src/arm/regexp-macro-assembler-arm.h
 /branches/bleeding_edge/src/arm/simulator-arm.cc
 /branches/bleeding_edge/src/assembler.cc
 /branches/bleeding_edge/src/assembler.h
 /branches/bleeding_edge/src/heap.cc
 /branches/bleeding_edge/src/heap.h
 /branches/bleeding_edge/src/ia32/codegen-ia32.cc
 /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc
 /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.h
 /branches/bleeding_edge/src/jsregexp.cc
 /branches/bleeding_edge/src/jsregexp.h
 /branches/bleeding_edge/src/mips/simulator-mips.cc
 /branches/bleeding_edge/src/regexp-macro-assembler-irregexp-inl.h
 /branches/bleeding_edge/src/regexp-macro-assembler-irregexp.cc
 /branches/bleeding_edge/src/regexp-macro-assembler-irregexp.h
 /branches/bleeding_edge/src/regexp-macro-assembler.cc
 /branches/bleeding_edge/src/regexp-macro-assembler.h
 /branches/bleeding_edge/src/serialize.cc
 /branches/bleeding_edge/src/x64/builtins-x64.cc
 /branches/bleeding_edge/src/x64/codegen-x64.cc
 /branches/bleeding_edge/src/x64/regexp-macro-assembler-x64.cc
 /branches/bleeding_edge/src/x64/regexp-macro-assembler-x64.h
 /branches/bleeding_edge/test/cctest/test-debug.cc
 /branches/bleeding_edge/test/cctest/test-regexp.cc
 /branches/bleeding_edge/tools/gyp/v8.gyp
 /branches/bleeding_edge/tools/v8.xcodeproj/project.pbxproj
 /branches/bleeding_edge/tools/visual_studio/arm.vsprops
 /branches/bleeding_edge/tools/visual_studio/ia32.vsprops
 /branches/bleeding_edge/tools/visual_studio/x64.vsprops

=======================================
--- /branches/bleeding_edge/SConstruct  Fri Apr 16 05:20:02 2010
+++ /branches/bleeding_edge/SConstruct  Mon Apr 19 12:30:11 2010
@@ -111,8 +111,8 @@
 LIBRARY_FLAGS = {
   'all': {
     'CPPPATH': [join(root_dir, 'src')],
-    'regexp:native': {
-        'CPPDEFINES': ['V8_NATIVE_REGEXP']
+    'regexp:interpreted': {
+      'CPPDEFINES': ['V8_INTERPRETED_REGEXP']
     },
     'mode:debug': {
       'CPPDEFINES': ['V8_ENABLE_CHECKS']
=======================================
--- /branches/bleeding_edge/src/arm/regexp-macro-assembler-arm.cc Wed Apr 14 02:25:33 2010 +++ /branches/bleeding_edge/src/arm/regexp-macro-assembler-arm.cc Mon Apr 19 12:30:11 2010
@@ -39,7 +39,7 @@
 namespace v8 {
 namespace internal {

-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP
 /*
  * This assembler uses the following register assignment convention
  * - r5 : Pointer to current code object (Code*) including heap object tag.
@@ -1235,6 +1235,6 @@

 #undef __

-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 }}  // namespace v8::internal
=======================================
--- /branches/bleeding_edge/src/arm/regexp-macro-assembler-arm.h Fri Apr 9 04:25:52 2010 +++ /branches/bleeding_edge/src/arm/regexp-macro-assembler-arm.h Mon Apr 19 12:30:11 2010
@@ -32,14 +32,14 @@
 namespace internal {


-#ifndef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP
 class RegExpMacroAssemblerARM: public RegExpMacroAssembler {
  public:
   RegExpMacroAssemblerARM();
   virtual ~RegExpMacroAssemblerARM();
 };

-#else
+#else  // V8_INTERPRETED_REGEXP
 class RegExpMacroAssemblerARM: public NativeRegExpMacroAssembler {
  public:
   RegExpMacroAssemblerARM(Mode mode, int registers_to_save);
@@ -258,7 +258,7 @@
   const char* GetName() { return "RegExpCEntryStub"; }
 };

-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP


 }}  // namespace v8::internal
=======================================
--- /branches/bleeding_edge/src/arm/simulator-arm.cc Thu Apr 15 02:34:47 2010 +++ /branches/bleeding_edge/src/arm/simulator-arm.cc Mon Apr 19 12:30:11 2010
@@ -2539,4 +2539,4 @@

 } }  // namespace assembler::arm

-#endif  // !defined(__arm__)
+#endif  // __arm__
=======================================
--- /branches/bleeding_edge/src/assembler.cc    Mon Apr 12 03:07:50 2010
+++ /branches/bleeding_edge/src/assembler.cc    Mon Apr 19 12:30:11 2010
@@ -46,7 +46,7 @@
 #include "regexp-macro-assembler.h"
 #include "platform.h"
 // Include native regexp-macro-assembler.
-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP
 #if V8_TARGET_ARCH_IA32
 #include "ia32/regexp-macro-assembler-ia32.h"
 #elif V8_TARGET_ARCH_X64
@@ -56,7 +56,7 @@
 #else  // Unknown architecture.
 #error "Unknown architecture."
 #endif  // Target architecture.
-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 namespace v8 {
 namespace internal {
@@ -680,7 +680,7 @@
 }


-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP

 ExternalReference ExternalReference::re_check_stack_guard_state() {
   Address function;
@@ -723,7 +723,7 @@
   return ExternalReference(RegExpStack::memory_size_address());
 }

-#endif
+#endif  // V8_INTERPRETED_REGEXP


 static double add_two_doubles(double x, double y) {
=======================================
--- /branches/bleeding_edge/src/assembler.h     Mon Apr 12 03:07:50 2010
+++ /branches/bleeding_edge/src/assembler.h     Mon Apr 19 12:30:11 2010
@@ -457,7 +457,7 @@
   static ExternalReference debug_step_in_fp_address();
 #endif

-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP
   // C functions called from RegExp generated code.

   // Function NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16()
=======================================
--- /branches/bleeding_edge/src/heap.cc Mon Apr 19 05:39:07 2010
+++ /branches/bleeding_edge/src/heap.cc Mon Apr 19 12:30:11 2010
@@ -41,7 +41,7 @@
 #include "scopeinfo.h"
 #include "snapshot.h"
 #include "v8threads.h"
-#if V8_TARGET_ARCH_ARM && V8_NATIVE_REGEXP
+#if V8_TARGET_ARCH_ARM && !V8_INTERPRETED_REGEXP
 #include "regexp-macro-assembler.h"
 #include "arm/regexp-macro-assembler-arm.h"
 #endif
@@ -1527,7 +1527,7 @@
 }


-#if V8_TARGET_ARCH_ARM && V8_NATIVE_REGEXP
+#if V8_TARGET_ARCH_ARM && !V8_INTERPRETED_REGEXP
 void Heap::CreateRegExpCEntryStub() {
   RegExpCEntryStub stub;
   set_re_c_entry_code(*stub.GetCode());
@@ -1564,7 +1564,7 @@
   Heap::CreateCEntryStub();
   Heap::CreateJSEntryStub();
   Heap::CreateJSConstructEntryStub();
-#if V8_TARGET_ARCH_ARM && V8_NATIVE_REGEXP
+#if V8_TARGET_ARCH_ARM && !V8_INTERPRETED_REGEXP
   Heap::CreateRegExpCEntryStub();
 #endif
 }
=======================================
--- /branches/bleeding_edge/src/heap.h  Mon Apr 19 05:39:07 2010
+++ /branches/bleeding_edge/src/heap.h  Mon Apr 19 12:30:11 2010
@@ -110,7 +110,7 @@
V(Script, empty_script, EmptyScript) \ V(Smi, real_stack_limit, RealStackLimit) \

-#if V8_TARGET_ARCH_ARM && V8_NATIVE_REGEXP
+#if V8_TARGET_ARCH_ARM && !V8_INTERPRETED_REGEXP
#define STRONG_ROOT_LIST(V) \ UNCONDITIONAL_STRONG_ROOT_LIST(V) \
   V(Code, re_c_entry_code, RegExpCEntryCode)
=======================================
--- /branches/bleeding_edge/src/ia32/codegen-ia32.cc Mon Apr 19 05:39:07 2010 +++ /branches/bleeding_edge/src/ia32/codegen-ia32.cc Mon Apr 19 12:30:11 2010
@@ -10808,9 +10808,9 @@
// Just jump directly to runtime if native RegExp is not selected at compile // time or if regexp entry in generated code is turned off runtime switch or
   // at compilation.
-#ifndef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP
   __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
-#else  // V8_NATIVE_REGEXP
+#else  // V8_INTERPRETED_REGEXP
   if (!FLAG_regexp_entry_native) {
     __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
     return;
@@ -11127,7 +11127,7 @@
   // Do the runtime call to execute the regexp.
   __ bind(&runtime);
   __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP
 }


=======================================
--- /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc Tue Apr 6 03:36:38 2010 +++ /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc Mon Apr 19 12:30:11 2010
@@ -38,7 +38,7 @@
 namespace v8 {
 namespace internal {

-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP
 /*
  * This assembler uses the following register assignment convention
  * - edx : current character. Must be loaded using LoadCurrentCharacter
@@ -1195,6 +1195,6 @@

 #undef __

-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 }}  // namespace v8::internal
=======================================
--- /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.h Thu Feb 25 04:18:55 2010 +++ /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.h Mon Apr 19 12:30:11 2010
@@ -31,14 +31,14 @@
 namespace v8 {
 namespace internal {

-#ifndef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP
 class RegExpMacroAssemblerIA32: public RegExpMacroAssembler {
  public:
   RegExpMacroAssemblerIA32() { }
   virtual ~RegExpMacroAssemblerIA32() { }
 };

-#else
+#else  // V8_INTERPRETED_REGEXP
 class RegExpMacroAssemblerIA32: public NativeRegExpMacroAssembler {
  public:
   RegExpMacroAssemblerIA32(Mode mode, int registers_to_save);
@@ -208,7 +208,7 @@
   Label check_preempt_label_;
   Label stack_overflow_label_;
 };
-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 }}  // namespace v8::internal

=======================================
--- /branches/bleeding_edge/src/jsregexp.cc     Wed Apr 14 03:11:29 2010
+++ /branches/bleeding_edge/src/jsregexp.cc     Mon Apr 19 12:30:11 2010
@@ -43,7 +43,7 @@
 #include "regexp-macro-assembler-irregexp.h"
 #include "regexp-stack.h"

-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP
 #if V8_TARGET_ARCH_IA32
 #include "ia32/regexp-macro-assembler-ia32.h"
 #elif V8_TARGET_ARCH_X64
@@ -236,10 +236,10 @@
 // returns false.
bool RegExpImpl::EnsureCompiledIrregexp(Handle<JSRegExp> re, bool is_ascii) {
   Object* compiled_code = re->DataAt(JSRegExp::code_index(is_ascii));
-#ifdef V8_NATIVE_REGEXP
-  if (compiled_code->IsCode()) return true;
-#else  // ! V8_NATIVE_REGEXP (RegExp interpreter code)
+#ifdef V8_INTERPRETED_REGEXP
   if (compiled_code->IsByteArray()) return true;
+#else  // V8_INTERPRETED_REGEXP (RegExp native code)
+  if (compiled_code->IsCode()) return true;
 #endif
   return CompileIrregexp(re, is_ascii);
 }
@@ -360,14 +360,14 @@
   if (!EnsureCompiledIrregexp(regexp, is_ascii)) {
     return -1;
   }
-#ifdef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP
+  // Byte-code regexp needs space allocated for all its registers.
+  return IrregexpNumberOfRegisters(FixedArray::cast(regexp->data()));
+#else  // V8_INTERPRETED_REGEXP
// Native regexp only needs room to output captures. Registers are handled
   // internally.
return (IrregexpNumberOfCaptures(FixedArray::cast(regexp->data())) + 1) * 2;
-#else  // !V8_NATIVE_REGEXP
-  // Byte-code regexp needs space allocated for all its registers.
-  return IrregexpNumberOfRegisters(FixedArray::cast(regexp->data()));
-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP
 }


@@ -381,7 +381,7 @@
   ASSERT(index <= subject->length());
   ASSERT(subject->IsFlat());

-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP
   ASSERT(output.length() >=
       (IrregexpNumberOfCaptures(*irregexp) + 1) * 2);
   do {
@@ -414,7 +414,7 @@
   } while (true);
   UNREACHABLE();
   return RE_EXCEPTION;
-#else  // ndef V8_NATIVE_REGEXP
+#else  // V8_INTERPRETED_REGEXP

   ASSERT(output.length() >= IrregexpNumberOfRegisters(*irregexp));
   bool is_ascii = subject->IsAsciiRepresentation();
@@ -435,7 +435,7 @@
     return RE_SUCCESS;
   }
   return RE_FAILURE;
-#endif  // ndef V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP
 }


@@ -446,7 +446,7 @@
   ASSERT_EQ(jsregexp->TypeTag(), JSRegExp::IRREGEXP);

   // Prepare space for the return values.
-#ifndef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP
 #ifdef DEBUG
   if (FLAG_trace_regexp_bytecodes) {
     String* pattern = jsregexp->Pattern();
@@ -5232,7 +5232,7 @@
   NodeInfo info = *node->info();

   // Create the correct assembler for the architecture.
-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP
   // Native regexp implementation.

   NativeRegExpMacroAssembler::Mode mode =
@@ -5247,11 +5247,11 @@
RegExpMacroAssemblerARM macro_assembler(mode, (data->capture_count + 1) * 2);
 #endif

-#else  // ! V8_NATIVE_REGEXP
+#else  // V8_INTERPRETED_REGEXP
   // Interpreted regexp implementation.
   EmbeddedVector<byte, 1024> codes;
   RegExpMacroAssemblerIrregexp macro_assembler(codes);
-#endif
+#endif  // V8_INTERPRETED_REGEXP

   return compiler.Assemble(&macro_assembler,
                            node,
=======================================
--- /branches/bleeding_edge/src/jsregexp.h      Fri Mar 19 05:01:17 2010
+++ /branches/bleeding_edge/src/jsregexp.h      Mon Apr 19 12:30:11 2010
@@ -42,10 +42,10 @@
  public:
   // Whether V8 is compiled with native regexp support or not.
   static bool UsesNativeRegExp() {
-#ifdef V8_NATIVE_REGEXP
-    return true;
-#else
+#ifdef V8_INTERPRETED_REGEXP
     return false;
+#else
+    return true;
 #endif
   }

=======================================
--- /branches/bleeding_edge/src/mips/simulator-mips.cc Fri Mar 12 02:20:01 2010 +++ /branches/bleeding_edge/src/mips/simulator-mips.cc Mon Apr 19 12:30:11 2010
@@ -139,7 +139,7 @@
   sim_->set_pc(sim_->get_pc() + Instruction::kInstructionSize);
   Debug();
 }
-#endif  // def GENERATED_CODE_COVERAGE
+#endif  // GENERATED_CODE_COVERAGE


 int32_t Debugger::GetRegisterValue(int regnum) {
@@ -1644,5 +1644,5 @@

 } }  // namespace assembler::mips

-#endif  // !defined(__mips)
-
+#endif  // __mips
+
=======================================
--- /branches/bleeding_edge/src/regexp-macro-assembler-irregexp-inl.h Wed Sep 9 03:49:40 2009 +++ /branches/bleeding_edge/src/regexp-macro-assembler-irregexp-inl.h Mon Apr 19 12:30:11 2010
@@ -38,7 +38,7 @@
 namespace v8 {
 namespace internal {

-#ifndef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP

 void RegExpMacroAssemblerIrregexp::Emit(uint32_t byte,
                                         uint32_t twenty_four_bits) {
@@ -71,7 +71,7 @@
   pc_ += 4;
 }

-#endif  // ! V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 } }  // namespace v8::internal

=======================================
--- /branches/bleeding_edge/src/regexp-macro-assembler-irregexp.cc Wed Sep 9 03:49:40 2009 +++ /branches/bleeding_edge/src/regexp-macro-assembler-irregexp.cc Mon Apr 19 12:30:11 2010
@@ -36,7 +36,7 @@
 namespace v8 {
 namespace internal {

-#ifndef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP

RegExpMacroAssemblerIrregexp::RegExpMacroAssemblerIrregexp(Vector<byte> buffer)
     : buffer_(buffer),
@@ -459,6 +459,6 @@
   }
 }

-#endif  // !V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 } }  // namespace v8::internal
=======================================
--- /branches/bleeding_edge/src/regexp-macro-assembler-irregexp.h Wed Sep 9 03:49:40 2009 +++ /branches/bleeding_edge/src/regexp-macro-assembler-irregexp.h Mon Apr 19 12:30:11 2010
@@ -31,7 +31,7 @@
 namespace v8 {
 namespace internal {

-#ifndef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP

 class RegExpMacroAssemblerIrregexp: public RegExpMacroAssembler {
  public:
@@ -134,7 +134,7 @@
   DISALLOW_IMPLICIT_CONSTRUCTORS(RegExpMacroAssemblerIrregexp);
 };

-#endif  // !V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 } }  // namespace v8::internal

=======================================
--- /branches/bleeding_edge/src/regexp-macro-assembler.cc Tue Jan 26 03:08:42 2010 +++ /branches/bleeding_edge/src/regexp-macro-assembler.cc Mon Apr 19 12:30:11 2010
@@ -52,7 +52,7 @@
 }


-#ifdef V8_NATIVE_REGEXP  // Avoid unused code, e.g., on ARM.
+#ifndef V8_INTERPRETED_REGEXP  // Avoid unused code, e.g., on ARM.

 NativeRegExpMacroAssembler::NativeRegExpMacroAssembler() {
 }
@@ -258,5 +258,6 @@
   return new_stack_base - stack_content_size;
 }

-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP
+
 } }  // namespace v8::internal
=======================================
--- /branches/bleeding_edge/src/regexp-macro-assembler.h Tue Jan 26 03:08:42 2010 +++ /branches/bleeding_edge/src/regexp-macro-assembler.h Mon Apr 19 12:30:11 2010
@@ -161,7 +161,7 @@
 };


-#ifdef V8_NATIVE_REGEXP  // Avoid compiling unused code.
+#ifndef V8_INTERPRETED_REGEXP  // Avoid compiling unused code.

 class NativeRegExpMacroAssembler: public RegExpMacroAssembler {
  public:
@@ -221,7 +221,7 @@
                         int* output);
 };

-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 } }  // namespace v8::internal

=======================================
--- /branches/bleeding_edge/src/serialize.cc    Mon Apr 12 03:07:50 2010
+++ /branches/bleeding_edge/src/serialize.cc    Mon Apr 19 12:30:11 2010
@@ -422,7 +422,7 @@
       UNCLASSIFIED,
       21,
       "compile_array_push");
-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP
   Add(ExternalReference::re_case_insensitive_compare_uc16().address(),
       UNCLASSIFIED,
       22,
@@ -439,7 +439,7 @@
       UNCLASSIFIED,
       25,
       "NativeRegExpMacroAssembler::word_character_map");
-#endif
+#endif  // V8_INTERPRETED_REGEXP
   // Keyed lookup cache.
   Add(ExternalReference::keyed_lookup_cache_keys().address(),
       UNCLASSIFIED,
=======================================
--- /branches/bleeding_edge/src/x64/builtins-x64.cc     Tue Apr 13 04:59:37 2010
+++ /branches/bleeding_edge/src/x64/builtins-x64.cc     Mon Apr 19 12:30:11 2010
@@ -1212,7 +1212,7 @@
__ movq(rbx, Operand(kScratchRegister, EntryFrameConstants::kArgvOffset));
   // Load the function pointer into rdi.
   __ movq(rdi, rdx);
-#else  // !defined(_WIN64)
+#else  // _WIN64
   // GCC parameters in:
   // rdi : entry (ignored)
   // rsi : function
=======================================
--- /branches/bleeding_edge/src/x64/codegen-x64.cc      Mon Apr 19 05:39:07 2010
+++ /branches/bleeding_edge/src/x64/codegen-x64.cc      Mon Apr 19 12:30:11 2010
@@ -7317,9 +7317,9 @@
// Just jump directly to runtime if native RegExp is not selected at compile // time or if regexp entry in generated code is turned off runtime switch or
   // at compilation.
-#ifndef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP
   __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
-#else  // V8_NATIVE_REGEXP
+#else  // V8_INTERPRETED_REGEXP
   if (!FLAG_regexp_entry_native) {
     __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
     return;
@@ -7659,7 +7659,7 @@
   // Do the runtime call to execute the regexp.
   __ bind(&runtime);
   __ TailCallRuntime(Runtime::kRegExpExec, 4, 1);
-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP
 }


@@ -8262,7 +8262,7 @@
     // passed in register.
 #ifdef _WIN64
     __ movq(rcx, rax);
-#else  // ! defined(_WIN64)
+#else  // _WIN64
     __ movq(rdi, rax);
 #endif
     __ movq(kScratchRegister,
@@ -8296,7 +8296,7 @@
     __ lea(rdx, Operand(rsp, 4 * kPointerSize));
   }

-#else  // ! defined(_WIN64)
+#else  // _WIN64
   // GCC passes arguments in rdi, rsi, rdx, rcx, r8, r9.
   __ movq(rdi, r14);  // argc.
   __ movq(rsi, r15);  // argv.
=======================================
--- /branches/bleeding_edge/src/x64/regexp-macro-assembler-x64.cc Tue Apr 6 03:36:38 2010 +++ /branches/bleeding_edge/src/x64/regexp-macro-assembler-x64.cc Mon Apr 19 12:30:11 2010
@@ -39,7 +39,7 @@
 namespace v8 {
 namespace internal {

-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP

 /*
  * This assembler uses the following register assignment convention
@@ -1310,6 +1310,6 @@

 #undef __

-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 }}  // namespace v8::internal
=======================================
--- /branches/bleeding_edge/src/x64/regexp-macro-assembler-x64.h Fri Jan 29 02:33:27 2010 +++ /branches/bleeding_edge/src/x64/regexp-macro-assembler-x64.h Mon Apr 19 12:30:11 2010
@@ -31,7 +31,7 @@
 namespace v8 {
 namespace internal {

-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP

 class RegExpMacroAssemblerX64: public NativeRegExpMacroAssembler {
  public:
@@ -271,7 +271,7 @@
   Label stack_overflow_label_;
 };

-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP

 }}  // namespace v8::internal

=======================================
--- /branches/bleeding_edge/test/cctest/test-debug.cc Wed Mar 24 06:09:02 2010 +++ /branches/bleeding_edge/test/cctest/test-debug.cc Mon Apr 19 12:30:11 2010
@@ -5439,7 +5439,7 @@
 }


-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP
// Debug event handler which gets the function on the top frame and schedules a
 // break a number of times.
 static void DebugEventDebugBreak(
@@ -5506,7 +5506,7 @@
   CHECK_EQ(1, break_point_hit_count);
   CHECK_EQ("f", last_function_hit);
 }
-#endif  // V8_NATIVE_REGEXP
+#endif  // V8_INTERPRETED_REGEXP


 // Common part of EvalContextData and NestedBreakEventContextData tests.
=======================================
--- /branches/bleeding_edge/test/cctest/test-regexp.cc Thu Feb 4 12:36:58 2010 +++ /branches/bleeding_edge/test/cctest/test-regexp.cc Mon Apr 19 12:30:11 2010
@@ -38,7 +38,9 @@
 #include "jsregexp.h"
 #include "regexp-macro-assembler.h"
 #include "regexp-macro-assembler-irregexp.h"
-#ifdef V8_NATIVE_REGEXP
+#ifdef V8_INTERPRETED_REGEXP
+#include "interpreter-irregexp.h"
+#else  // V8_INTERPRETED_REGEXP
 #ifdef V8_TARGET_ARCH_ARM
 #include "arm/macro-assembler-arm.h"
 #include "arm/regexp-macro-assembler-arm.h"
@@ -51,9 +53,7 @@
 #include "ia32/macro-assembler-ia32.h"
 #include "ia32/regexp-macro-assembler-ia32.h"
 #endif
-#else
-#include "interpreter-irregexp.h"
-#endif
+#endif  // V8_INTERPRETED_REGEXP

 using namespace v8::internal;

@@ -645,7 +645,7 @@
 // Tests of interpreter.


-#ifdef V8_NATIVE_REGEXP
+#ifndef V8_INTERPRETED_REGEXP

 #if V8_TARGET_ARCH_IA32
 typedef RegExpMacroAssemblerIA32 ArchRegExpMacroAssembler;
@@ -1267,7 +1267,7 @@
   Top::clear_pending_exception();
 }

-#else  // ! V8_REGEX_NATIVE
+#else  // V8_INTERPRETED_REGEXP

 TEST(MacroAssembler) {
   V8::Initialize(NULL);
@@ -1332,7 +1332,7 @@
   CHECK_EQ(42, captures[0]);
 }

-#endif  // ! V8_REGEXP_NATIVE
+#endif  // V8_INTERPRETED_REGEXP


 TEST(AddInverseToTable) {
=======================================
--- /branches/bleeding_edge/tools/gyp/v8.gyp    Wed Apr 14 11:48:05 2010
+++ /branches/bleeding_edge/tools/gyp/v8.gyp    Mon Apr 19 12:30:11 2010
@@ -31,7 +31,6 @@
     'gcc_version%': 'unknown',
     'target_arch%': 'ia32',
     'v8_use_snapshot%': 'true',
-    'v8_regexp%': 'native',
   },
   'target_defaults': {
     'defines': [
@@ -48,13 +47,11 @@
       ['target_arch=="ia32"', {
         'defines': [
           'V8_TARGET_ARCH_IA32',
-          'V8_NATIVE_REGEXP',
         ],
       }],
       ['target_arch=="x64"', {
         'defines': [
           'V8_TARGET_ARCH_X64',
-          'V8_NATIVE_REGEXP',
         ],
       }],
     ],
=======================================
--- /branches/bleeding_edge/tools/v8.xcodeproj/project.pbxproj Wed Apr 14 01:31:37 2010 +++ /branches/bleeding_edge/tools/v8.xcodeproj/project.pbxproj Mon Apr 19 12:30:11 2010
@@ -1650,7 +1650,6 @@
                                GCC_PREPROCESSOR_DEFINITIONS = (
                                        "$(GCC_PREPROCESSOR_DEFINITIONS)",
                                        V8_TARGET_ARCH_IA32,
-                                       V8_NATIVE_REGEXP,
                                        DEBUG,
                                        V8_ENABLE_CHECKS,
                                        ENABLE_DEBUGGER_SUPPORT,
@@ -1666,7 +1665,6 @@
                                GCC_PREPROCESSOR_DEFINITIONS = (
                                        "$(GCC_PREPROCESSOR_DEFINITIONS)",
                                        V8_TARGET_ARCH_IA32,
-                                       V8_NATIVE_REGEXP,
                                        NDEBUG,
                                        ENABLE_DEBUGGER_SUPPORT,
                                );
@@ -1683,7 +1681,6 @@
                                        "$(GCC_PREPROCESSOR_DEFINITIONS)",
                                        ENABLE_DISASSEMBLER,
                                        V8_TARGET_ARCH_IA32,
-                                       V8_NATIVE_REGEXP,
                                        ENABLE_LOGGING_AND_PROFILING,
                                        ENABLE_DEBUGGER_SUPPORT,
                                );
@@ -1700,7 +1697,6 @@
                                GCC_PREPROCESSOR_DEFINITIONS = (
                                        "$(GCC_PREPROCESSOR_DEFINITIONS)",
                                        V8_TARGET_ARCH_IA32,
-                                       V8_NATIVE_REGEXP,
                                        NDEBUG,
                                        ENABLE_DEBUGGER_SUPPORT,
                                );
=======================================
--- /branches/bleeding_edge/tools/visual_studio/arm.vsprops Mon Sep 7 03:47:31 2009 +++ /branches/bleeding_edge/tools/visual_studio/arm.vsprops Mon Apr 19 12:30:11 2010
@@ -8,7 +8,7 @@
        >
        <Tool
                Name="VCCLCompilerTool"
- PreprocessorDefinitions="_USE_32BIT_TIME_T;V8_TARGET_ARCH_ARM;V8_NATIVE_REGEXP"
+               PreprocessorDefinitions="_USE_32BIT_TIME_T;V8_TARGET_ARCH_ARM"
                DisableSpecificWarnings="4996"
        />
 </VisualStudioPropertySheet>
=======================================
--- /branches/bleeding_edge/tools/visual_studio/ia32.vsprops Wed Jan 27 08:18:58 2010 +++ /branches/bleeding_edge/tools/visual_studio/ia32.vsprops Mon Apr 19 12:30:11 2010
@@ -8,7 +8,7 @@
        >
        <Tool
                Name="VCCLCompilerTool"
- PreprocessorDefinitions="_USE_32BIT_TIME_T;V8_TARGET_ARCH_IA32;V8_NATIVE_REGEXP"
+               PreprocessorDefinitions="_USE_32BIT_TIME_T;V8_TARGET_ARCH_IA32"
        />
        <Tool
                Name="VCLinkerTool"
=======================================
--- /branches/bleeding_edge/tools/visual_studio/x64.vsprops Wed Jan 27 08:18:58 2010 +++ /branches/bleeding_edge/tools/visual_studio/x64.vsprops Mon Apr 19 12:30:11 2010
@@ -8,7 +8,7 @@
        >
        <Tool
                Name="VCCLCompilerTool"
-               PreprocessorDefinitions="V8_TARGET_ARCH_X64;V8_NATIVE_REGEXP"
+               PreprocessorDefinitions="V8_TARGET_ARCH_X64"
        />
        <Tool
                Name="VCLinkerTool"

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

Reply via email to