| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 // Review notes: | 5 // Review notes: |
| 6 // | 6 // |
| 7 // - The use of macros in these inline functions may seem superfluous | 7 // - The use of macros in these inline functions may seem superfluous |
| 8 // but it is absolutely needed to make sure gcc generates optimal | 8 // but it is absolutely needed to make sure gcc generates optimal |
| 9 // code. gcc is not happy when attempting to inline too deep. | 9 // code. gcc is not happy when attempting to inline too deep. |
| 10 // | 10 // |
| (...skipping 6809 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6820 WRITE_FIELD(this, kRelocationInfoOffset, NULL); | 6820 WRITE_FIELD(this, kRelocationInfoOffset, NULL); |
| 6821 WRITE_FIELD(this, kHandlerTableOffset, NULL); | 6821 WRITE_FIELD(this, kHandlerTableOffset, NULL); |
| 6822 WRITE_FIELD(this, kDeoptimizationDataOffset, NULL); | 6822 WRITE_FIELD(this, kDeoptimizationDataOffset, NULL); |
| 6823 WRITE_FIELD(this, kSourcePositionTableOffset, NULL); | 6823 WRITE_FIELD(this, kSourcePositionTableOffset, NULL); |
| 6824 // Do not wipe out major/minor keys on a code stub or IC | 6824 // Do not wipe out major/minor keys on a code stub or IC |
| 6825 if (!READ_FIELD(this, kTypeFeedbackInfoOffset)->IsSmi()) { | 6825 if (!READ_FIELD(this, kTypeFeedbackInfoOffset)->IsSmi()) { |
| 6826 WRITE_FIELD(this, kTypeFeedbackInfoOffset, NULL); | 6826 WRITE_FIELD(this, kTypeFeedbackInfoOffset, NULL); |
| 6827 } | 6827 } |
| 6828 WRITE_FIELD(this, kNextCodeLinkOffset, NULL); | 6828 WRITE_FIELD(this, kNextCodeLinkOffset, NULL); |
| 6829 WRITE_FIELD(this, kGCMetadataOffset, NULL); | 6829 WRITE_FIELD(this, kGCMetadataOffset, NULL); |
| 6830 WRITE_FIELD(this, kProtectedInstructionOffset, NULL); |
| 6830 } | 6831 } |
| 6831 | 6832 |
| 6832 | 6833 |
| 6833 Object* Code::type_feedback_info() { | 6834 Object* Code::type_feedback_info() { |
| 6834 DCHECK(kind() == FUNCTION); | 6835 DCHECK(kind() == FUNCTION); |
| 6835 return raw_type_feedback_info(); | 6836 return raw_type_feedback_info(); |
| 6836 } | 6837 } |
| 6837 | 6838 |
| 6838 | 6839 |
| 6839 void Code::set_type_feedback_info(Object* value, WriteBarrierMode mode) { | 6840 void Code::set_type_feedback_info(Object* value, WriteBarrierMode mode) { |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6903 : instruction_size(); | 6904 : instruction_size(); |
| 6904 return RoundUp(unpadded_body_size, kObjectAlignment); | 6905 return RoundUp(unpadded_body_size, kObjectAlignment); |
| 6905 } | 6906 } |
| 6906 | 6907 |
| 6907 int Code::SizeIncludingMetadata() { | 6908 int Code::SizeIncludingMetadata() { |
| 6908 int size = CodeSize(); | 6909 int size = CodeSize(); |
| 6909 size += relocation_info()->Size(); | 6910 size += relocation_info()->Size(); |
| 6910 size += deoptimization_data()->Size(); | 6911 size += deoptimization_data()->Size(); |
| 6911 size += handler_table()->Size(); | 6912 size += handler_table()->Size(); |
| 6912 if (kind() == FUNCTION) size += source_position_table()->Size(); | 6913 if (kind() == FUNCTION) size += source_position_table()->Size(); |
| 6914 size += protected_instructions()->Size(); |
| 6913 return size; | 6915 return size; |
| 6914 } | 6916 } |
| 6915 | 6917 |
| 6916 ByteArray* Code::unchecked_relocation_info() { | 6918 ByteArray* Code::unchecked_relocation_info() { |
| 6917 return reinterpret_cast<ByteArray*>(READ_FIELD(this, kRelocationInfoOffset)); | 6919 return reinterpret_cast<ByteArray*>(READ_FIELD(this, kRelocationInfoOffset)); |
| 6918 } | 6920 } |
| 6919 | 6921 |
| 6920 | 6922 |
| 6921 byte* Code::relocation_start() { | 6923 byte* Code::relocation_start() { |
| 6922 return unchecked_relocation_info()->GetDataStartAddress(); | 6924 return unchecked_relocation_info()->GetDataStartAddress(); |
| (...skipping 1513 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 8436 #undef WRITE_INT64_FIELD | 8438 #undef WRITE_INT64_FIELD |
| 8437 #undef READ_BYTE_FIELD | 8439 #undef READ_BYTE_FIELD |
| 8438 #undef WRITE_BYTE_FIELD | 8440 #undef WRITE_BYTE_FIELD |
| 8439 #undef NOBARRIER_READ_BYTE_FIELD | 8441 #undef NOBARRIER_READ_BYTE_FIELD |
| 8440 #undef NOBARRIER_WRITE_BYTE_FIELD | 8442 #undef NOBARRIER_WRITE_BYTE_FIELD |
| 8441 | 8443 |
| 8442 } // namespace internal | 8444 } // namespace internal |
| 8443 } // namespace v8 | 8445 } // namespace v8 |
| 8444 | 8446 |
| 8445 #endif // V8_OBJECTS_INL_H_ | 8447 #endif // V8_OBJECTS_INL_H_ |
| OLD | NEW |