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

Side by Side Diff: src/frame-element.h

Issue 115464: Fix a failure to correctly set the static type on a frame element at a... (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: '' Created 11 years, 7 months 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/arm/jump-target-arm.cc ('k') | src/ia32/jump-target-ia32.cc » ('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 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
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
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_
OLDNEW
« no previous file with comments | « src/arm/jump-target-arm.cc ('k') | src/ia32/jump-target-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698