OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 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 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
106 return result; | 106 return result; |
107 } | 107 } |
108 | 108 |
109 // Static indirection table for handles to constants. If a frame | 109 // Static indirection table for handles to constants. If a frame |
110 // element represents a constant, the data contains an index into | 110 // element represents a constant, the data contains an index into |
111 // this table of handles to the actual constants. | 111 // this table of handles to the actual constants. |
112 typedef ZoneList<Handle<Object> > ZoneObjectList; | 112 typedef ZoneList<Handle<Object> > ZoneObjectList; |
113 | 113 |
114 static ZoneObjectList* ConstantList(); | 114 static ZoneObjectList* ConstantList(); |
115 | 115 |
| 116 static bool ConstantPoolOverflowed() { |
| 117 return !DataField::is_valid(ConstantList()->length()); |
| 118 } |
| 119 |
116 // Clear the constants indirection table. | 120 // Clear the constants indirection table. |
117 static void ClearConstantList() { | 121 static void ClearConstantList() { |
118 ConstantList()->Clear(); | 122 ConstantList()->Clear(); |
119 } | 123 } |
120 | 124 |
121 bool is_synced() const { return SyncedField::decode(value_); } | 125 bool is_synced() const { return SyncedField::decode(value_); } |
122 | 126 |
123 void set_sync() { | 127 void set_sync() { |
124 ASSERT(type() != MEMORY); | 128 ASSERT(type() != MEMORY); |
125 value_ = value_ | SyncedField::encode(true); | 129 value_ = value_ | SyncedField::encode(true); |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 class UntaggedInt32Field: public BitField<bool, 5, 1> {}; | 268 class UntaggedInt32Field: public BitField<bool, 5, 1> {}; |
265 class TypeInfoField: public BitField<int, 6, 7> {}; | 269 class TypeInfoField: public BitField<int, 6, 7> {}; |
266 class DataField: public BitField<uint32_t, 13, 32 - 13> {}; | 270 class DataField: public BitField<uint32_t, 13, 32 - 13> {}; |
267 | 271 |
268 friend class VirtualFrame; | 272 friend class VirtualFrame; |
269 }; | 273 }; |
270 | 274 |
271 } } // namespace v8::internal | 275 } } // namespace v8::internal |
272 | 276 |
273 #endif // V8_FRAME_ELEMENT_H_ | 277 #endif // V8_FRAME_ELEMENT_H_ |
OLD | NEW |