OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ | 5 #ifndef V8_X64_MACRO_ASSEMBLER_X64_H_ |
6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ | 6 #define V8_X64_MACRO_ASSEMBLER_X64_H_ |
7 | 7 |
8 #include "src/assembler.h" | 8 #include "src/assembler.h" |
9 #include "src/bailout-reason.h" | 9 #include "src/bailout-reason.h" |
10 #include "src/frames.h" | 10 #include "src/frames.h" |
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
371 void InvokeBuiltin(Builtins::JavaScript id, | 371 void InvokeBuiltin(Builtins::JavaScript id, |
372 InvokeFlag flag, | 372 InvokeFlag flag, |
373 const CallWrapper& call_wrapper = NullCallWrapper()); | 373 const CallWrapper& call_wrapper = NullCallWrapper()); |
374 | 374 |
375 // Store the function for the given builtin in the target register. | 375 // Store the function for the given builtin in the target register. |
376 void GetBuiltinFunction(Register target, Builtins::JavaScript id); | 376 void GetBuiltinFunction(Register target, Builtins::JavaScript id); |
377 | 377 |
378 // Store the code object for the given builtin in the target register. | 378 // Store the code object for the given builtin in the target register. |
379 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 379 void GetBuiltinEntry(Register target, Builtins::JavaScript id); |
380 | 380 |
| 381 void BranchIfNotBuiltin(Register function, Register temp, |
| 382 BuiltinFunctionId id, Label* miss); |
381 | 383 |
382 // --------------------------------------------------------------------------- | 384 // --------------------------------------------------------------------------- |
383 // Smi tagging, untagging and operations on tagged smis. | 385 // Smi tagging, untagging and operations on tagged smis. |
384 | 386 |
385 // Support for constant splitting. | 387 // Support for constant splitting. |
386 bool IsUnsafeInt(const int32_t x); | 388 bool IsUnsafeInt(const int32_t x); |
387 void SafeMove(Register dst, Smi* src); | 389 void SafeMove(Register dst, Smi* src); |
388 void SafePush(Smi* src); | 390 void SafePush(Smi* src); |
389 | 391 |
390 // Conversions between tagged smi values and non-tagged integer values. | 392 // Conversions between tagged smi values and non-tagged integer values. |
(...skipping 1231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1622 masm->popfq(); \ | 1624 masm->popfq(); \ |
1623 } \ | 1625 } \ |
1624 masm-> | 1626 masm-> |
1625 #else | 1627 #else |
1626 #define ACCESS_MASM(masm) masm-> | 1628 #define ACCESS_MASM(masm) masm-> |
1627 #endif | 1629 #endif |
1628 | 1630 |
1629 } } // namespace v8::internal | 1631 } } // namespace v8::internal |
1630 | 1632 |
1631 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1633 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |