OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
151 // Store the code object for the given builtin in the target register. | 151 // Store the code object for the given builtin in the target register. |
152 void GetBuiltinEntry(Register target, Builtins::JavaScript id); | 152 void GetBuiltinEntry(Register target, Builtins::JavaScript id); |
153 | 153 |
154 // --------------------------------------------------------------------------- | 154 // --------------------------------------------------------------------------- |
155 // Macro instructions | 155 // Macro instructions |
156 | 156 |
157 // Expression support | 157 // Expression support |
158 void Set(Register dst, int64_t x); | 158 void Set(Register dst, int64_t x); |
159 void Set(const Operand& dst, int64_t x); | 159 void Set(const Operand& dst, int64_t x); |
160 | 160 |
| 161 // Handle support |
| 162 bool IsUnsafeSmi(Smi* value); |
| 163 bool IsUnsafeSmi(Handle<Object> value) { |
| 164 return IsUnsafeSmi(Smi::cast(*value)); |
| 165 } |
| 166 |
| 167 void LoadUnsafeSmi(Register dst, Smi* source); |
| 168 void LoadUnsafeSmi(Register dst, Handle<Object> source) { |
| 169 LoadUnsafeSmi(dst, Smi::cast(*source)); |
| 170 } |
| 171 |
| 172 void Move(Register dst, Handle<Object> source); |
| 173 void Move(const Operand& dst, Handle<Object> source); |
| 174 void Cmp(Register dst, Handle<Object> source); |
| 175 |
161 // Control Flow | 176 // Control Flow |
162 void Jump(Address destination, RelocInfo::Mode rmode); | 177 void Jump(Address destination, RelocInfo::Mode rmode); |
163 void Jump(ExternalReference ext); | 178 void Jump(ExternalReference ext); |
164 void Jump(Handle<Code> code_object, RelocInfo::Mode rmode); | 179 void Jump(Handle<Code> code_object, RelocInfo::Mode rmode); |
165 | 180 |
166 void Call(Address destination, RelocInfo::Mode rmode); | 181 void Call(Address destination, RelocInfo::Mode rmode); |
167 void Call(ExternalReference ext); | 182 void Call(ExternalReference ext); |
168 void Call(Handle<Code> code_object, RelocInfo::Mode rmode); | 183 void Call(Handle<Code> code_object, RelocInfo::Mode rmode); |
169 | 184 |
170 // Compare object type for heap object. | 185 // Compare object type for heap object. |
(...skipping 218 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
389 } \ | 404 } \ |
390 masm-> | 405 masm-> |
391 #else | 406 #else |
392 #define ACCESS_MASM(masm) masm-> | 407 #define ACCESS_MASM(masm) masm-> |
393 #endif | 408 #endif |
394 | 409 |
395 | 410 |
396 } } // namespace v8::internal | 411 } } // namespace v8::internal |
397 | 412 |
398 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ | 413 #endif // V8_X64_MACRO_ASSEMBLER_X64_H_ |
OLD | NEW |