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_IA32_MACRO_ASSEMBLER_IA32_H_ | 5 #ifndef V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
6 #define V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 6 #define V8_IA32_MACRO_ASSEMBLER_IA32_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 393 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
404 | 404 |
405 // Check if the map of an object is equal to a specified map and branch to | 405 // Check if the map of an object is equal to a specified map and branch to |
406 // label if not. Skip the smi check if not required (object is known to be a | 406 // label if not. Skip the smi check if not required (object is known to be a |
407 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match | 407 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match |
408 // against maps that are ElementsKind transition maps of the specified map. | 408 // against maps that are ElementsKind transition maps of the specified map. |
409 void CheckMap(Register obj, | 409 void CheckMap(Register obj, |
410 Handle<Map> map, | 410 Handle<Map> map, |
411 Label* fail, | 411 Label* fail, |
412 SmiCheckType smi_check_type); | 412 SmiCheckType smi_check_type); |
413 | 413 |
414 // Check if the map of an object is equal to a specified map and branch to a | 414 // Check if the map of an object is equal to a specified weak map and branch |
415 // specified target if equal. Skip the smi check if not required (object is | 415 // to a specified target if equal. Skip the smi check if not required |
416 // known to be a heap object) | 416 // (object is known to be a heap object) |
417 void DispatchMap(Register obj, | 417 void DispatchWeakMap(Register obj, Register scratch1, Register scratch2, |
418 Register unused, | 418 Handle<WeakCell> cell, Handle<Code> success, |
419 Handle<Map> map, | 419 SmiCheckType smi_check_type); |
420 Handle<Code> success, | |
421 SmiCheckType smi_check_type); | |
422 | 420 |
423 // Check if the object in register heap_object is a string. Afterwards the | 421 // Check if the object in register heap_object is a string. Afterwards the |
424 // register map contains the object map and the register instance_type | 422 // register map contains the object map and the register instance_type |
425 // contains the instance_type. The registers map and instance_type can be the | 423 // contains the instance_type. The registers map and instance_type can be the |
426 // same in which case it contains the instance type afterwards. Either of the | 424 // same in which case it contains the instance type afterwards. Either of the |
427 // registers map and instance_type can be the same as heap_object. | 425 // registers map and instance_type can be the same as heap_object. |
428 Condition IsObjectStringType(Register heap_object, | 426 Condition IsObjectStringType(Register heap_object, |
429 Register map, | 427 Register map, |
430 Register instance_type); | 428 Register instance_type); |
431 | 429 |
(...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1113 } \ | 1111 } \ |
1114 masm-> | 1112 masm-> |
1115 #else | 1113 #else |
1116 #define ACCESS_MASM(masm) masm-> | 1114 #define ACCESS_MASM(masm) masm-> |
1117 #endif | 1115 #endif |
1118 | 1116 |
1119 | 1117 |
1120 } } // namespace v8::internal | 1118 } } // namespace v8::internal |
1121 | 1119 |
1122 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ | 1120 #endif // V8_IA32_MACRO_ASSEMBLER_IA32_H_ |
OLD | NEW |