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 4382 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4393 | 4393 |
4394 bool Code::has_major_key() { | 4394 bool Code::has_major_key() { |
4395 return kind() == STUB || | 4395 return kind() == STUB || |
4396 kind() == HANDLER || | 4396 kind() == HANDLER || |
4397 kind() == BINARY_OP_IC || | 4397 kind() == BINARY_OP_IC || |
4398 kind() == COMPARE_IC || | 4398 kind() == COMPARE_IC || |
4399 kind() == COMPARE_NIL_IC || | 4399 kind() == COMPARE_NIL_IC || |
4400 kind() == LOAD_IC || | 4400 kind() == LOAD_IC || |
4401 kind() == KEYED_LOAD_IC || | 4401 kind() == KEYED_LOAD_IC || |
4402 kind() == STORE_IC || | 4402 kind() == STORE_IC || |
| 4403 kind() == CALL_IC || |
4403 kind() == KEYED_STORE_IC || | 4404 kind() == KEYED_STORE_IC || |
4404 kind() == TO_BOOLEAN_IC; | 4405 kind() == TO_BOOLEAN_IC; |
4405 } | 4406 } |
4406 | 4407 |
4407 | 4408 |
4408 bool Code::optimizable() { | 4409 bool Code::optimizable() { |
4409 ASSERT_EQ(FUNCTION, kind()); | 4410 ASSERT_EQ(FUNCTION, kind()); |
4410 return READ_BYTE_FIELD(this, kOptimizableOffset) == 1; | 4411 return READ_BYTE_FIELD(this, kOptimizableOffset) == 1; |
4411 } | 4412 } |
4412 | 4413 |
(...skipping 1443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5856 void Code::set_type_feedback_info(Object* value, WriteBarrierMode mode) { | 5857 void Code::set_type_feedback_info(Object* value, WriteBarrierMode mode) { |
5857 ASSERT(kind() == FUNCTION); | 5858 ASSERT(kind() == FUNCTION); |
5858 set_raw_type_feedback_info(value, mode); | 5859 set_raw_type_feedback_info(value, mode); |
5859 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kTypeFeedbackInfoOffset, | 5860 CONDITIONAL_WRITE_BARRIER(GetHeap(), this, kTypeFeedbackInfoOffset, |
5860 value, mode); | 5861 value, mode); |
5861 } | 5862 } |
5862 | 5863 |
5863 | 5864 |
5864 int Code::stub_info() { | 5865 int Code::stub_info() { |
5865 ASSERT(kind() == COMPARE_IC || kind() == COMPARE_NIL_IC || | 5866 ASSERT(kind() == COMPARE_IC || kind() == COMPARE_NIL_IC || |
5866 kind() == BINARY_OP_IC || kind() == LOAD_IC); | 5867 kind() == BINARY_OP_IC || kind() == LOAD_IC || kind() == CALL_IC); |
5867 return Smi::cast(raw_type_feedback_info())->value(); | 5868 return Smi::cast(raw_type_feedback_info())->value(); |
5868 } | 5869 } |
5869 | 5870 |
5870 | 5871 |
5871 void Code::set_stub_info(int value) { | 5872 void Code::set_stub_info(int value) { |
5872 ASSERT(kind() == COMPARE_IC || | 5873 ASSERT(kind() == COMPARE_IC || |
5873 kind() == COMPARE_NIL_IC || | 5874 kind() == COMPARE_NIL_IC || |
5874 kind() == BINARY_OP_IC || | 5875 kind() == BINARY_OP_IC || |
5875 kind() == STUB || | 5876 kind() == STUB || |
5876 kind() == LOAD_IC || | 5877 kind() == LOAD_IC || |
| 5878 kind() == CALL_IC || |
5877 kind() == KEYED_LOAD_IC || | 5879 kind() == KEYED_LOAD_IC || |
5878 kind() == STORE_IC || | 5880 kind() == STORE_IC || |
5879 kind() == KEYED_STORE_IC); | 5881 kind() == KEYED_STORE_IC); |
5880 set_raw_type_feedback_info(Smi::FromInt(value)); | 5882 set_raw_type_feedback_info(Smi::FromInt(value)); |
5881 } | 5883 } |
5882 | 5884 |
5883 | 5885 |
5884 ACCESSORS(Code, gc_metadata, Object, kGCMetadataOffset) | 5886 ACCESSORS(Code, gc_metadata, Object, kGCMetadataOffset) |
5885 INT_ACCESSORS(Code, ic_age, kICAgeOffset) | 5887 INT_ACCESSORS(Code, ic_age, kICAgeOffset) |
5886 | 5888 |
(...skipping 1015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6902 #undef READ_SHORT_FIELD | 6904 #undef READ_SHORT_FIELD |
6903 #undef WRITE_SHORT_FIELD | 6905 #undef WRITE_SHORT_FIELD |
6904 #undef READ_BYTE_FIELD | 6906 #undef READ_BYTE_FIELD |
6905 #undef WRITE_BYTE_FIELD | 6907 #undef WRITE_BYTE_FIELD |
6906 #undef NOBARRIER_READ_BYTE_FIELD | 6908 #undef NOBARRIER_READ_BYTE_FIELD |
6907 #undef NOBARRIER_WRITE_BYTE_FIELD | 6909 #undef NOBARRIER_WRITE_BYTE_FIELD |
6908 | 6910 |
6909 } } // namespace v8::internal | 6911 } } // namespace v8::internal |
6910 | 6912 |
6911 #endif // V8_OBJECTS_INL_H_ | 6913 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |