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

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

Issue 74753006: Fix number of parameters passed into PrepareCallCFunction in code age stubs (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 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 | Annotate | Revision Log
« no previous file with comments | « src/arm/builtins-arm.cc ('k') | src/x64/builtins-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 810 matching lines...) Expand 10 before | Expand all | Expand 10 after
821 __ mov(ra, at); 821 __ mov(ra, at);
822 822
823 // The following registers must be saved and restored when calling through to 823 // The following registers must be saved and restored when calling through to
824 // the runtime: 824 // the runtime:
825 // a0 - contains return address (beginning of patch sequence) 825 // a0 - contains return address (beginning of patch sequence)
826 // a1 - isolate 826 // a1 - isolate
827 RegList saved_regs = 827 RegList saved_regs =
828 (a0.bit() | a1.bit() | ra.bit() | fp.bit()) & ~sp.bit(); 828 (a0.bit() | a1.bit() | ra.bit() | fp.bit()) & ~sp.bit();
829 FrameScope scope(masm, StackFrame::MANUAL); 829 FrameScope scope(masm, StackFrame::MANUAL);
830 __ MultiPush(saved_regs); 830 __ MultiPush(saved_regs);
831 __ PrepareCallCFunction(1, 0, a2); 831 __ PrepareCallCFunction(2, 0, a2);
832 __ li(a1, Operand(ExternalReference::isolate_address(masm->isolate()))); 832 __ li(a1, Operand(ExternalReference::isolate_address(masm->isolate())));
833 __ CallCFunction( 833 __ CallCFunction(
834 ExternalReference::get_make_code_young_function(masm->isolate()), 2); 834 ExternalReference::get_make_code_young_function(masm->isolate()), 2);
835 __ MultiPop(saved_regs); 835 __ MultiPop(saved_regs);
836 __ Jump(a0); 836 __ Jump(a0);
837 } 837 }
838 838
839 #define DEFINE_CODE_AGE_BUILTIN_GENERATOR(C) \ 839 #define DEFINE_CODE_AGE_BUILTIN_GENERATOR(C) \
840 void Builtins::Generate_Make##C##CodeYoungAgainEvenMarking( \ 840 void Builtins::Generate_Make##C##CodeYoungAgainEvenMarking( \
841 MacroAssembler* masm) { \ 841 MacroAssembler* masm) { \
(...skipping 21 matching lines...) Expand all
863 __ mov(ra, at); 863 __ mov(ra, at);
864 864
865 // The following registers must be saved and restored when calling through to 865 // The following registers must be saved and restored when calling through to
866 // the runtime: 866 // the runtime:
867 // a0 - contains return address (beginning of patch sequence) 867 // a0 - contains return address (beginning of patch sequence)
868 // a1 - isolate 868 // a1 - isolate
869 RegList saved_regs = 869 RegList saved_regs =
870 (a0.bit() | a1.bit() | ra.bit() | fp.bit()) & ~sp.bit(); 870 (a0.bit() | a1.bit() | ra.bit() | fp.bit()) & ~sp.bit();
871 FrameScope scope(masm, StackFrame::MANUAL); 871 FrameScope scope(masm, StackFrame::MANUAL);
872 __ MultiPush(saved_regs); 872 __ MultiPush(saved_regs);
873 __ PrepareCallCFunction(1, 0, a2); 873 __ PrepareCallCFunction(2, 0, a2);
874 __ li(a1, Operand(ExternalReference::isolate_address(masm->isolate()))); 874 __ li(a1, Operand(ExternalReference::isolate_address(masm->isolate())));
875 __ CallCFunction( 875 __ CallCFunction(
876 ExternalReference::get_mark_code_as_executed_function(masm->isolate()), 876 ExternalReference::get_mark_code_as_executed_function(masm->isolate()),
877 2); 877 2);
878 __ MultiPop(saved_regs); 878 __ MultiPop(saved_regs);
879 879
880 // Perform prologue operations usually performed by the young code stub. 880 // Perform prologue operations usually performed by the young code stub.
881 __ Push(ra, fp, cp, a1); 881 __ Push(ra, fp, cp, a1);
882 __ Addu(fp, sp, Operand(2 * kPointerSize)); 882 __ Addu(fp, sp, Operand(2 * kPointerSize));
883 883
(...skipping 623 matching lines...) Expand 10 before | Expand all | Expand 10 after
1507 __ bind(&dont_adapt_arguments); 1507 __ bind(&dont_adapt_arguments);
1508 __ Jump(a3); 1508 __ Jump(a3);
1509 } 1509 }
1510 1510
1511 1511
1512 #undef __ 1512 #undef __
1513 1513
1514 } } // namespace v8::internal 1514 } } // namespace v8::internal
1515 1515
1516 #endif // V8_TARGET_ARCH_MIPS 1516 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/arm/builtins-arm.cc ('k') | src/x64/builtins-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698