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 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 void set_static_type(StaticType static_type) { | 149 void set_static_type(StaticType static_type) { |
150 value_ = value_ & ~StaticTypeField::mask(); | 150 value_ = value_ & ~StaticTypeField::mask(); |
151 value_ = value_ | StaticTypeField::encode(static_type.static_type_); | 151 value_ = value_ | StaticTypeField::encode(static_type.static_type_); |
152 } | 152 } |
153 | 153 |
154 bool Equals(FrameElement other) { | 154 bool Equals(FrameElement other) { |
155 if (value_ == other.value_) return true; | 155 if (value_ == other.value_) return true; |
156 | 156 |
157 if (type() != other.type() || | 157 if (type() != other.type() || |
158 is_copied() != other.is_copied() || | 158 is_copied() != other.is_copied() || |
159 is_synced() != other.is_synced()) return false; | 159 is_synced() != other.is_synced() || |
| 160 !(static_type() == other.static_type())) { |
| 161 return false; |
| 162 } |
160 | 163 |
161 if (is_register()) { | 164 if (is_register()) { |
162 if (!reg().is(other.reg())) return false; | 165 if (!reg().is(other.reg())) return false; |
163 } else if (is_constant()) { | 166 } else if (is_constant()) { |
164 if (!handle().is_identical_to(other.handle())) return false; | 167 if (!handle().is_identical_to(other.handle())) return false; |
165 } else if (is_copy()) { | 168 } else if (is_copy()) { |
166 if (index() != other.index()) return false; | 169 if (index() != other.index()) return false; |
167 } | 170 } |
168 | 171 |
169 return true; | 172 return true; |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
256 class CopiedField: public BitField<uint32_t, 6, 1> {}; | 259 class CopiedField: public BitField<uint32_t, 6, 1> {}; |
257 class SyncedField: public BitField<uint32_t, 7, 1> {}; | 260 class SyncedField: public BitField<uint32_t, 7, 1> {}; |
258 class DataField: public BitField<uint32_t, 8, 32 - 9> {}; | 261 class DataField: public BitField<uint32_t, 8, 32 - 9> {}; |
259 | 262 |
260 friend class VirtualFrame; | 263 friend class VirtualFrame; |
261 }; | 264 }; |
262 | 265 |
263 } } // namespace v8::internal | 266 } } // namespace v8::internal |
264 | 267 |
265 #endif // V8_FRAME_ELEMENT_H_ | 268 #endif // V8_FRAME_ELEMENT_H_ |
OLD | NEW |