| 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 974 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 985 | 985 |
| 986 // Check if the map of an object is equal to a specified map and branch to | 986 // Check if the map of an object is equal to a specified map and branch to |
| 987 // label if not. Skip the smi check if not required (object is known to be a | 987 // label if not. Skip the smi check if not required (object is known to be a |
| 988 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match | 988 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match |
| 989 // against maps that are ElementsKind transition maps of the specified map. | 989 // against maps that are ElementsKind transition maps of the specified map. |
| 990 void CheckMap(Register obj, | 990 void CheckMap(Register obj, |
| 991 Handle<Map> map, | 991 Handle<Map> map, |
| 992 Label* fail, | 992 Label* fail, |
| 993 SmiCheckType smi_check_type); | 993 SmiCheckType smi_check_type); |
| 994 | 994 |
| 995 // Check if the map of an object is equal to a specified map and branch to a | 995 // Check if the map of an object is equal to a specified weak map and branch |
| 996 // specified target if equal. Skip the smi check if not required (object is | 996 // to a specified target if equal. Skip the smi check if not required |
| 997 // known to be a heap object) | 997 // (object is known to be a heap object) |
| 998 void DispatchMap(Register obj, | 998 void DispatchWeakMap(Register obj, Register scratch1, Register scratch2, |
| 999 Register unused, | 999 Handle<WeakCell> cell, Handle<Code> success, |
| 1000 Handle<Map> map, | 1000 SmiCheckType smi_check_type); |
| 1001 Handle<Code> success, | |
| 1002 SmiCheckType smi_check_type); | |
| 1003 | 1001 |
| 1004 // Check if the object in register heap_object is a string. Afterwards the | 1002 // Check if the object in register heap_object is a string. Afterwards the |
| 1005 // register map contains the object map and the register instance_type | 1003 // register map contains the object map and the register instance_type |
| 1006 // contains the instance_type. The registers map and instance_type can be the | 1004 // contains the instance_type. The registers map and instance_type can be the |
| 1007 // same in which case it contains the instance type afterwards. Either of the | 1005 // same in which case it contains the instance type afterwards. Either of the |
| 1008 // registers map and instance_type can be the same as heap_object. | 1006 // registers map and instance_type can be the same as heap_object. |
| 1009 Condition IsObjectStringType(Register heap_object, | 1007 Condition IsObjectStringType(Register heap_object, |
| 1010 Register map, | 1008 Register map, |
| 1011 Register instance_type); | 1009 Register instance_type); |
| 1012 | 1010 |
| (...skipping 635 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1648 masm->popfq(); \ | 1646 masm->popfq(); \ |
| 1649 } \ | 1647 } \ |
| 1650 masm-> | 1648 masm-> |
| 1651 #else | 1649 #else |
| 1652 #define ACCESS_MASM(masm) masm-> | 1650 #define ACCESS_MASM(masm) masm-> |
| 1653 #endif | 1651 #endif |
| 1654 | 1652 |
| 1655 } } // namespace v8::internal | 1653 } } // namespace v8::internal |
| 1656 | 1654 |
| 1657 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 1655 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
| OLD | NEW |