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 4211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4222 | 4222 |
4223 // Call the native; it returns -1 (less), 0 (equal), or 1 (greater) | 4223 // Call the native; it returns -1 (less), 0 (equal), or 1 (greater) |
4224 // tagged as a small integer. | 4224 // tagged as a small integer. |
4225 __ InvokeBuiltin(builtin, JUMP_FUNCTION); | 4225 __ InvokeBuiltin(builtin, JUMP_FUNCTION); |
4226 | 4226 |
4227 __ bind(&miss); | 4227 __ bind(&miss); |
4228 GenerateMiss(masm); | 4228 GenerateMiss(masm); |
4229 } | 4229 } |
4230 | 4230 |
4231 | 4231 |
4232 void StackCheckStub::Generate(MacroAssembler* masm) { | |
4233 __ TailCallRuntime(Runtime::kStackGuard, 0, 1); | |
4234 } | |
4235 | |
4236 | |
4237 void InterruptStub::Generate(MacroAssembler* masm) { | |
4238 __ TailCallRuntime(Runtime::kInterrupt, 0, 1); | |
4239 } | |
4240 | |
4241 | |
4242 static void GenerateRecordCallTarget(MacroAssembler* masm) { | 4232 static void GenerateRecordCallTarget(MacroAssembler* masm) { |
4243 // Cache the called function in a global property cell. Cache states | 4233 // Cache the called function in a global property cell. Cache states |
4244 // are uninitialized, monomorphic (indicated by a JSFunction), and | 4234 // are uninitialized, monomorphic (indicated by a JSFunction), and |
4245 // megamorphic. | 4235 // megamorphic. |
4246 // ebx : cache cell for call target | 4236 // ebx : cache cell for call target |
4247 // edi : the function to call | 4237 // edi : the function to call |
4248 Isolate* isolate = masm->isolate(); | 4238 Isolate* isolate = masm->isolate(); |
4249 Label initialize, done, miss, megamorphic, not_array_function; | 4239 Label initialize, done, miss, megamorphic, not_array_function; |
4250 | 4240 |
4251 // Load the cache state into ecx. | 4241 // Load the cache state into ecx. |
(...skipping 3316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7568 __ bind(&fast_elements_case); | 7558 __ bind(&fast_elements_case); |
7569 GenerateCase(masm, FAST_ELEMENTS); | 7559 GenerateCase(masm, FAST_ELEMENTS); |
7570 } | 7560 } |
7571 | 7561 |
7572 | 7562 |
7573 #undef __ | 7563 #undef __ |
7574 | 7564 |
7575 } } // namespace v8::internal | 7565 } } // namespace v8::internal |
7576 | 7566 |
7577 #endif // V8_TARGET_ARCH_IA32 | 7567 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |