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 3789 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3800 return ic_state() == DEBUG_STUB && extra_ic_state() == DEBUG_BREAK; | 3800 return ic_state() == DEBUG_STUB && extra_ic_state() == DEBUG_BREAK; |
3801 } | 3801 } |
3802 | 3802 |
3803 | 3803 |
3804 Code::Flags Code::ComputeFlags(Kind kind, | 3804 Code::Flags Code::ComputeFlags(Kind kind, |
3805 InlineCacheState ic_state, | 3805 InlineCacheState ic_state, |
3806 ExtraICState extra_ic_state, | 3806 ExtraICState extra_ic_state, |
3807 StubType type, | 3807 StubType type, |
3808 int argc, | 3808 int argc, |
3809 InlineCacheHolderFlag holder) { | 3809 InlineCacheHolderFlag holder) { |
3810 // Extra IC state is only allowed for call IC stubs or for store IC | |
3811 // stubs. | |
3812 ASSERT(extra_ic_state == kNoExtraICState || | |
3813 kind == CALL_IC || | |
3814 kind == STORE_IC || | |
3815 kind == KEYED_STORE_IC); | |
3816 // Compute the bit mask. | 3810 // Compute the bit mask. |
3817 int bits = KindField::encode(kind) | 3811 int bits = KindField::encode(kind) |
3818 | ICStateField::encode(ic_state) | 3812 | ICStateField::encode(ic_state) |
3819 | TypeField::encode(type) | 3813 | TypeField::encode(type) |
3820 | ExtraICStateField::encode(extra_ic_state) | 3814 | ExtraICStateField::encode(extra_ic_state) |
3821 | (argc << kArgumentsCountShift) | 3815 | (argc << kArgumentsCountShift) |
3822 | CacheHolderField::encode(holder); | 3816 | CacheHolderField::encode(holder); |
3823 return static_cast<Flags>(bits); | 3817 return static_cast<Flags>(bits); |
3824 } | 3818 } |
3825 | 3819 |
(...skipping 2100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5926 #undef WRITE_UINT32_FIELD | 5920 #undef WRITE_UINT32_FIELD |
5927 #undef READ_SHORT_FIELD | 5921 #undef READ_SHORT_FIELD |
5928 #undef WRITE_SHORT_FIELD | 5922 #undef WRITE_SHORT_FIELD |
5929 #undef READ_BYTE_FIELD | 5923 #undef READ_BYTE_FIELD |
5930 #undef WRITE_BYTE_FIELD | 5924 #undef WRITE_BYTE_FIELD |
5931 | 5925 |
5932 | 5926 |
5933 } } // namespace v8::internal | 5927 } } // namespace v8::internal |
5934 | 5928 |
5935 #endif // V8_OBJECTS_INL_H_ | 5929 #endif // V8_OBJECTS_INL_H_ |
OLD | NEW |