diff options
author | Michaël Zasso <targos@protonmail.com> | 2016-05-23 16:27:30 +0200 |
---|---|---|
committer | Michaël Zasso <targos@protonmail.com> | 2016-05-25 10:29:25 +0200 |
commit | 4453c0c250e6bf0f6391491652515b14d945206b (patch) | |
tree | 8583849063416c26c0831d5f2c84d390c5bb0d01 /deps/v8/src/full-codegen | |
parent | eff96d32dc3dce00f6dc60461d43328965cb214f (diff) | |
download | node-new-4453c0c250e6bf0f6391491652515b14d945206b.tar.gz |
deps: upgrade to V8 5.0.71.52
Pick up the latest set of patch level updates from the V8 5.0 branch.
https://github.com/v8/v8/compare/5.0.71.47...5.0.71.52
Fixes: https://github.com/nodejs/node/issues/6158
PR-URL: https://github.com/nodejs/node/pull/6928
Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Diffstat (limited to 'deps/v8/src/full-codegen')
8 files changed, 29 insertions, 21 deletions
diff --git a/deps/v8/src/full-codegen/arm/full-codegen-arm.cc b/deps/v8/src/full-codegen/arm/full-codegen-arm.cc index 6e6a65511a..46e3e2cc71 100644 --- a/deps/v8/src/full-codegen/arm/full-codegen-arm.cc +++ b/deps/v8/src/full-codegen/arm/full-codegen-arm.cc @@ -3075,9 +3075,10 @@ void FullCodeGenerator::EmitClassOf(CallRuntime* expr) { // Map is now in r0. __ b(lt, &null); - // Return 'Function' for JSFunction objects. - __ cmp(r1, Operand(JS_FUNCTION_TYPE)); - __ b(eq, &function); + // Return 'Function' for JSFunction and JSBoundFunction objects. + __ cmp(r1, Operand(FIRST_FUNCTION_TYPE)); + STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE); + __ b(hs, &function); // Check if the constructor in the map is a JS function. Register instance_type = r2; diff --git a/deps/v8/src/full-codegen/arm64/full-codegen-arm64.cc b/deps/v8/src/full-codegen/arm64/full-codegen-arm64.cc index d0278e7421..d43ae754e9 100644 --- a/deps/v8/src/full-codegen/arm64/full-codegen-arm64.cc +++ b/deps/v8/src/full-codegen/arm64/full-codegen-arm64.cc @@ -2863,8 +2863,9 @@ void FullCodeGenerator::EmitClassOf(CallRuntime* expr) { __ B(lt, &null); // Return 'Function' for JSFunction objects. - __ Cmp(x11, JS_FUNCTION_TYPE); - __ B(eq, &function); + __ Cmp(x11, FIRST_FUNCTION_TYPE); + STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE); + __ B(hs, &function); // Check if the constructor in the map is a JS function. Register instance_type = x14; diff --git a/deps/v8/src/full-codegen/ia32/full-codegen-ia32.cc b/deps/v8/src/full-codegen/ia32/full-codegen-ia32.cc index fadcd7cb5d..3dc5da12c6 100644 --- a/deps/v8/src/full-codegen/ia32/full-codegen-ia32.cc +++ b/deps/v8/src/full-codegen/ia32/full-codegen-ia32.cc @@ -2953,9 +2953,10 @@ void FullCodeGenerator::EmitClassOf(CallRuntime* expr) { __ CmpObjectType(eax, FIRST_JS_RECEIVER_TYPE, eax); __ j(below, &null, Label::kNear); - // Return 'Function' for JSFunction objects. - __ CmpInstanceType(eax, JS_FUNCTION_TYPE); - __ j(equal, &function, Label::kNear); + // Return 'Function' for JSFunction and JSBoundFunction objects. + __ CmpInstanceType(eax, FIRST_FUNCTION_TYPE); + STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE); + __ j(above_equal, &function, Label::kNear); // Check if the constructor in the map is a JS function. __ GetMapConstructor(eax, eax, ebx); diff --git a/deps/v8/src/full-codegen/mips/full-codegen-mips.cc b/deps/v8/src/full-codegen/mips/full-codegen-mips.cc index c8ce204590..3b34cb3a98 100644 --- a/deps/v8/src/full-codegen/mips/full-codegen-mips.cc +++ b/deps/v8/src/full-codegen/mips/full-codegen-mips.cc @@ -3073,8 +3073,9 @@ void FullCodeGenerator::EmitClassOf(CallRuntime* expr) { __ GetObjectType(v0, v0, a1); // Map is now in v0. __ Branch(&null, lt, a1, Operand(FIRST_JS_RECEIVER_TYPE)); - // Return 'Function' for JSFunction objects. - __ Branch(&function, eq, a1, Operand(JS_FUNCTION_TYPE)); + // Return 'Function' for JSFunction and JSBoundFunction objects. + STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE); + __ Branch(&function, hs, a1, Operand(FIRST_FUNCTION_TYPE)); // Check if the constructor in the map is a JS function. Register instance_type = a2; diff --git a/deps/v8/src/full-codegen/mips64/full-codegen-mips64.cc b/deps/v8/src/full-codegen/mips64/full-codegen-mips64.cc index c85dee4644..9573be297a 100644 --- a/deps/v8/src/full-codegen/mips64/full-codegen-mips64.cc +++ b/deps/v8/src/full-codegen/mips64/full-codegen-mips64.cc @@ -3077,8 +3077,9 @@ void FullCodeGenerator::EmitClassOf(CallRuntime* expr) { __ GetObjectType(v0, v0, a1); // Map is now in v0. __ Branch(&null, lt, a1, Operand(FIRST_JS_RECEIVER_TYPE)); - // Return 'Function' for JSFunction objects. - __ Branch(&function, eq, a1, Operand(JS_FUNCTION_TYPE)); + // Return 'Function' for JSFunction and JSBoundFunction objects. + STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE); + __ Branch(&function, hs, a1, Operand(FIRST_FUNCTION_TYPE)); // Check if the constructor in the map is a JS function. Register instance_type = a2; diff --git a/deps/v8/src/full-codegen/ppc/full-codegen-ppc.cc b/deps/v8/src/full-codegen/ppc/full-codegen-ppc.cc index 24a2a38733..daf3dbc099 100644 --- a/deps/v8/src/full-codegen/ppc/full-codegen-ppc.cc +++ b/deps/v8/src/full-codegen/ppc/full-codegen-ppc.cc @@ -3077,9 +3077,10 @@ void FullCodeGenerator::EmitClassOf(CallRuntime* expr) { // Map is now in r3. __ blt(&null); - // Return 'Function' for JSFunction objects. - __ cmpi(r4, Operand(JS_FUNCTION_TYPE)); - __ beq(&function); + // Return 'Function' for JSFunction and JSBoundFunction objects. + __ cmpli(r4, Operand(FIRST_FUNCTION_TYPE)); + STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE); + __ bge(&function); // Check if the constructor in the map is a JS function. Register instance_type = r5; diff --git a/deps/v8/src/full-codegen/x64/full-codegen-x64.cc b/deps/v8/src/full-codegen/x64/full-codegen-x64.cc index 910b2cf9f0..2f7788d0c7 100644 --- a/deps/v8/src/full-codegen/x64/full-codegen-x64.cc +++ b/deps/v8/src/full-codegen/x64/full-codegen-x64.cc @@ -2944,9 +2944,10 @@ void FullCodeGenerator::EmitClassOf(CallRuntime* expr) { __ CmpObjectType(rax, FIRST_JS_RECEIVER_TYPE, rax); __ j(below, &null, Label::kNear); - // Return 'Function' for JSFunction objects. - __ CmpInstanceType(rax, JS_FUNCTION_TYPE); - __ j(equal, &function, Label::kNear); + // Return 'Function' for JSFunction and JSBoundFunction objects. + __ CmpInstanceType(rax, FIRST_FUNCTION_TYPE); + STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE); + __ j(above_equal, &function, Label::kNear); // Check if the constructor in the map is a JS function. __ GetMapConstructor(rax, rax, rbx); diff --git a/deps/v8/src/full-codegen/x87/full-codegen-x87.cc b/deps/v8/src/full-codegen/x87/full-codegen-x87.cc index 36b7c5d636..1fecf499a6 100644 --- a/deps/v8/src/full-codegen/x87/full-codegen-x87.cc +++ b/deps/v8/src/full-codegen/x87/full-codegen-x87.cc @@ -2945,9 +2945,10 @@ void FullCodeGenerator::EmitClassOf(CallRuntime* expr) { __ CmpObjectType(eax, FIRST_JS_RECEIVER_TYPE, eax); __ j(below, &null, Label::kNear); - // Return 'Function' for JSFunction objects. - __ CmpInstanceType(eax, JS_FUNCTION_TYPE); - __ j(equal, &function, Label::kNear); + // Return 'Function' for JSFunction and JSBoundFunction objects. + __ CmpInstanceType(eax, FIRST_FUNCTION_TYPE); + STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE); + __ j(above_equal, &function, Label::kNear); // Check if the constructor in the map is a JS function. __ GetMapConstructor(eax, eax, ebx); |