Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(39)

Side by Side Diff: src/arm64/builtins-arm64.cc

Issue 1276533003: [runtime] Store constructor function index on primitive maps. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix arm failures Created 5 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/arm/builtins-arm.cc ('k') | src/bootstrapper.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « src/arm/builtins-arm.cc ('k') | src/bootstrapper.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698