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

Side by Side Diff: src/x64/macro-assembler-x64.h

Issue 4695003: Removing redundant stubs for API functions. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 10 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
OLDNEW
1 // Copyright 2009 the V8 project authors. All rights reserved. 1 // Copyright 2009 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 795 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 void CallExternalReference(const ExternalReference& ext, 806 void CallExternalReference(const ExternalReference& ext,
807 int num_arguments); 807 int num_arguments);
808 808
809 // Tail call of a runtime routine (jump). 809 // Tail call of a runtime routine (jump).
810 // Like JumpToExternalReference, but also takes care of passing the number 810 // Like JumpToExternalReference, but also takes care of passing the number
811 // of parameters. 811 // of parameters.
812 void TailCallExternalReference(const ExternalReference& ext, 812 void TailCallExternalReference(const ExternalReference& ext,
813 int num_arguments, 813 int num_arguments,
814 int result_size); 814 int result_size);
815 815
816 MUST_USE_RESULT MaybeObject* TryTailCallExternalReference(
817 const ExternalReference& ext, int num_arguments, int result_size);
818
816 // Convenience function: tail call a runtime routine (jump). 819 // Convenience function: tail call a runtime routine (jump).
817 void TailCallRuntime(Runtime::FunctionId fid, 820 void TailCallRuntime(Runtime::FunctionId fid,
818 int num_arguments, 821 int num_arguments,
819 int result_size); 822 int result_size);
820 823
824 MUST_USE_RESULT MaybeObject* TryTailCallRuntime(Runtime::FunctionId fid,
825 int num_arguments,
826 int result_size);
827
821 // Jump to a runtime routine. 828 // Jump to a runtime routine.
822 void JumpToExternalReference(const ExternalReference& ext, int result_size); 829 void JumpToExternalReference(const ExternalReference& ext, int result_size);
823 830
831 // Jump to a runtime routine.
832 MaybeObject* TryJumpToExternalReference(const ExternalReference& ext,
833 int result_size);
834
824 // Prepares stack to put arguments (aligns and so on). 835 // Prepares stack to put arguments (aligns and so on).
825 // Uses calle-saved esi to restore stack state after call. 836 // Uses calle-saved esi to restore stack state after call.
826 void PrepareCallApiFunction(int stack_space); 837 void PrepareCallApiFunction(int stack_space);
827 838
828 // Tail call an API function (jump). Allocates HandleScope, extracts 839 // Tail call an API function (jump). Allocates HandleScope, extracts
829 // returned value from handle and propogates exceptions. 840 // returned value from handle and propogates exceptions.
830 // Clobbers ebx, edi and caller-save registers. 841 // Clobbers ebx, edi and caller-save registers.
831 void CallApiFunctionAndReturn(ApiFunction* function); 842 MUST_USE_RESULT MaybeObject* TryCallApiFunctionAndReturn(
843 ApiFunction* function);
832 844
833 // Before calling a C-function from generated code, align arguments on stack. 845 // Before calling a C-function from generated code, align arguments on stack.
834 // After aligning the frame, arguments must be stored in esp[0], esp[4], 846 // After aligning the frame, arguments must be stored in esp[0], esp[4],
835 // etc., not pushed. The argument count assumes all arguments are word sized. 847 // etc., not pushed. The argument count assumes all arguments are word sized.
836 // The number of slots reserved for arguments depends on platform. On Windows 848 // The number of slots reserved for arguments depends on platform. On Windows
837 // stack slots are reserved for the arguments passed in registers. On other 849 // stack slots are reserved for the arguments passed in registers. On other
838 // platforms stack slots are only reserved for the arguments actually passed 850 // platforms stack slots are only reserved for the arguments actually passed
839 // on the stack. 851 // on the stack.
840 void PrepareCallCFunction(int num_arguments); 852 void PrepareCallCFunction(int num_arguments);
841 853
(...skipping 849 matching lines...) Expand 10 before | Expand all | Expand 10 after
1691 Jump(adaptor, RelocInfo::CODE_TARGET); 1703 Jump(adaptor, RelocInfo::CODE_TARGET);
1692 } 1704 }
1693 bind(&invoke); 1705 bind(&invoke);
1694 } 1706 }
1695 } 1707 }
1696 1708
1697 1709
1698 } } // namespace v8::internal 1710 } } // namespace v8::internal
1699 1711
1700 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ 1712 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698