Skip to content

Commit bfd7b24

Browse files
targosrvagg
authored andcommitted
deps: upgrade to V8 5.0.71.52
Pick up the latest set of patch level updates from the V8 5.0 branch. v8/v8@5.0.71.47...5.0.71.52 Fixes: #6158 PR-URL: #6928 Reviewed-By: Ali Ijaz Sheikh <[email protected]> Reviewed-By: Ben Noordhuis <[email protected]>
1 parent 6444567 commit bfd7b24

28 files changed

+162
-74
lines changed

deps/v8/include/v8-version.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
#define V8_MAJOR_VERSION 5
1212
#define V8_MINOR_VERSION 0
1313
#define V8_BUILD_NUMBER 71
14-
#define V8_PATCH_LEVEL 47
14+
#define V8_PATCH_LEVEL 52
1515

1616
// Use 1 for candidates and 0 otherwise.
1717
// (Boolean macro values are not supported by all preprocessors.)

deps/v8/src/compiler/js-create-lowering.cc

Lines changed: 11 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -905,8 +905,17 @@ Node* JSCreateLowering::AllocateFastLiteral(
905905
site_context->ExitScope(current_site, boilerplate_object);
906906
} else if (property_details.representation().IsDouble()) {
907907
// Allocate a mutable HeapNumber box and store the value into it.
908-
value = effect = AllocateMutableHeapNumber(
909-
Handle<HeapNumber>::cast(boilerplate_value)->value(),
908+
Callable callable = CodeFactory::AllocateMutableHeapNumber(isolate());
909+
CallDescriptor* desc = Linkage::GetStubCallDescriptor(
910+
isolate(), jsgraph()->zone(), callable.descriptor(), 0,
911+
CallDescriptor::kNoFlags, Operator::kNoThrow);
912+
value = effect = graph()->NewNode(
913+
common()->Call(desc), jsgraph()->HeapConstant(callable.code()),
914+
jsgraph()->NoContextConstant(), effect, control);
915+
effect = graph()->NewNode(
916+
simplified()->StoreField(AccessBuilder::ForHeapNumberValue()),
917+
value, jsgraph()->Constant(
918+
Handle<HeapNumber>::cast(boilerplate_value)->value()),
910919
effect, control);
911920
} else if (property_details.representation().IsSmi()) {
912921
// Ensure that value is stored as smi.
@@ -1028,23 +1037,6 @@ Node* JSCreateLowering::AllocateFastLiteralElements(
10281037
return builder.Finish();
10291038
}
10301039

1031-
Node* JSCreateLowering::AllocateMutableHeapNumber(double value, Node* effect,
1032-
Node* control) {
1033-
// TODO(turbofan): Support inline allocation of MutableHeapNumber
1034-
// (requires proper alignment on Allocate, and Begin/FinishRegion).
1035-
Callable callable = CodeFactory::AllocateMutableHeapNumber(isolate());
1036-
CallDescriptor* desc = Linkage::GetStubCallDescriptor(
1037-
isolate(), jsgraph()->zone(), callable.descriptor(), 0,
1038-
CallDescriptor::kNoFlags, Operator::kNoThrow);
1039-
Node* result = effect = graph()->NewNode(
1040-
common()->Call(desc), jsgraph()->HeapConstant(callable.code()),
1041-
jsgraph()->NoContextConstant(), effect, control);
1042-
effect = graph()->NewNode(
1043-
simplified()->StoreField(AccessBuilder::ForHeapNumberValue()), result,
1044-
jsgraph()->Constant(value), effect, control);
1045-
return result;
1046-
}
1047-
10481040
MaybeHandle<LiteralsArray> JSCreateLowering::GetSpecializationLiterals(
10491041
Node* node) {
10501042
Node* const closure = NodeProperties::GetValueInput(node, 0);

deps/v8/src/compiler/js-create-lowering.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ class JSCreateLowering final : public AdvancedReducer {
7070
Handle<JSObject> boilerplate,
7171
PretenureFlag pretenure,
7272
AllocationSiteUsageContext* site_context);
73-
Node* AllocateMutableHeapNumber(double value, Node* effect, Node* control);
7473

7574
// Infers the LiteralsArray to use for a given {node}.
7675
MaybeHandle<LiteralsArray> GetSpecializationLiterals(Node* node);

deps/v8/src/crankshaft/arm/lithium-codegen-arm.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2443,11 +2443,12 @@ void LCodeGen::EmitClassOfTest(Label* is_true,
24432443

24442444
__ JumpIfSmi(input, is_false);
24452445

2446-
__ CompareObjectType(input, temp, temp2, JS_FUNCTION_TYPE);
2446+
__ CompareObjectType(input, temp, temp2, FIRST_FUNCTION_TYPE);
2447+
STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE);
24472448
if (String::Equals(isolate()->factory()->Function_string(), class_name)) {
2448-
__ b(eq, is_true);
2449+
__ b(hs, is_true);
24492450
} else {
2450-
__ b(eq, is_false);
2451+
__ b(hs, is_false);
24512452
}
24522453

24532454
// Check if the constructor in the map is a function.

deps/v8/src/crankshaft/arm64/lithium-codegen-arm64.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2225,11 +2225,12 @@ void LCodeGen::DoClassOfTestAndBranch(LClassOfTestAndBranch* instr) {
22252225
__ JumpIfSmi(input, false_label);
22262226

22272227
Register map = scratch2;
2228-
__ CompareObjectType(input, map, scratch1, JS_FUNCTION_TYPE);
2228+
__ CompareObjectType(input, map, scratch1, FIRST_FUNCTION_TYPE);
2229+
STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE);
22292230
if (String::Equals(isolate()->factory()->Function_string(), class_name)) {
2230-
__ B(eq, true_label);
2231+
__ B(hs, true_label);
22312232
} else {
2232-
__ B(eq, false_label);
2233+
__ B(hs, false_label);
22332234
}
22342235

22352236
// Check if the constructor in the map is a function.

deps/v8/src/crankshaft/ia32/lithium-codegen-ia32.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2342,11 +2342,12 @@ void LCodeGen::EmitClassOfTest(Label* is_true,
23422342
DCHECK(!temp.is(temp2));
23432343
__ JumpIfSmi(input, is_false);
23442344

2345-
__ CmpObjectType(input, JS_FUNCTION_TYPE, temp);
2345+
__ CmpObjectType(input, FIRST_FUNCTION_TYPE, temp);
2346+
STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE);
23462347
if (String::Equals(isolate()->factory()->Function_string(), class_name)) {
2347-
__ j(equal, is_true);
2348+
__ j(above_equal, is_true);
23482349
} else {
2349-
__ j(equal, is_false);
2350+
__ j(above_equal, is_false);
23502351
}
23512352

23522353
// Now we are in the FIRST-LAST_NONCALLABLE_SPEC_OBJECT_TYPE range.

deps/v8/src/crankshaft/mips/lithium-codegen-mips.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2355,10 +2355,11 @@ void LCodeGen::EmitClassOfTest(Label* is_true,
23552355

23562356
__ JumpIfSmi(input, is_false);
23572357
__ GetObjectType(input, temp, temp2);
2358+
STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE);
23582359
if (String::Equals(isolate()->factory()->Function_string(), class_name)) {
2359-
__ Branch(is_true, eq, temp2, Operand(JS_FUNCTION_TYPE));
2360+
__ Branch(is_true, hs, temp2, Operand(FIRST_FUNCTION_TYPE));
23602361
} else {
2361-
__ Branch(is_false, eq, temp2, Operand(JS_FUNCTION_TYPE));
2362+
__ Branch(is_false, hs, temp2, Operand(FIRST_FUNCTION_TYPE));
23622363
}
23632364

23642365
// Check if the constructor in the map is a function.

deps/v8/src/crankshaft/mips64/lithium-codegen-mips64.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2473,10 +2473,11 @@ void LCodeGen::EmitClassOfTest(Label* is_true,
24732473
__ JumpIfSmi(input, is_false);
24742474

24752475
__ GetObjectType(input, temp, temp2);
2476+
STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE);
24762477
if (String::Equals(isolate()->factory()->Function_string(), class_name)) {
2477-
__ Branch(is_true, eq, temp2, Operand(JS_FUNCTION_TYPE));
2478+
__ Branch(is_true, hs, temp2, Operand(FIRST_FUNCTION_TYPE));
24782479
} else {
2479-
__ Branch(is_false, eq, temp2, Operand(JS_FUNCTION_TYPE));
2480+
__ Branch(is_false, hs, temp2, Operand(FIRST_FUNCTION_TYPE));
24802481
}
24812482

24822483
// Now we are in the FIRST-LAST_NONCALLABLE_SPEC_OBJECT_TYPE range.

deps/v8/src/crankshaft/ppc/lithium-codegen-ppc.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2498,11 +2498,12 @@ void LCodeGen::EmitClassOfTest(Label* is_true, Label* is_false,
24982498

24992499
__ JumpIfSmi(input, is_false);
25002500

2501-
__ CompareObjectType(input, temp, temp2, JS_FUNCTION_TYPE);
2501+
__ CompareObjectType(input, temp, temp2, FIRST_FUNCTION_TYPE);
2502+
STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE);
25022503
if (String::Equals(isolate()->factory()->Function_string(), class_name)) {
2503-
__ beq(is_true);
2504+
__ bge(is_true);
25042505
} else {
2505-
__ beq(is_false);
2506+
__ bge(is_false);
25062507
}
25072508

25082509
// Check if the constructor in the map is a function.

deps/v8/src/crankshaft/x64/lithium-codegen-x64.cc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2393,11 +2393,12 @@ void LCodeGen::EmitClassOfTest(Label* is_true,
23932393

23942394
__ JumpIfSmi(input, is_false);
23952395

2396-
__ CmpObjectType(input, JS_FUNCTION_TYPE, temp);
2396+
__ CmpObjectType(input, FIRST_FUNCTION_TYPE, temp);
2397+
STATIC_ASSERT(LAST_FUNCTION_TYPE == LAST_TYPE);
23972398
if (String::Equals(isolate()->factory()->Function_string(), class_name)) {
2398-
__ j(equal, is_true);
2399+
__ j(above_equal, is_true);
23992400
} else {
2400-
__ j(equal, is_false);
2401+
__ j(above_equal, is_false);
24012402
}
24022403

24032404
// Check if the constructor in the map is a function.

0 commit comments

Comments
 (0)