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

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

Issue 10878047: Revert to code state of 3.13.1 plus r12350 (Closed) Base URL: https://v8.googlecode.com/svn/trunk
Patch Set: Created 8 years, 4 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 | « src/version.cc ('k') | src/x64/code-stubs-x64.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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after
743 } 743 }
744 744
745 // Restore the function to rdi. 745 // Restore the function to rdi.
746 __ movq(rdi, Operand(rsp, rax, times_pointer_size, 1 * kPointerSize)); 746 __ movq(rdi, Operand(rsp, rax, times_pointer_size, 1 * kPointerSize));
747 __ jmp(&patch_receiver, Label::kNear); 747 __ jmp(&patch_receiver, Label::kNear);
748 748
749 // Use the global receiver object from the called function as the 749 // Use the global receiver object from the called function as the
750 // receiver. 750 // receiver.
751 __ bind(&use_global_receiver); 751 __ bind(&use_global_receiver);
752 const int kGlobalIndex = 752 const int kGlobalIndex =
753 Context::kHeaderSize + Context::GLOBAL_OBJECT_INDEX * kPointerSize; 753 Context::kHeaderSize + Context::GLOBAL_INDEX * kPointerSize;
754 __ movq(rbx, FieldOperand(rsi, kGlobalIndex)); 754 __ movq(rbx, FieldOperand(rsi, kGlobalIndex));
755 __ movq(rbx, FieldOperand(rbx, GlobalObject::kNativeContextOffset)); 755 __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalContextOffset));
756 __ movq(rbx, FieldOperand(rbx, kGlobalIndex)); 756 __ movq(rbx, FieldOperand(rbx, kGlobalIndex));
757 __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalReceiverOffset)); 757 __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalReceiverOffset));
758 758
759 __ bind(&patch_receiver); 759 __ bind(&patch_receiver);
760 __ movq(Operand(rsp, rax, times_pointer_size, 0), rbx); 760 __ movq(Operand(rsp, rax, times_pointer_size, 0), rbx);
761 761
762 __ jmp(&shift_arguments); 762 __ jmp(&shift_arguments);
763 } 763 }
764 764
765 // 3b. Check for function proxy. 765 // 3b. Check for function proxy.
(...skipping 162 matching lines...) Expand 10 before | Expand all | Expand 10 after
928 // Convert the receiver to an object. 928 // Convert the receiver to an object.
929 __ bind(&call_to_object); 929 __ bind(&call_to_object);
930 __ push(rbx); 930 __ push(rbx);
931 __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION); 931 __ InvokeBuiltin(Builtins::TO_OBJECT, CALL_FUNCTION);
932 __ movq(rbx, rax); 932 __ movq(rbx, rax);
933 __ jmp(&push_receiver, Label::kNear); 933 __ jmp(&push_receiver, Label::kNear);
934 934
935 // Use the current global receiver object as the receiver. 935 // Use the current global receiver object as the receiver.
936 __ bind(&use_global_receiver); 936 __ bind(&use_global_receiver);
937 const int kGlobalOffset = 937 const int kGlobalOffset =
938 Context::kHeaderSize + Context::GLOBAL_OBJECT_INDEX * kPointerSize; 938 Context::kHeaderSize + Context::GLOBAL_INDEX * kPointerSize;
939 __ movq(rbx, FieldOperand(rsi, kGlobalOffset)); 939 __ movq(rbx, FieldOperand(rsi, kGlobalOffset));
940 __ movq(rbx, FieldOperand(rbx, GlobalObject::kNativeContextOffset)); 940 __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalContextOffset));
941 __ movq(rbx, FieldOperand(rbx, kGlobalOffset)); 941 __ movq(rbx, FieldOperand(rbx, kGlobalOffset));
942 __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalReceiverOffset)); 942 __ movq(rbx, FieldOperand(rbx, GlobalObject::kGlobalReceiverOffset));
943 943
944 // Push the receiver. 944 // Push the receiver.
945 __ bind(&push_receiver); 945 __ bind(&push_receiver);
946 __ push(rbx); 946 __ push(rbx);
947 947
948 // Copy all arguments from the array to the stack. 948 // Copy all arguments from the array to the stack.
949 Label entry, loop; 949 Label entry, loop;
950 __ movq(rax, Operand(rbp, kIndexOffset)); 950 __ movq(rax, Operand(rbp, kIndexOffset));
(...skipping 825 matching lines...) Expand 10 before | Expand all | Expand 10 after
1776 Deoptimizer::EntryGenerator generator(masm, Deoptimizer::OSR); 1776 Deoptimizer::EntryGenerator generator(masm, Deoptimizer::OSR);
1777 generator.Generate(); 1777 generator.Generate();
1778 } 1778 }
1779 1779
1780 1780
1781 #undef __ 1781 #undef __
1782 1782
1783 } } // namespace v8::internal 1783 } } // namespace v8::internal
1784 1784
1785 #endif // V8_TARGET_ARCH_X64 1785 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/version.cc ('k') | src/x64/code-stubs-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698