| Index: src/objects-inl.h
|
| diff --git a/src/objects-inl.h b/src/objects-inl.h
|
| index d5815f2ecffa12f71ad39ab5a89c21088d92bf4e..8924524c7c2078cdc874858f3381ef06afe31e37 100644
|
| --- a/src/objects-inl.h
|
| +++ b/src/objects-inl.h
|
| @@ -3408,66 +3408,6 @@ void Code::set_unary_op_type(byte value) {
|
| }
|
|
|
|
|
| -byte Code::binary_op_type() {
|
| - ASSERT(is_binary_op_stub());
|
| - return BinaryOpTypeField::decode(
|
| - READ_UINT32_FIELD(this, kKindSpecificFlags1Offset));
|
| -}
|
| -
|
| -
|
| -void Code::set_binary_op_type(byte value) {
|
| - ASSERT(is_binary_op_stub());
|
| - int previous = READ_UINT32_FIELD(this, kKindSpecificFlags1Offset);
|
| - int updated = BinaryOpTypeField::update(previous, value);
|
| - WRITE_UINT32_FIELD(this, kKindSpecificFlags1Offset, updated);
|
| -}
|
| -
|
| -
|
| -byte Code::binary_op_result_type() {
|
| - ASSERT(is_binary_op_stub());
|
| - return BinaryOpResultTypeField::decode(
|
| - READ_UINT32_FIELD(this, kKindSpecificFlags1Offset));
|
| -}
|
| -
|
| -
|
| -void Code::set_binary_op_result_type(byte value) {
|
| - ASSERT(is_binary_op_stub());
|
| - int previous = READ_UINT32_FIELD(this, kKindSpecificFlags1Offset);
|
| - int updated = BinaryOpResultTypeField::update(previous, value);
|
| - WRITE_UINT32_FIELD(this, kKindSpecificFlags1Offset, updated);
|
| -}
|
| -
|
| -
|
| -byte Code::compare_state() {
|
| - ASSERT(is_compare_ic_stub());
|
| - return CompareStateField::decode(
|
| - READ_UINT32_FIELD(this, kKindSpecificFlags1Offset));
|
| -}
|
| -
|
| -
|
| -void Code::set_compare_state(byte value) {
|
| - ASSERT(is_compare_ic_stub());
|
| - int previous = READ_UINT32_FIELD(this, kKindSpecificFlags1Offset);
|
| - int updated = CompareStateField::update(previous, value);
|
| - WRITE_UINT32_FIELD(this, kKindSpecificFlags1Offset, updated);
|
| -}
|
| -
|
| -
|
| -byte Code::compare_operation() {
|
| - ASSERT(is_compare_ic_stub());
|
| - return CompareOperationField::decode(
|
| - READ_UINT32_FIELD(this, kKindSpecificFlags1Offset));
|
| -}
|
| -
|
| -
|
| -void Code::set_compare_operation(byte value) {
|
| - ASSERT(is_compare_ic_stub());
|
| - int previous = READ_UINT32_FIELD(this, kKindSpecificFlags1Offset);
|
| - int updated = CompareOperationField::update(previous, value);
|
| - WRITE_UINT32_FIELD(this, kKindSpecificFlags1Offset, updated);
|
| -}
|
| -
|
| -
|
| byte Code::to_boolean_state() {
|
| ASSERT(is_to_boolean_ic_stub());
|
| return ToBooleanStateField::decode(
|
| @@ -4622,10 +4562,45 @@ INT_ACCESSORS(Code, instruction_size, kInstructionSizeOffset)
|
| ACCESSORS(Code, relocation_info, ByteArray, kRelocationInfoOffset)
|
| ACCESSORS(Code, handler_table, FixedArray, kHandlerTableOffset)
|
| ACCESSORS(Code, deoptimization_data, FixedArray, kDeoptimizationDataOffset)
|
| -ACCESSORS(Code, type_feedback_info, Object, kTypeFeedbackInfoOffset)
|
| +
|
| +
|
| +// Type feedback slot: type_feedback_info for FUNCTIONs, stub_info for STUBs.
|
| +void Code::InitializeTypeFeedbackInfoNoWriteBarrier(Object* value) {
|
| + WRITE_FIELD(this, kTypeFeedbackInfoOffset, value);
|
| +}
|
| +
|
| +
|
| +Object* Code::type_feedback_info() {
|
| + ASSERT(kind() == FUNCTION);
|
| + return Object::cast(READ_FIELD(this, kTypeFeedbackInfoOffset));
|
| +}
|
| +
|
| +
|
| +void Code::set_type_feedback_info(Object* value, WriteBarrierMode mode) {
|
| + ASSERT(kind() == FUNCTION);
|
| + WRITE_FIELD(this, kTypeFeedbackInfoOffset, value);
|
| + CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kTypeFeedbackInfoOffset,
|
| + value, mode);
|
| +}
|
| +
|
| +
|
| +int Code::stub_info() {
|
| + ASSERT(kind() == COMPARE_IC || kind() == BINARY_OP_IC);
|
| + Object* value = READ_FIELD(this, kTypeFeedbackInfoOffset);
|
| + return Smi::cast(value)->value();
|
| +}
|
| +
|
| +
|
| +void Code::set_stub_info(int value) {
|
| + ASSERT(kind() == COMPARE_IC || kind() == BINARY_OP_IC);
|
| + WRITE_FIELD(this, kTypeFeedbackInfoOffset, Smi::FromInt(value));
|
| +}
|
| +
|
| +
|
| ACCESSORS(Code, gc_metadata, Object, kGCMetadataOffset)
|
| INT_ACCESSORS(Code, ic_age, kICAgeOffset)
|
|
|
| +
|
| byte* Code::instruction_start() {
|
| return FIELD_ADDR(this, kHeaderSize);
|
| }
|
|
|