Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(624)

Side by Side Diff: src/objects-inl.h

Issue 91803003: Move responsibility for definition of ExtraICState bits into the ICs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: A couple more nits. Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « src/objects.h ('k') | src/stub-cache.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 3871 matching lines...) Expand 10 before | Expand all | Expand 10 after
3882 // Only allow uninitialized or debugger states for non-IC code 3882 // Only allow uninitialized or debugger states for non-IC code
3883 // objects. This is used in the debugger to determine whether or not 3883 // objects. This is used in the debugger to determine whether or not
3884 // a call to code object has been replaced with a debug break call. 3884 // a call to code object has been replaced with a debug break call.
3885 ASSERT(is_inline_cache_stub() || 3885 ASSERT(is_inline_cache_stub() ||
3886 result == UNINITIALIZED || 3886 result == UNINITIALIZED ||
3887 result == DEBUG_STUB); 3887 result == DEBUG_STUB);
3888 return result; 3888 return result;
3889 } 3889 }
3890 3890
3891 3891
3892 Code::ExtraICState Code::extra_ic_state() { 3892 ExtraICState Code::extra_ic_state() {
3893 ASSERT((is_inline_cache_stub() && !needs_extended_extra_ic_state(kind())) 3893 ASSERT((is_inline_cache_stub() && !needs_extended_extra_ic_state(kind()))
3894 || ic_state() == DEBUG_STUB); 3894 || ic_state() == DEBUG_STUB);
3895 return ExtractExtraICStateFromFlags(flags()); 3895 return ExtractExtraICStateFromFlags(flags());
3896 } 3896 }
3897 3897
3898 3898
3899 Code::ExtraICState Code::extended_extra_ic_state() { 3899 ExtraICState Code::extended_extra_ic_state() {
3900 ASSERT(is_inline_cache_stub() || ic_state() == DEBUG_STUB); 3900 ASSERT(is_inline_cache_stub() || ic_state() == DEBUG_STUB);
3901 ASSERT(needs_extended_extra_ic_state(kind())); 3901 ASSERT(needs_extended_extra_ic_state(kind()));
3902 return ExtractExtendedExtraICStateFromFlags(flags()); 3902 return ExtractExtendedExtraICStateFromFlags(flags());
3903 } 3903 }
3904 3904
3905 3905
3906 Code::StubType Code::type() { 3906 Code::StubType Code::type() {
3907 return ExtractTypeFromFlags(flags()); 3907 return ExtractTypeFromFlags(flags());
3908 } 3908 }
3909 3909
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after
4226 Code::Kind Code::ExtractKindFromFlags(Flags flags) { 4226 Code::Kind Code::ExtractKindFromFlags(Flags flags) {
4227 return KindField::decode(flags); 4227 return KindField::decode(flags);
4228 } 4228 }
4229 4229
4230 4230
4231 InlineCacheState Code::ExtractICStateFromFlags(Flags flags) { 4231 InlineCacheState Code::ExtractICStateFromFlags(Flags flags) {
4232 return ICStateField::decode(flags); 4232 return ICStateField::decode(flags);
4233 } 4233 }
4234 4234
4235 4235
4236 Code::ExtraICState Code::ExtractExtraICStateFromFlags(Flags flags) { 4236 ExtraICState Code::ExtractExtraICStateFromFlags(Flags flags) {
4237 return ExtraICStateField::decode(flags); 4237 return ExtraICStateField::decode(flags);
4238 } 4238 }
4239 4239
4240 4240
4241 Code::ExtraICState Code::ExtractExtendedExtraICStateFromFlags( 4241 ExtraICState Code::ExtractExtendedExtraICStateFromFlags(
4242 Flags flags) { 4242 Flags flags) {
4243 return ExtendedExtraICStateField::decode(flags); 4243 return ExtendedExtraICStateField::decode(flags);
4244 } 4244 }
4245 4245
4246 4246
4247 Code::StubType Code::ExtractTypeFromFlags(Flags flags) { 4247 Code::StubType Code::ExtractTypeFromFlags(Flags flags) {
4248 return TypeField::decode(flags); 4248 return TypeField::decode(flags);
4249 } 4249 }
4250 4250
4251 4251
(...skipping 2224 matching lines...) Expand 10 before | Expand all | Expand 10 after
6476 #undef WRITE_UINT32_FIELD 6476 #undef WRITE_UINT32_FIELD
6477 #undef READ_SHORT_FIELD 6477 #undef READ_SHORT_FIELD
6478 #undef WRITE_SHORT_FIELD 6478 #undef WRITE_SHORT_FIELD
6479 #undef READ_BYTE_FIELD 6479 #undef READ_BYTE_FIELD
6480 #undef WRITE_BYTE_FIELD 6480 #undef WRITE_BYTE_FIELD
6481 6481
6482 6482
6483 } } // namespace v8::internal 6483 } } // namespace v8::internal
6484 6484
6485 #endif // V8_OBJECTS_INL_H_ 6485 #endif // V8_OBJECTS_INL_H_
OLDNEW
« no previous file with comments | « src/objects.h ('k') | src/stub-cache.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698