Chromium Code Reviews| Index: runtime/vm/object.cc |
| diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
| index 22a93dc6dd1d65c597bd5ae1eb9cebfe5caf4f6f..5bcba766a85c855b7a711c2127e394a7e33d4dbc 100644 |
| --- a/runtime/vm/object.cc |
| +++ b/runtime/vm/object.cc |
| @@ -6450,9 +6450,20 @@ void Field::set_guarded_list_length(intptr_t list_length) const { |
| bool Field::IsUnboxedField() const { |
| - // TODO(johnmccutchan): Add kFloat32x4Cid here. |
| +#if defined(TARGET_ARCH_MIPS) |
| + bool valid_class = (guarded_cid() == kDoubleCid); |
| +#elif defined(TARGET_ARCH_ARM) |
| + bool valid_class = (guarded_cid() == kDoubleCid) || |
| + (guarded_cid() == kFloat32x4Cid); |
| +#elif defined(TARGET_ARCH_X64) |
| + bool valid_class = (guarded_cid() == kDoubleCid) || |
| + (guarded_cid() == kFloat32x4Cid); |
| +#elif defined(TARGET_ARCH_IA32) |
| + bool valid_class = (guarded_cid() == kDoubleCid) || |
| + (guarded_cid() == kFloat32x4Cid); |
| +#endif |
| return is_unboxing_candidate() && !is_final() && !is_nullable() && |
| - ((guarded_cid() == kDoubleCid)); |
| + valid_class; |
|
srdjan
2014/02/05 22:20:09
How about moving Field::IsUnboxedField in an archi
Cutch
2014/02/05 23:16:02
Done.
|
| } |