| 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 88 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 99 } | 99 } | 
| 100 | 100 | 
| 101 | 101 | 
| 102 void RegisterAllocator::Unuse(Register reg) { | 102 void RegisterAllocator::Unuse(Register reg) { | 
| 103   registers_.Unuse(ToNumber(reg)); | 103   registers_.Unuse(ToNumber(reg)); | 
| 104 } | 104 } | 
| 105 | 105 | 
| 106 | 106 | 
| 107 NumberInfo Result::number_info() const { | 107 NumberInfo Result::number_info() const { | 
| 108   ASSERT(is_valid()); | 108   ASSERT(is_valid()); | 
| 109   if (!is_constant()) { | 109   return NumberInfo::FromInt(NumberInfoField::decode(value_)); | 
| 110     return NumberInfo::FromInt(NumberInfoField::decode(value_)); |  | 
| 111   } |  | 
| 112   Handle<Object> value = handle(); |  | 
| 113   if (value->IsSmi()) return NumberInfo::Smi(); |  | 
| 114   if (value->IsHeapNumber()) return NumberInfo::HeapNumber(); |  | 
| 115   return NumberInfo::Unknown(); |  | 
| 116 } | 110 } | 
| 117 | 111 | 
| 118 | 112 | 
| 119 void Result::set_number_info(NumberInfo info) { | 113 void Result::set_number_info(NumberInfo info) { | 
| 120   ASSERT(is_valid()); | 114   ASSERT(is_valid()); | 
| 121   value_ &= ~NumberInfoField::mask(); | 115   value_ &= ~NumberInfoField::mask(); | 
| 122   value_ |= NumberInfoField::encode(info.ToInt()); | 116   value_ |= NumberInfoField::encode(info.ToInt()); | 
| 123 } | 117 } | 
| 124 | 118 | 
| 125 | 119 | 
| 126 bool Result::is_number() const { | 120 bool Result::is_number() const { | 
| 127   return number_info().IsNumber(); | 121   return number_info().IsNumber(); | 
| 128 } | 122 } | 
| 129 | 123 | 
| 130 | 124 | 
| 131 bool Result::is_smi() const { | 125 bool Result::is_smi() const { | 
| 132   return number_info().IsSmi(); | 126   return number_info().IsSmi(); | 
| 133 } | 127 } | 
| 134 | 128 | 
| 135 | 129 | 
| 136 bool Result::is_integer32() const { | 130 bool Result::is_integer32() const { | 
| 137   return number_info().IsInteger32(); | 131   return number_info().IsInteger32(); | 
| 138 } | 132 } | 
| 139 | 133 | 
| 140 | 134 | 
| 141 bool Result::is_heap_number() const { | 135 bool Result::is_double() const { | 
| 142   return number_info().IsHeapNumber(); | 136   return number_info().IsDouble(); | 
| 143 } | 137 } | 
| 144 | 138 | 
| 145 } }  // namespace v8::internal | 139 } }  // namespace v8::internal | 
| 146 | 140 | 
| 147 #endif  // V8_REGISTER_ALLOCATOR_INL_H_ | 141 #endif  // V8_REGISTER_ALLOCATOR_INL_H_ | 
| OLD | NEW | 
|---|