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

Side by Side Diff: src/ic/mips/handler-compiler-mips.cc

Issue 562153002: MIPS: Added CallInterfaceDescriptors to all code stubs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | src/ic/mips64/handler-compiler-mips64.cc » ('j') | 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 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_MIPS 7 #if V8_TARGET_ARCH_MIPS
8 8
9 #include "src/ic/call-optimization.h" 9 #include "src/ic/call-optimization.h"
10 #include "src/ic/handler-compiler.h" 10 #include "src/ic/handler-compiler.h"
(...skipping 661 matching lines...) Expand 10 before | Expand all | Expand 10 after
672 __ sw(scratch3(), MemOperand(sp, 4 * kPointerSize)); 672 __ sw(scratch3(), MemOperand(sp, 4 * kPointerSize));
673 __ sw(scratch3(), MemOperand(sp, 3 * kPointerSize)); 673 __ sw(scratch3(), MemOperand(sp, 3 * kPointerSize));
674 __ li(scratch4(), Operand(ExternalReference::isolate_address(isolate()))); 674 __ li(scratch4(), Operand(ExternalReference::isolate_address(isolate())));
675 __ sw(scratch4(), MemOperand(sp, 2 * kPointerSize)); 675 __ sw(scratch4(), MemOperand(sp, 2 * kPointerSize));
676 __ sw(reg, MemOperand(sp, 1 * kPointerSize)); 676 __ sw(reg, MemOperand(sp, 1 * kPointerSize));
677 __ sw(name(), MemOperand(sp, 0 * kPointerSize)); 677 __ sw(name(), MemOperand(sp, 0 * kPointerSize));
678 __ Addu(scratch2(), sp, 1 * kPointerSize); 678 __ Addu(scratch2(), sp, 1 * kPointerSize);
679 679
680 __ mov(a2, scratch2()); // Saved in case scratch2 == a1. 680 __ mov(a2, scratch2()); // Saved in case scratch2 == a1.
681 // Abi for CallApiGetter. 681 // Abi for CallApiGetter.
682 Register getter_address_reg = a2; 682 Register getter_address_reg = ApiGetterDescriptor::function_address();
683 683
684 Address getter_address = v8::ToCData<Address>(callback->getter()); 684 Address getter_address = v8::ToCData<Address>(callback->getter());
685 ApiFunction fun(getter_address); 685 ApiFunction fun(getter_address);
686 ExternalReference::Type type = ExternalReference::DIRECT_GETTER_CALL; 686 ExternalReference::Type type = ExternalReference::DIRECT_GETTER_CALL;
687 ExternalReference ref = ExternalReference(&fun, type, isolate()); 687 ExternalReference ref = ExternalReference(&fun, type, isolate());
688 __ li(getter_address_reg, Operand(ref)); 688 __ li(getter_address_reg, Operand(ref));
689 689
690 CallApiGetterStub stub(isolate()); 690 CallApiGetterStub stub(isolate());
691 __ TailCallStub(&stub); 691 __ TailCallStub(&stub);
692 } 692 }
(...skipping 137 matching lines...) Expand 10 before | Expand all | Expand 10 after
830 // Return the generated code. 830 // Return the generated code.
831 return GetCode(kind(), Code::NORMAL, name); 831 return GetCode(kind(), Code::NORMAL, name);
832 } 832 }
833 833
834 834
835 #undef __ 835 #undef __
836 } 836 }
837 } // namespace v8::internal 837 } // namespace v8::internal
838 838
839 #endif // V8_TARGET_ARCH_MIPS 839 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « no previous file | src/ic/mips64/handler-compiler-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698