Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(93)

Side by Side Diff: src/ppc/code-stubs-ppc.cc

Issue 1455663002: PPC: [turbofan] Move JSCallFunction specialization to JSCallReducer. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #if V8_TARGET_ARCH_PPC 5 #if V8_TARGET_ARCH_PPC
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/bootstrapper.h" 8 #include "src/bootstrapper.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 2698 matching lines...) Expand 10 before | Expand all | Expand 10 after
2709 // Goto miss case if we do not have a function. 2709 // Goto miss case if we do not have a function.
2710 __ CompareObjectType(r4, r7, r7, JS_FUNCTION_TYPE); 2710 __ CompareObjectType(r4, r7, r7, JS_FUNCTION_TYPE);
2711 __ bne(&miss); 2711 __ bne(&miss);
2712 2712
2713 // Make sure the function is not the Array() function, which requires special 2713 // Make sure the function is not the Array() function, which requires special
2714 // behavior on MISS. 2714 // behavior on MISS.
2715 __ LoadGlobalFunction(Context::ARRAY_FUNCTION_INDEX, r7); 2715 __ LoadGlobalFunction(Context::ARRAY_FUNCTION_INDEX, r7);
2716 __ cmp(r4, r7); 2716 __ cmp(r4, r7);
2717 __ beq(&miss); 2717 __ beq(&miss);
2718 2718
2719 // Make sure the function belongs to the same native context (which implies
2720 // the same global object).
2721 __ LoadP(r7, FieldMemOperand(r4, JSFunction::kContextOffset));
2722 __ LoadP(r7, ContextOperand(r7, Context::GLOBAL_OBJECT_INDEX));
2723 __ LoadP(ip, GlobalObjectOperand());
2724 __ cmp(r7, ip);
2725 __ bne(&miss);
2726
2719 // Update stats. 2727 // Update stats.
2720 __ LoadP(r7, FieldMemOperand(r5, with_types_offset)); 2728 __ LoadP(r7, FieldMemOperand(r5, with_types_offset));
2721 __ AddSmiLiteral(r7, r7, Smi::FromInt(1), r0); 2729 __ AddSmiLiteral(r7, r7, Smi::FromInt(1), r0);
2722 __ StoreP(r7, FieldMemOperand(r5, with_types_offset), r0); 2730 __ StoreP(r7, FieldMemOperand(r5, with_types_offset), r0);
2723 2731
2724 // Initialize the call counter. 2732 // Initialize the call counter.
2725 __ LoadSmiLiteral(r8, Smi::FromInt(CallICNexus::kCallCountIncrement)); 2733 __ LoadSmiLiteral(r8, Smi::FromInt(CallICNexus::kCallCountIncrement));
2726 __ StoreP(r8, FieldMemOperand(r9, count_offset), r0); 2734 __ StoreP(r8, FieldMemOperand(r9, count_offset), r0);
2727 2735
2728 // Store the function. Use a stub since we need a frame for allocation. 2736 // Store the function. Use a stub since we need a frame for allocation.
(...skipping 2994 matching lines...) Expand 10 before | Expand all | Expand 10 after
5723 kStackUnwindSpace, NULL, 5731 kStackUnwindSpace, NULL,
5724 MemOperand(fp, 6 * kPointerSize), NULL); 5732 MemOperand(fp, 6 * kPointerSize), NULL);
5725 } 5733 }
5726 5734
5727 5735
5728 #undef __ 5736 #undef __
5729 } // namespace internal 5737 } // namespace internal
5730 } // namespace v8 5738 } // namespace v8
5731 5739
5732 #endif // V8_TARGET_ARCH_PPC 5740 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698