OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 3891 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3902 | 3902 |
3903 // r4: number of arguments (C callee-saved) | 3903 // r4: number of arguments (C callee-saved) |
3904 // r5: pointer to builtin function (C callee-saved) | 3904 // r5: pointer to builtin function (C callee-saved) |
3905 // r6: pointer to first argument (C callee-saved) | 3905 // r6: pointer to first argument (C callee-saved) |
3906 | 3906 |
3907 Label throw_out_of_memory_exception; | 3907 Label throw_out_of_memory_exception; |
3908 Label throw_normal_exception; | 3908 Label throw_normal_exception; |
3909 | 3909 |
3910 #ifdef DEBUG | 3910 #ifdef DEBUG |
3911 if (FLAG_gc_greedy) { | 3911 if (FLAG_gc_greedy) { |
3912 Failure* failure = Failure::RetryAfterGC(0, NEW_SPACE); | 3912 Failure* failure = Failure::RetryAfterGC(0); |
3913 __ mov(r0, Operand(reinterpret_cast<intptr_t>(failure))); | 3913 __ mov(r0, Operand(reinterpret_cast<intptr_t>(failure))); |
3914 } | 3914 } |
3915 GenerateCore(masm, | 3915 GenerateCore(masm, |
3916 &throw_normal_exception, | 3916 &throw_normal_exception, |
3917 &throw_out_of_memory_exception, | 3917 &throw_out_of_memory_exception, |
3918 frame_type, | 3918 frame_type, |
3919 FLAG_gc_greedy); | 3919 FLAG_gc_greedy); |
3920 #else | 3920 #else |
3921 GenerateCore(masm, | 3921 GenerateCore(masm, |
3922 &throw_normal_exception, | 3922 &throw_normal_exception, |
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4172 // Slow-case: Non-function called. | 4172 // Slow-case: Non-function called. |
4173 __ bind(&slow); | 4173 __ bind(&slow); |
4174 __ mov(r0, Operand(argc_)); // Setup the number of arguments. | 4174 __ mov(r0, Operand(argc_)); // Setup the number of arguments. |
4175 __ InvokeBuiltin(Builtins::CALL_NON_FUNCTION, JUMP_JS); | 4175 __ InvokeBuiltin(Builtins::CALL_NON_FUNCTION, JUMP_JS); |
4176 } | 4176 } |
4177 | 4177 |
4178 | 4178 |
4179 #undef __ | 4179 #undef __ |
4180 | 4180 |
4181 } } // namespace v8::internal | 4181 } } // namespace v8::internal |
OLD | NEW |