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_X87_MACRO_ASSEMBLER_X87_H_ | 5 #ifndef V8_X87_MACRO_ASSEMBLER_X87_H_ |
6 #define V8_X87_MACRO_ASSEMBLER_X87_H_ | 6 #define V8_X87_MACRO_ASSEMBLER_X87_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 | 371 |
372 // Check if the map of an object is equal to a specified map and branch to | 372 // Check if the map of an object is equal to a specified map and branch to |
373 // label if not. Skip the smi check if not required (object is known to be a | 373 // label if not. Skip the smi check if not required (object is known to be a |
374 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match | 374 // heap object). If mode is ALLOW_ELEMENT_TRANSITION_MAPS, then also match |
375 // against maps that are ElementsKind transition maps of the specified map. | 375 // against maps that are ElementsKind transition maps of the specified map. |
376 void CheckMap(Register obj, | 376 void CheckMap(Register obj, |
377 Handle<Map> map, | 377 Handle<Map> map, |
378 Label* fail, | 378 Label* fail, |
379 SmiCheckType smi_check_type); | 379 SmiCheckType smi_check_type); |
380 | 380 |
381 // Check if the map of an object is equal to a specified map and branch to a | 381 // Check if the map of an object is equal to a specified weak map and branch |
382 // specified target if equal. Skip the smi check if not required (object is | 382 // to a specified target if equal. Skip the smi check if not required |
383 // known to be a heap object) | 383 // (object is known to be a heap object) |
384 void DispatchMap(Register obj, | 384 void DispatchWeakMap(Register obj, Register scratch1, Register scratch2, |
385 Register unused, | 385 Handle<WeakCell> cell, Handle<Code> success, |
386 Handle<Map> map, | 386 SmiCheckType smi_check_type); |
387 Handle<Code> success, | |
388 SmiCheckType smi_check_type); | |
389 | 387 |
390 // Check if the object in register heap_object is a string. Afterwards the | 388 // Check if the object in register heap_object is a string. Afterwards the |
391 // register map contains the object map and the register instance_type | 389 // register map contains the object map and the register instance_type |
392 // contains the instance_type. The registers map and instance_type can be the | 390 // contains the instance_type. The registers map and instance_type can be the |
393 // same in which case it contains the instance type afterwards. Either of the | 391 // same in which case it contains the instance type afterwards. Either of the |
394 // registers map and instance_type can be the same as heap_object. | 392 // registers map and instance_type can be the same as heap_object. |
395 Condition IsObjectStringType(Register heap_object, | 393 Condition IsObjectStringType(Register heap_object, |
396 Register map, | 394 Register map, |
397 Register instance_type); | 395 Register instance_type); |
398 | 396 |
(...skipping 676 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1075 } \ | 1073 } \ |
1076 masm-> | 1074 masm-> |
1077 #else | 1075 #else |
1078 #define ACCESS_MASM(masm) masm-> | 1076 #define ACCESS_MASM(masm) masm-> |
1079 #endif | 1077 #endif |
1080 | 1078 |
1081 | 1079 |
1082 } } // namespace v8::internal | 1080 } } // namespace v8::internal |
1083 | 1081 |
1084 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ | 1082 #endif // V8_X87_MACRO_ASSEMBLER_X87_H_ |
OLD | NEW |