| OLD | NEW |
| 1 // Copyright 2013 the V8 project authors. All rights reserved. | 1 // Copyright 2013 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 #include "src/v8.h" | 5 #include "src/v8.h" |
| 6 | 6 |
| 7 #if V8_TARGET_ARCH_ARM64 | 7 #if V8_TARGET_ARCH_ARM64 |
| 8 | 8 |
| 9 #include "src/codegen.h" | 9 #include "src/codegen.h" |
| 10 #include "src/debug/debug.h" | 10 #include "src/debug/debug.h" |
| (...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 Register unused_props = x10; | 429 Register unused_props = x10; |
| 430 Register inobject_props = x11; | 430 Register inobject_props = x11; |
| 431 Register inst_sizes_or_attrs = x11; | 431 Register inst_sizes_or_attrs = x11; |
| 432 Register prealloc_fields = x10; | 432 Register prealloc_fields = x10; |
| 433 __ Ldr(inst_sizes_or_attrs, | 433 __ Ldr(inst_sizes_or_attrs, |
| 434 FieldMemOperand(init_map, Map::kInstanceAttributesOffset)); | 434 FieldMemOperand(init_map, Map::kInstanceAttributesOffset)); |
| 435 __ Ubfx(unused_props, inst_sizes_or_attrs, | 435 __ Ubfx(unused_props, inst_sizes_or_attrs, |
| 436 Map::kUnusedPropertyFieldsByte * kBitsPerByte, kBitsPerByte); | 436 Map::kUnusedPropertyFieldsByte * kBitsPerByte, kBitsPerByte); |
| 437 __ Ldr(inst_sizes_or_attrs, | 437 __ Ldr(inst_sizes_or_attrs, |
| 438 FieldMemOperand(init_map, Map::kInstanceSizesOffset)); | 438 FieldMemOperand(init_map, Map::kInstanceSizesOffset)); |
| 439 __ Ubfx(inobject_props, inst_sizes_or_attrs, | 439 __ Ubfx( |
| 440 Map::kInObjectPropertiesByte * kBitsPerByte, kBitsPerByte); | 440 inobject_props, inst_sizes_or_attrs, |
| 441 Map::kInObjectPropertiesOrConstructorFunctionIndexByte * kBitsPerByte, |
| 442 kBitsPerByte); |
| 441 __ Sub(prealloc_fields, inobject_props, unused_props); | 443 __ Sub(prealloc_fields, inobject_props, unused_props); |
| 442 | 444 |
| 443 // Calculate number of property fields in the object. | 445 // Calculate number of property fields in the object. |
| 444 Register prop_fields = x6; | 446 Register prop_fields = x6; |
| 445 __ Sub(prop_fields, obj_size, JSObject::kHeaderSize / kPointerSize); | 447 __ Sub(prop_fields, obj_size, JSObject::kHeaderSize / kPointerSize); |
| 446 | 448 |
| 447 if (!is_api_function) { | 449 if (!is_api_function) { |
| 448 Label no_inobject_slack_tracking; | 450 Label no_inobject_slack_tracking; |
| 449 | 451 |
| 450 // Check if slack tracking is enabled. | 452 // Check if slack tracking is enabled. |
| (...skipping 1476 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1927 } | 1929 } |
| 1928 } | 1930 } |
| 1929 | 1931 |
| 1930 | 1932 |
| 1931 #undef __ | 1933 #undef __ |
| 1932 | 1934 |
| 1933 } // namespace internal | 1935 } // namespace internal |
| 1934 } // namespace v8 | 1936 } // namespace v8 |
| 1935 | 1937 |
| 1936 #endif // V8_TARGET_ARCH_ARM | 1938 #endif // V8_TARGET_ARCH_ARM |
| OLD | NEW |