| Index: src/x64/code-stubs-x64.cc
|
| diff --git a/src/x64/code-stubs-x64.cc b/src/x64/code-stubs-x64.cc
|
| index 171112fa7d37a37d01a2a22aa2e41ac1322985d1..8f27374af5f156b9c6e85ef2f6622f4fd0821ec2 100644
|
| --- a/src/x64/code-stubs-x64.cc
|
| +++ b/src/x64/code-stubs-x64.cc
|
| @@ -3231,6 +3231,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) {
|
| // Cache the called function in a global property cell. Cache states
|
| // are uninitialized, monomorphic (indicated by a JSFunction), and
|
| // megamorphic.
|
| + // rax : number of arguments to the construct function
|
| // rbx : cache cell for call target
|
| // rdi : the function to call
|
| Isolate* isolate = masm->isolate();
|
| @@ -3250,9 +3251,8 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) {
|
| // If we didn't have a matching function, and we didn't find the megamorph
|
| // sentinel, then we have in the cell either some other function or an
|
| // AllocationSite. Do a map check on the object in rcx.
|
| - Handle<Map> allocation_site_map(
|
| - masm->isolate()->heap()->allocation_site_map(),
|
| - masm->isolate());
|
| + Handle<Map> allocation_site_map =
|
| + masm->isolate()->factory()->allocation_site_map();
|
| __ Cmp(FieldOperand(rcx, 0), allocation_site_map);
|
| __ j(not_equal, &miss);
|
|
|
| @@ -3288,6 +3288,7 @@ static void GenerateRecordCallTarget(MacroAssembler* masm) {
|
| {
|
| FrameScope scope(masm, StackFrame::INTERNAL);
|
|
|
| + // Arguments register must be smi-tagged to call out.
|
| __ Integer32ToSmi(rax, rax);
|
| __ push(rax);
|
| __ push(rdi);
|
| @@ -6297,9 +6298,8 @@ static void CreateArrayDispatchOneArgument(MacroAssembler* masm,
|
| __ incl(rdx);
|
| __ movq(rcx, FieldOperand(rbx, Cell::kValueOffset));
|
| if (FLAG_debug_code) {
|
| - Handle<Map> allocation_site_map(
|
| - masm->isolate()->heap()->allocation_site_map(),
|
| - masm->isolate());
|
| + Handle<Map> allocation_site_map =
|
| + masm->isolate()->factory()->allocation_site_map();
|
| __ Cmp(FieldOperand(rcx, 0), allocation_site_map);
|
| __ Assert(equal, kExpectedAllocationSiteInCell);
|
| }
|
| @@ -6446,7 +6446,7 @@ void ArrayConstructorStub::Generate(MacroAssembler* masm) {
|
| __ j(equal, &no_info);
|
| __ movq(rdx, FieldOperand(rbx, Cell::kValueOffset));
|
| __ Cmp(FieldOperand(rdx, 0),
|
| - Handle<Map>(masm->isolate()->heap()->allocation_site_map()));
|
| + masm->isolate()->factory()->allocation_site_map());
|
| __ j(not_equal, &no_info);
|
|
|
| __ movq(rdx, FieldOperand(rdx, AllocationSite::kTransitionInfoOffset));
|
|
|