diff options
Diffstat (limited to 'chromium/v8/src/objects-inl.h')
-rw-r--r-- | chromium/v8/src/objects-inl.h | 48 |
1 files changed, 23 insertions, 25 deletions
diff --git a/chromium/v8/src/objects-inl.h b/chromium/v8/src/objects-inl.h index 169475791d0..128dc6be281 100644 --- a/chromium/v8/src/objects-inl.h +++ b/chromium/v8/src/objects-inl.h @@ -3617,17 +3617,6 @@ bool Map::is_deprecated() { } -void Map::set_migration_target(bool value) { - set_bit_field3(IsMigrationTarget::update(bit_field3(), value)); -} - - -bool Map::is_migration_target() { - if (!FLAG_track_fields) return false; - return IsMigrationTarget::decode(bit_field3()); -} - - void Map::freeze() { set_bit_field3(IsFrozen::update(bit_field3(), true)); } @@ -3688,6 +3677,11 @@ void Map::NotifyLeafMapLayoutChange() { } +bool Map::CanOmitPrototypeChecks() { + return is_stable() && FLAG_omit_prototype_checks_for_leaf_maps; +} + + bool Map::CanOmitMapChecks() { return is_stable() && FLAG_omit_map_checks_for_leaf_maps; } @@ -3822,6 +3816,7 @@ inline void Code::set_is_crankshafted(bool value) { int Code::major_key() { ASSERT(kind() == STUB || + kind() == UNARY_OP_IC || kind() == BINARY_OP_IC || kind() == COMPARE_IC || kind() == COMPARE_NIL_IC || @@ -3836,6 +3831,7 @@ int Code::major_key() { void Code::set_major_key(int major) { ASSERT(kind() == STUB || + kind() == UNARY_OP_IC || kind() == BINARY_OP_IC || kind() == COMPARE_IC || kind() == COMPARE_NIL_IC || @@ -4025,6 +4021,21 @@ void Code::set_check_type(CheckType value) { } +byte Code::unary_op_type() { + ASSERT(is_unary_op_stub()); + return UnaryOpTypeField::decode( + READ_UINT32_FIELD(this, kKindSpecificFlags1Offset)); +} + + +void Code::set_unary_op_type(byte value) { + ASSERT(is_unary_op_stub()); + int previous = READ_UINT32_FIELD(this, kKindSpecificFlags1Offset); + int updated = UnaryOpTypeField::update(previous, value); + WRITE_UINT32_FIELD(this, kKindSpecificFlags1Offset, updated); +} + + byte Code::to_boolean_state() { return extended_extra_ic_state(); } @@ -4209,20 +4220,7 @@ void Map::InitializeDescriptors(DescriptorArray* descriptors) { ACCESSORS(Map, instance_descriptors, DescriptorArray, kDescriptorsOffset) - - -void Map::set_bit_field3(uint32_t bits) { - // Ensure the upper 2 bits have the same value by sign extending it. This is - // necessary to be able to use the 31st bit. - int value = bits << 1; - WRITE_FIELD(this, kBitField3Offset, Smi::FromInt(value >> 1)); -} - - -uint32_t Map::bit_field3() { - Object* value = READ_FIELD(this, kBitField3Offset); - return Smi::cast(value)->value(); -} +SMI_ACCESSORS(Map, bit_field3, kBitField3Offset) void Map::ClearTransitions(Heap* heap, WriteBarrierMode mode) { |