diff --git a/deps/v8/src/accessors.cc b/deps/v8/src/accessors.cc index 6b7ec058d93c59..662a9e126b04b1 100644 --- a/deps/v8/src/accessors.cc +++ b/deps/v8/src/accessors.cc @@ -382,9 +382,9 @@ void Accessors::RegExpSourceGetter( i::Isolate* isolate = reinterpret_cast(info.GetIsolate()); HandleScope scope(isolate); - Handle receiver = - Utils::OpenHandle(*v8::Local(info.This())); - Handle regexp = Handle::cast(receiver); + Handle holder = + Utils::OpenHandle(*v8::Local(info.Holder())); + Handle regexp = Handle::cast(holder); Handle result; if (regexp->TypeTag() == JSRegExp::NOT_COMPILED) { result = isolate->factory()->empty_string(); diff --git a/deps/v8/src/base/atomicops_internals_mips64_gcc.h b/deps/v8/src/base/atomicops_internals_mips64_gcc.h index 1f629b6ea17a0d..ccb973c0391ebc 100644 --- a/deps/v8/src/base/atomicops_internals_mips64_gcc.h +++ b/deps/v8/src/base/atomicops_internals_mips64_gcc.h @@ -59,7 +59,7 @@ inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, "2:\n" ".set pop\n" : "=&r" (prev), "=m" (*ptr), "=&r" (tmp) - : "Ir" (old_value), "r" (new_value), "m" (*ptr) + : "r" (old_value), "r" (new_value), "m" (*ptr) : "memory"); return prev; } @@ -196,7 +196,7 @@ inline Atomic64 NoBarrier_CompareAndSwap(volatile Atomic64* ptr, "2:\n" ".set pop\n" : "=&r" (prev), "=m" (*ptr), "=&r" (tmp) - : "Ir" (old_value), "r" (new_value), "m" (*ptr) + : "r" (old_value), "r" (new_value), "m" (*ptr) : "memory"); return prev; } diff --git a/deps/v8/src/base/atomicops_internals_mips_gcc.h b/deps/v8/src/base/atomicops_internals_mips_gcc.h index d33b66876b96cf..442fdd0f96a1d3 100644 --- a/deps/v8/src/base/atomicops_internals_mips_gcc.h +++ b/deps/v8/src/base/atomicops_internals_mips_gcc.h @@ -36,7 +36,7 @@ inline Atomic32 NoBarrier_CompareAndSwap(volatile Atomic32* ptr, "2:\n" ".set pop\n" : "=&r" (prev), "=&r" (tmp) - : "Ir" (old_value), "r" (new_value), "r" (ptr) + : "r" (old_value), "r" (new_value), "r" (ptr) : "memory"); return prev; } diff --git a/deps/v8/src/ic/mips/ic-compiler-mips.cc b/deps/v8/src/ic/mips/ic-compiler-mips.cc index 000e3266c40217..6169404c61a059 100644 --- a/deps/v8/src/ic/mips/ic-compiler-mips.cc +++ b/deps/v8/src/ic/mips/ic-compiler-mips.cc @@ -62,12 +62,13 @@ Handle PropertyICCompiler::CompilePolymorphic(TypeHandleList* types, // Separate compare from branch, to provide path for above JumpIfSmi(). Handle cell = Map::WeakCellForMap(map); __ GetWeakValue(match, cell); + __ Subu(match, match, Operand(map_reg)); if (type->Is(HeapType::Number())) { DCHECK(!number_case.is_unused()); __ bind(&number_case); } __ Jump(handlers->at(current), RelocInfo::CODE_TARGET, eq, match, - Operand(map_reg)); + Operand(zero_reg)); } } DCHECK(number_of_handled_maps != 0); diff --git a/deps/v8/src/ic/mips64/ic-compiler-mips64.cc b/deps/v8/src/ic/mips64/ic-compiler-mips64.cc index 1e1880f88d5b58..7ed4492ee318fa 100644 --- a/deps/v8/src/ic/mips64/ic-compiler-mips64.cc +++ b/deps/v8/src/ic/mips64/ic-compiler-mips64.cc @@ -62,12 +62,13 @@ Handle PropertyICCompiler::CompilePolymorphic(TypeHandleList* types, // Separate compare from branch, to provide path for above JumpIfSmi(). Handle cell = Map::WeakCellForMap(map); __ GetWeakValue(match, cell); + __ Dsubu(match, match, Operand(map_reg)); if (type->Is(HeapType::Number())) { DCHECK(!number_case.is_unused()); __ bind(&number_case); } __ Jump(handlers->at(current), RelocInfo::CODE_TARGET, eq, match, - Operand(map_reg)); + Operand(zero_reg)); } } DCHECK(number_of_handled_maps != 0); diff --git a/deps/v8/src/preparser.h b/deps/v8/src/preparser.h index 10d1fbe9cd128d..5fb60d00bb3fe4 100644 --- a/deps/v8/src/preparser.h +++ b/deps/v8/src/preparser.h @@ -2905,7 +2905,7 @@ ParserBase::ParseTemplateLiteral(ExpressionT tag, int start, bool* ok) { Next(); if (next == Token::EOS) { - ReportMessageAt(Scanner::Location(start, peek_position()), + ReportMessageAt(Scanner::Location(start, position()), "unterminated_template"); *ok = false; return Traits::EmptyExpression(); diff --git a/deps/v8/src/version.cc b/deps/v8/src/version.cc index c71ecff3421a0f..6266db9977d43f 100644 --- a/deps/v8/src/version.cc +++ b/deps/v8/src/version.cc @@ -35,7 +35,7 @@ #define MAJOR_VERSION 4 #define MINOR_VERSION 1 #define BUILD_NUMBER 0 -#define PATCH_LEVEL 7 +#define PATCH_LEVEL 12 // Use 1 for candidates and 0 otherwise. // (Boolean macro values are not supported by all preprocessors.) #define IS_CANDIDATE_VERSION 0