OLD | NEW |
1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 3302 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3313 | 3313 |
3314 // Call the native; it returns -1 (less), 0 (equal), or 1 (greater) | 3314 // Call the native; it returns -1 (less), 0 (equal), or 1 (greater) |
3315 // tagged as a small integer. | 3315 // tagged as a small integer. |
3316 __ InvokeBuiltin(builtin, JUMP_FUNCTION); | 3316 __ InvokeBuiltin(builtin, JUMP_FUNCTION); |
3317 | 3317 |
3318 __ bind(&miss); | 3318 __ bind(&miss); |
3319 GenerateMiss(masm); | 3319 GenerateMiss(masm); |
3320 } | 3320 } |
3321 | 3321 |
3322 | 3322 |
3323 void StackCheckStub::Generate(MacroAssembler* masm) { | |
3324 __ TailCallRuntime(Runtime::kStackGuard, 0, 1); | |
3325 } | |
3326 | |
3327 | |
3328 void InterruptStub::Generate(MacroAssembler* masm) { | |
3329 __ TailCallRuntime(Runtime::kInterrupt, 0, 1); | |
3330 } | |
3331 | |
3332 | |
3333 static void GenerateRecordCallTarget(MacroAssembler* masm) { | 3323 static void GenerateRecordCallTarget(MacroAssembler* masm) { |
3334 // Cache the called function in a global property cell. Cache states | 3324 // Cache the called function in a global property cell. Cache states |
3335 // are uninitialized, monomorphic (indicated by a JSFunction), and | 3325 // are uninitialized, monomorphic (indicated by a JSFunction), and |
3336 // megamorphic. | 3326 // megamorphic. |
3337 // rbx : cache cell for call target | 3327 // rbx : cache cell for call target |
3338 // rdi : the function to call | 3328 // rdi : the function to call |
3339 Isolate* isolate = masm->isolate(); | 3329 Isolate* isolate = masm->isolate(); |
3340 Label initialize, done, miss, megamorphic, not_array_function; | 3330 Label initialize, done, miss, megamorphic, not_array_function; |
3341 | 3331 |
3342 // Load the cache state into rcx. | 3332 // Load the cache state into rcx. |
(...skipping 3290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6633 __ bind(&fast_elements_case); | 6623 __ bind(&fast_elements_case); |
6634 GenerateCase(masm, FAST_ELEMENTS); | 6624 GenerateCase(masm, FAST_ELEMENTS); |
6635 } | 6625 } |
6636 | 6626 |
6637 | 6627 |
6638 #undef __ | 6628 #undef __ |
6639 | 6629 |
6640 } } // namespace v8::internal | 6630 } } // namespace v8::internal |
6641 | 6631 |
6642 #endif // V8_TARGET_ARCH_X64 | 6632 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |