diff options
Diffstat (limited to 'src/3rdparty/v8/src/regexp-macro-assembler.cc')
-rw-r--r-- | src/3rdparty/v8/src/regexp-macro-assembler.cc | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/src/3rdparty/v8/src/regexp-macro-assembler.cc b/src/3rdparty/v8/src/regexp-macro-assembler.cc index b6fb3c5..82ba34d 100644 --- a/src/3rdparty/v8/src/regexp-macro-assembler.cc +++ b/src/3rdparty/v8/src/regexp-macro-assembler.cc @@ -1,4 +1,4 @@ -// Copyright 2008 the V8 project authors. All rights reserved. +// Copyright 2012 the V8 project authors. All rights reserved. // Redistribution and use in source and binary forms, with or without // modification, are permitted provided that the following conditions are // met: @@ -35,7 +35,10 @@ namespace v8 { namespace internal { -RegExpMacroAssembler::RegExpMacroAssembler() : slow_safe_compiler_(false) { +RegExpMacroAssembler::RegExpMacroAssembler(Zone* zone) + : slow_safe_compiler_(false), + global_mode_(NOT_GLOBAL), + zone_(zone) { } @@ -54,8 +57,8 @@ bool RegExpMacroAssembler::CanReadUnaligned() { #ifndef V8_INTERPRETED_REGEXP // Avoid unused code, e.g., on ARM. -NativeRegExpMacroAssembler::NativeRegExpMacroAssembler() - : RegExpMacroAssembler() { +NativeRegExpMacroAssembler::NativeRegExpMacroAssembler(Zone* zone) + : RegExpMacroAssembler(zone) { } @@ -64,11 +67,7 @@ NativeRegExpMacroAssembler::~NativeRegExpMacroAssembler() { bool NativeRegExpMacroAssembler::CanReadUnaligned() { -#ifdef V8_TARGET_CAN_READ_UNALIGNED - return !slow_safe(); -#else - return false; -#endif + return FLAG_enable_unaligned_accesses && !slow_safe(); } const byte* NativeRegExpMacroAssembler::StringCharacterPosition( @@ -149,6 +148,7 @@ NativeRegExpMacroAssembler::Result NativeRegExpMacroAssembler::Match( input_start, input_end, offsets_vector, + offsets_vector_length, isolate); return res; } @@ -161,6 +161,7 @@ NativeRegExpMacroAssembler::Result NativeRegExpMacroAssembler::Execute( const byte* input_start, const byte* input_end, int* output, + int output_size, Isolate* isolate) { ASSERT(isolate == Isolate::Current()); // Ensure that the minimum stack has been allocated. @@ -174,10 +175,10 @@ NativeRegExpMacroAssembler::Result NativeRegExpMacroAssembler::Execute( input_start, input_end, output, + output_size, stack_base, direct_call, isolate); - ASSERT(result <= SUCCESS); ASSERT(result >= RETRY); if (result == EXCEPTION && !isolate->has_pending_exception()) { |