OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 3804 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3815 return ic_state() == DEBUG_STUB && extra_ic_state() == DEBUG_BREAK; | 3815 return ic_state() == DEBUG_STUB && extra_ic_state() == DEBUG_BREAK; |
3816 } | 3816 } |
3817 | 3817 |
3818 | 3818 |
3819 Code::Flags Code::ComputeFlags(Kind kind, | 3819 Code::Flags Code::ComputeFlags(Kind kind, |
3820 InlineCacheState ic_state, | 3820 InlineCacheState ic_state, |
3821 ExtraICState extra_ic_state, | 3821 ExtraICState extra_ic_state, |
3822 StubType type, | 3822 StubType type, |
3823 int argc, | 3823 int argc, |
3824 InlineCacheHolderFlag holder) { | 3824 InlineCacheHolderFlag holder) { |
3825 // Extra IC state is only allowed for call IC stubs or for store IC | |
3826 // stubs. | |
3827 ASSERT(extra_ic_state == kNoExtraICState || | |
3828 kind == CALL_IC || | |
3829 kind == STORE_IC || | |
3830 kind == KEYED_STORE_IC); | |
3831 // Compute the bit mask. | 3825 // Compute the bit mask. |
3832 int bits = KindField::encode(kind) | 3826 int bits = KindField::encode(kind) |
3833 | ICStateField::encode(ic_state) | 3827 | ICStateField::encode(ic_state) |
3834 | TypeField::encode(type) | 3828 | TypeField::encode(type) |
3835 | ExtraICStateField::encode(extra_ic_state) | 3829 | ExtraICStateField::encode(extra_ic_state) |
3836 | (argc << kArgumentsCountShift) | 3830 | (argc << kArgumentsCountShift) |
3837 | CacheHolderField::encode(holder); | 3831 | CacheHolderField::encode(holder); |
3838 return static_cast<Flags>(bits); | 3832 return static_cast<Flags>(bits); |
3839 } | 3833 } |
3840 | 3834 |
(...skipping 2106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5947 #undef WRITE_UINT32_FIELD | 5941 #undef WRITE_UINT32_FIELD |
5948 #undef READ_SHORT_FIELD | 5942 #undef READ_SHORT_FIELD |
5949 #undef WRITE_SHORT_FIELD | 5943 #undef WRITE_SHORT_FIELD |
5950 #undef READ_BYTE_FIELD | 5944 #undef READ_BYTE_FIELD |
5951 #undef WRITE_BYTE_FIELD | 5945 #undef WRITE_BYTE_FIELD |
5952 | 5946 |
5953 | 5947 |
5954 } } // namespace v8::internal | 5948 } } // namespace v8::internal |
5955 | 5949 |
5956 #endif // V8_OBJECTS_INL_H_ | 5950 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |