 Chromium Code Reviews
 Chromium Code Reviews Issue 173567:
  ARM native regexps.  (Closed)
    
  
    Issue 173567:
  ARM native regexps.  (Closed) 
  | Index: src/serialize.cc | 
| diff --git a/src/serialize.cc b/src/serialize.cc | 
| index d2fd1e4fca8f1756235565c4e83d57f1cbd79a6d..0261134defa820b1a8c961bc13d3332e3e0fd2d3 100644 | 
| --- a/src/serialize.cc | 
| +++ b/src/serialize.cc | 
| @@ -734,6 +734,20 @@ void ExternalReferenceTable::PopulateTable() { | 
| UNCLASSIFIED, | 
| 17, | 
| "compare_doubles"); | 
| +#ifdef V8_NATIVE_REGEXP | 
| + Add(ExternalReference::re_case_insensitive_compare_uc16().address(), | 
| + UNCLASSIFIED, | 
| + 17, | 
| 
Erik Corry
2009/08/28 09:47:03
Seems like you shouldn't be reusing 17 here.
 
Lasse Reichstein
2009/08/28 11:43:15
Whoops.
 | 
| + "NativeRegExpMacroAssembler::CaseInsensitiveCompareUC16()"); | 
| + Add(ExternalReference::re_check_stack_guard_state().address(), | 
| + UNCLASSIFIED, | 
| + 18, | 
| + "RegExpMacroAssembler*::CheckStackGuardState()"); | 
| + Add(ExternalReference::re_grow_stack().address(), | 
| + UNCLASSIFIED, | 
| + 19, | 
| + "NativeRegExpMacroAssembler::GrowStack()"); | 
| +#endif | 
| } | 
| @@ -1119,6 +1133,11 @@ void Serializer::PutHeader() { | 
| #else | 
| writer_->PutC('0'); | 
| #endif | 
| +#ifdef V8_NATIVE_REGEXP | 
| + writer_->PutC('N'); | 
| +#else // Interpreted regexp | 
| + writer_->PutC('I'); | 
| +#endif | 
| // Write sizes of paged memory spaces. Allocate extra space for the old | 
| // and code spaces, because objects in new space will be promoted to them. | 
| writer_->PutC('S'); | 
| @@ -1475,6 +1494,11 @@ void Deserializer::GetHeader() { | 
| // synchronization tags. | 
| if (reader_.GetC() != '0') FATAL("Snapshot contains synchronization tags."); | 
| #endif | 
| +#ifdef V8_NATIVE_REGEXP | 
| + reader_.ExpectC('N'); | 
| +#else // Interpreted regexp. | 
| + reader_.ExpectC('I'); | 
| +#endif | 
| // Ensure sufficient capacity in paged memory spaces to avoid growth | 
| // during deserialization. | 
| reader_.ExpectC('S'); |