Commit 726eb9d5 authored by ishell's avatar ishell Committed by Commit bot

Enable inobject double fields unboxing for 64-bit archs.

Review URL: https://codereview.chromium.org/753503002

Cr-Commit-Position: refs/heads/master@{#25469}
parent 4d4ed236
...@@ -84,7 +84,7 @@ namespace internal { ...@@ -84,7 +84,7 @@ namespace internal {
// Determine whether double field unboxing feature is enabled. // Determine whether double field unboxing feature is enabled.
#if (V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM64) #if (V8_TARGET_ARCH_X64 || V8_TARGET_ARCH_ARM64)
#define V8_DOUBLE_FIELDS_UNBOXING 0 #define V8_DOUBLE_FIELDS_UNBOXING 1
#else #else
#define V8_DOUBLE_FIELDS_UNBOXING 0 #define V8_DOUBLE_FIELDS_UNBOXING 0
#endif #endif
......
...@@ -2764,7 +2764,8 @@ void MarkCompactCollector::MigrateObject(HeapObject* dst, HeapObject* src, ...@@ -2764,7 +2764,8 @@ void MarkCompactCollector::MigrateObject(HeapObject* dst, HeapObject* src,
#if V8_DOUBLE_FIELDS_UNBOXING #if V8_DOUBLE_FIELDS_UNBOXING
if (!may_contain_raw_values && if (!may_contain_raw_values &&
(has_only_tagged_fields || helper.IsTagged(src_slot - src_addr))) (has_only_tagged_fields ||
helper.IsTagged(static_cast<int>(src_slot - src_addr))))
#else #else
if (!may_contain_raw_values) if (!may_contain_raw_values)
#endif #endif
......
...@@ -519,7 +519,7 @@ void StoreBuffer::IteratePointersToNewSpace(ObjectSlotCallback slot_callback, ...@@ -519,7 +519,7 @@ void StoreBuffer::IteratePointersToNewSpace(ObjectSlotCallback slot_callback,
if (!has_only_tagged_fields) { if (!has_only_tagged_fields) {
for (Address slot = start_address; slot < end_address; for (Address slot = start_address; slot < end_address;
slot += kPointerSize) { slot += kPointerSize) {
if (helper.IsTagged(slot - obj_address)) { if (helper.IsTagged(static_cast<int>(slot - obj_address))) {
// TODO(ishell): call this once for contiguous region // TODO(ishell): call this once for contiguous region
// of tagged fields. // of tagged fields.
FindPointersToNewSpaceInRegion(slot, slot + kPointerSize, FindPointersToNewSpaceInRegion(slot, slot + kPointerSize,
......
...@@ -37,7 +37,7 @@ enum PropertyKind { ...@@ -37,7 +37,7 @@ enum PropertyKind {
PROP_SMI, PROP_SMI,
PROP_DOUBLE, PROP_DOUBLE,
PROP_TAGGED, PROP_TAGGED,
PROP_KIND_NUMBER, PROP_KIND_NUMBER
}; };
static Representation representations[PROP_KIND_NUMBER] = { static Representation representations[PROP_KIND_NUMBER] = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment