OLD | NEW |
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 2180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2191 // Tag the result. | 2191 // Tag the result. |
2192 __ mov(r0, Operand(r0, LSL, kSmiTagSize)); | 2192 __ mov(r0, Operand(r0, LSL, kSmiTagSize)); |
2193 | 2193 |
2194 __ bind(&just_return); | 2194 __ bind(&just_return); |
2195 __ Drop(argc + 1); | 2195 __ Drop(argc + 1); |
2196 __ Ret(); | 2196 __ Ret(); |
2197 | 2197 |
2198 __ bind(&slow); | 2198 __ bind(&slow); |
2199 // Tail call the full function. We do not have to patch the receiver | 2199 // Tail call the full function. We do not have to patch the receiver |
2200 // because the function makes no use of it. | 2200 // because the function makes no use of it. |
2201 ParameterCount expected(fun); | 2201 ParameterCount expected(function); |
2202 __ InvokeFunction(function, expected, arguments(), | 2202 __ InvokeFunction(function, expected, arguments(), |
2203 JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD); | 2203 JUMP_FUNCTION, NullCallWrapper(), CALL_AS_METHOD); |
2204 | 2204 |
2205 __ bind(&miss); | 2205 __ bind(&miss); |
2206 // r2: function name. | 2206 // r2: function name. |
2207 GenerateMissBranch(); | 2207 GenerateMissBranch(); |
2208 | 2208 |
2209 // Return the generated code. | 2209 // Return the generated code. |
2210 return cell.is_null() ? GetCode(function) : GetCode(Code::NORMAL, name); | 2210 return cell.is_null() ? GetCode(function) : GetCode(Code::NORMAL, name); |
2211 } | 2211 } |
(...skipping 1455 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3667 TailCallBuiltin(masm, Builtins::kKeyedStoreIC_Slow); | 3667 TailCallBuiltin(masm, Builtins::kKeyedStoreIC_Slow); |
3668 } | 3668 } |
3669 } | 3669 } |
3670 | 3670 |
3671 | 3671 |
3672 #undef __ | 3672 #undef __ |
3673 | 3673 |
3674 } } // namespace v8::internal | 3674 } } // namespace v8::internal |
3675 | 3675 |
3676 #endif // V8_TARGET_ARCH_ARM | 3676 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |