OLD | NEW |
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 3194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3205 bool ImmortalImmovable() const { | 3205 bool ImmortalImmovable() const { |
3206 if (has_int32_value_) { | 3206 if (has_int32_value_) { |
3207 return false; | 3207 return false; |
3208 } | 3208 } |
3209 if (has_double_value_) { | 3209 if (has_double_value_) { |
3210 if (IsSpecialDouble()) { | 3210 if (IsSpecialDouble()) { |
3211 return true; | 3211 return true; |
3212 } | 3212 } |
3213 return false; | 3213 return false; |
3214 } | 3214 } |
| 3215 if (has_external_reference_value_) { |
| 3216 return false; |
| 3217 } |
3215 | 3218 |
3216 ASSERT(!handle_.is_null()); | 3219 ASSERT(!handle_.is_null()); |
3217 Heap* heap = isolate()->heap(); | 3220 Heap* heap = isolate()->heap(); |
3218 ASSERT(unique_id_ != UniqueValueId(heap->minus_zero_value())); | 3221 ASSERT(unique_id_ != UniqueValueId(heap->minus_zero_value())); |
3219 ASSERT(unique_id_ != UniqueValueId(heap->nan_value())); | 3222 ASSERT(unique_id_ != UniqueValueId(heap->nan_value())); |
3220 return unique_id_ == UniqueValueId(heap->undefined_value()) || | 3223 return unique_id_ == UniqueValueId(heap->undefined_value()) || |
3221 unique_id_ == UniqueValueId(heap->null_value()) || | 3224 unique_id_ == UniqueValueId(heap->null_value()) || |
3222 unique_id_ == UniqueValueId(heap->true_value()) || | 3225 unique_id_ == UniqueValueId(heap->true_value()) || |
3223 unique_id_ == UniqueValueId(heap->false_value()) || | 3226 unique_id_ == UniqueValueId(heap->false_value()) || |
3224 unique_id_ == UniqueValueId(heap->the_hole_value()) || | 3227 unique_id_ == UniqueValueId(heap->the_hole_value()) || |
(...skipping 3521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6746 virtual bool IsDeletable() const { return true; } | 6749 virtual bool IsDeletable() const { return true; } |
6747 }; | 6750 }; |
6748 | 6751 |
6749 | 6752 |
6750 #undef DECLARE_INSTRUCTION | 6753 #undef DECLARE_INSTRUCTION |
6751 #undef DECLARE_CONCRETE_INSTRUCTION | 6754 #undef DECLARE_CONCRETE_INSTRUCTION |
6752 | 6755 |
6753 } } // namespace v8::internal | 6756 } } // namespace v8::internal |
6754 | 6757 |
6755 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ | 6758 #endif // V8_HYDROGEN_INSTRUCTIONS_H_ |
OLD | NEW |