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

Side by Side Diff: src/builtins/ppc/builtins-ppc.cc

Issue 2372113004: [turbofan] JSGenericLowering mostly uses builtins instead of code stubs now (Closed)
Patch Set: fixed another bug: switched arguments in Interpreter::DoTestIn Created 4 years, 2 months 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
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/codegen.h" 7 #include "src/codegen.h"
8 #include "src/debug/debug.h" 8 #include "src/debug/debug.h"
9 #include "src/deoptimizer.h" 9 #include "src/deoptimizer.h"
10 #include "src/full-codegen/full-codegen.h" 10 #include "src/full-codegen/full-codegen.h"
(...skipping 2487 matching lines...) Expand 10 before | Expand all | Expand 10 after
2498 __ bind(&convert_to_object); 2498 __ bind(&convert_to_object);
2499 { 2499 {
2500 // Convert receiver using ToObject. 2500 // Convert receiver using ToObject.
2501 // TODO(bmeurer): Inline the allocation here to avoid building the frame 2501 // TODO(bmeurer): Inline the allocation here to avoid building the frame
2502 // in the fast case? (fall back to AllocateInNewSpace?) 2502 // in the fast case? (fall back to AllocateInNewSpace?)
2503 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL); 2503 FrameAndConstantPoolScope scope(masm, StackFrame::INTERNAL);
2504 __ SmiTag(r3); 2504 __ SmiTag(r3);
2505 __ Push(r3, r4); 2505 __ Push(r3, r4);
2506 __ mr(r3, r6); 2506 __ mr(r3, r6);
2507 __ Push(cp); 2507 __ Push(cp);
2508 ToObjectStub stub(masm->isolate()); 2508 __ Call(masm->isolate()->builtins()->ToObject(),
2509 __ CallStub(&stub); 2509 RelocInfo::CODE_TARGET);
2510 __ Pop(cp); 2510 __ Pop(cp);
2511 __ mr(r6, r3); 2511 __ mr(r6, r3);
2512 __ Pop(r3, r4); 2512 __ Pop(r3, r4);
2513 __ SmiUntag(r3); 2513 __ SmiUntag(r3);
2514 } 2514 }
2515 __ LoadP(r5, FieldMemOperand(r4, JSFunction::kSharedFunctionInfoOffset)); 2515 __ LoadP(r5, FieldMemOperand(r4, JSFunction::kSharedFunctionInfoOffset));
2516 __ bind(&convert_receiver); 2516 __ bind(&convert_receiver);
2517 } 2517 }
2518 __ ShiftLeftImm(r7, r3, Operand(kPointerSizeLog2)); 2518 __ ShiftLeftImm(r7, r3, Operand(kPointerSizeLog2));
2519 __ StorePX(r6, MemOperand(sp, r7)); 2519 __ StorePX(r6, MemOperand(sp, r7));
(...skipping 490 matching lines...) Expand 10 before | Expand all | Expand 10 after
3010 __ CallRuntime(Runtime::kThrowStackOverflow); 3010 __ CallRuntime(Runtime::kThrowStackOverflow);
3011 __ bkpt(0); 3011 __ bkpt(0);
3012 } 3012 }
3013 } 3013 }
3014 3014
3015 #undef __ 3015 #undef __
3016 } // namespace internal 3016 } // namespace internal
3017 } // namespace v8 3017 } // namespace v8
3018 3018
3019 #endif // V8_TARGET_ARCH_PPC 3019 #endif // V8_TARGET_ARCH_PPC
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698