OLD | NEW |
1 // Copyright 2010 the V8 project authors. All rights reserved. | 1 // Copyright 2010 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 765 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
776 // rcx : function name | 776 // rcx : function name |
777 // rsp[0] : return address | 777 // rsp[0] : return address |
778 // rsp[8] : argument argc | 778 // rsp[8] : argument argc |
779 // rsp[16] : argument argc - 1 | 779 // rsp[16] : argument argc - 1 |
780 // ... | 780 // ... |
781 // rsp[argc * 8] : argument 1 | 781 // rsp[argc * 8] : argument 1 |
782 // rsp[(argc + 1) * 8] : argument 0 = receiver | 782 // rsp[(argc + 1) * 8] : argument 0 = receiver |
783 // ----------------------------------- | 783 // ----------------------------------- |
784 | 784 |
785 SharedFunctionInfo* function_info = function->shared(); | 785 SharedFunctionInfo* function_info = function->shared(); |
786 if (false && function_info->HasCustomCallGenerator()) { | 786 if (function_info->HasCustomCallGenerator()) { |
787 CustomCallGenerator generator = | 787 CustomCallGenerator generator = |
788 ToCData<CustomCallGenerator>(function_info->function_data()); | 788 ToCData<CustomCallGenerator>(function_info->function_data()); |
789 return generator(this, object, holder, function, name, check); | 789 return generator(this, object, holder, function, name, check); |
790 } | 790 } |
791 | 791 |
792 Label miss; | 792 Label miss; |
793 | 793 |
794 // Get the receiver from the stack. | 794 // Get the receiver from the stack. |
795 const int argc = arguments().immediate(); | 795 const int argc = arguments().immediate(); |
796 __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); | 796 __ movq(rdx, Operand(rsp, (argc + 1) * kPointerSize)); |
(...skipping 1163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1960 __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); | 1960 __ Jump(generic_construct_stub, RelocInfo::CODE_TARGET); |
1961 | 1961 |
1962 // Return the generated code. | 1962 // Return the generated code. |
1963 return GetCode(); | 1963 return GetCode(); |
1964 } | 1964 } |
1965 | 1965 |
1966 | 1966 |
1967 #undef __ | 1967 #undef __ |
1968 | 1968 |
1969 } } // namespace v8::internal | 1969 } } // namespace v8::internal |
OLD | NEW |