| Index: src/types-inl.h
|
| diff --git a/src/types-inl.h b/src/types-inl.h
|
| index 9af4bccd2edf8962ee14b7a906d60c8da624f894..877ba134a333bddbeb4fe0c695955df6bc7b3763 100644
|
| --- a/src/types-inl.h
|
| +++ b/src/types-inl.h
|
| @@ -280,207 +280,6 @@ void ZoneTypeConfig::range_set_double(ZoneTypeConfig::Range* range, int index,
|
| range->limits[index] = value;
|
| }
|
|
|
| -
|
| -// -----------------------------------------------------------------------------
|
| -// HeapTypeConfig
|
| -
|
| -// static
|
| -template<class T>
|
| -i::Handle<T> HeapTypeConfig::handle(T* type) {
|
| - return i::handle(type, i::HeapObject::cast(type)->GetIsolate());
|
| -}
|
| -
|
| -
|
| -// static
|
| -template<class T>
|
| -i::Handle<T> HeapTypeConfig::cast(i::Handle<Type> type) {
|
| - return i::Handle<T>::cast(type);
|
| -}
|
| -
|
| -
|
| -// static
|
| -bool HeapTypeConfig::is_bitset(Type* type) {
|
| - return type->IsSmi();
|
| -}
|
| -
|
| -
|
| -// static
|
| -bool HeapTypeConfig::is_class(Type* type) {
|
| - return type->IsMap();
|
| -}
|
| -
|
| -
|
| -// static
|
| -bool HeapTypeConfig::is_struct(Type* type, int tag) {
|
| - DCHECK(tag != kRangeStructTag);
|
| - return type->IsFixedArray() && struct_tag(as_struct(type)) == tag;
|
| -}
|
| -
|
| -
|
| -// static
|
| -bool HeapTypeConfig::is_range(Type* type) {
|
| - return type->IsFixedArray() && struct_tag(as_struct(type)) == kRangeStructTag;
|
| -}
|
| -
|
| -
|
| -// static
|
| -HeapTypeConfig::Type::bitset HeapTypeConfig::as_bitset(Type* type) {
|
| - // TODO(rossberg): Breaks the Smi abstraction. Fix once there is a better way.
|
| - return static_cast<Type::bitset>(reinterpret_cast<uintptr_t>(type));
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<i::Map> HeapTypeConfig::as_class(Type* type) {
|
| - return i::handle(i::Map::cast(type));
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<HeapTypeConfig::Struct> HeapTypeConfig::as_struct(Type* type) {
|
| - return i::handle(Struct::cast(type));
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<HeapTypeConfig::Range> HeapTypeConfig::as_range(Type* type) {
|
| - return i::handle(Range::cast(type));
|
| -}
|
| -
|
| -
|
| -// static
|
| -HeapTypeConfig::Type* HeapTypeConfig::from_bitset(Type::bitset bitset) {
|
| - // TODO(rossberg): Breaks the Smi abstraction. Fix once there is a better way.
|
| - return reinterpret_cast<Type*>(static_cast<uintptr_t>(bitset));
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<HeapTypeConfig::Type> HeapTypeConfig::from_bitset(
|
| - Type::bitset bitset, Isolate* isolate) {
|
| - return i::handle(from_bitset(bitset), isolate);
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<HeapTypeConfig::Type> HeapTypeConfig::from_class(
|
| - i::Handle<i::Map> map, Isolate* isolate) {
|
| - return i::Handle<Type>::cast(i::Handle<Object>::cast(map));
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<HeapTypeConfig::Type> HeapTypeConfig::from_struct(
|
| - i::Handle<Struct> structure) {
|
| - return i::Handle<Type>::cast(i::Handle<Object>::cast(structure));
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<HeapTypeConfig::Type> HeapTypeConfig::from_range(
|
| - i::Handle<Range> range) {
|
| - return i::Handle<Type>::cast(i::Handle<Object>::cast(range));
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<HeapTypeConfig::Struct> HeapTypeConfig::struct_create(
|
| - int tag, int length, Isolate* isolate) {
|
| - i::Handle<Struct> structure = isolate->factory()->NewFixedArray(length + 1);
|
| - structure->set(0, i::Smi::FromInt(tag));
|
| - return structure;
|
| -}
|
| -
|
| -
|
| -// static
|
| -void HeapTypeConfig::struct_shrink(i::Handle<Struct> structure, int length) {
|
| - structure->Shrink(length + 1);
|
| -}
|
| -
|
| -
|
| -// static
|
| -int HeapTypeConfig::struct_tag(i::Handle<Struct> structure) {
|
| - return static_cast<i::Smi*>(structure->get(0))->value();
|
| -}
|
| -
|
| -
|
| -// static
|
| -int HeapTypeConfig::struct_length(i::Handle<Struct> structure) {
|
| - return structure->length() - 1;
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<HeapTypeConfig::Type> HeapTypeConfig::struct_get(
|
| - i::Handle<Struct> structure, int i) {
|
| - Type* type = static_cast<Type*>(structure->get(i + 1));
|
| - return i::handle(type, structure->GetIsolate());
|
| -}
|
| -
|
| -
|
| -// static
|
| -void HeapTypeConfig::struct_set(
|
| - i::Handle<Struct> structure, int i, i::Handle<Type> type) {
|
| - structure->set(i + 1, *type);
|
| -}
|
| -
|
| -
|
| -// static
|
| -template<class V>
|
| -i::Handle<V> HeapTypeConfig::struct_get_value(
|
| - i::Handle<Struct> structure, int i) {
|
| - V* x = static_cast<V*>(structure->get(i + 1));
|
| - return i::handle(x, structure->GetIsolate());
|
| -}
|
| -
|
| -
|
| -// static
|
| -template<class V>
|
| -void HeapTypeConfig::struct_set_value(
|
| - i::Handle<Struct> structure, int i, i::Handle<V> x) {
|
| - structure->set(i + 1, *x);
|
| -}
|
| -
|
| -
|
| -// static
|
| -i::Handle<HeapTypeConfig::Range> HeapTypeConfig::range_create(
|
| - Isolate* isolate) {
|
| - i::Handle<Range> range = isolate->factory()->NewFixedArray(4);
|
| - range->set(0, i::Smi::FromInt(kRangeStructTag));
|
| - return range;
|
| -}
|
| -
|
| -
|
| -// static
|
| -int HeapTypeConfig::range_get_bitset(i::Handle<HeapTypeConfig::Range> range) {
|
| - Type* v = static_cast<Type*>(range->get(1));
|
| - return as_bitset(v);
|
| -}
|
| -
|
| -
|
| -// static
|
| -void HeapTypeConfig::range_set_bitset(i::Handle<HeapTypeConfig::Range> range,
|
| - int value) {
|
| - range->set(1, from_bitset(value));
|
| -}
|
| -
|
| -
|
| -// static
|
| -double HeapTypeConfig::range_get_double(i::Handle<HeapTypeConfig::Range> range,
|
| - int index) {
|
| - DCHECK(index >= 0 && index < 2);
|
| - return range->get(index + 2)->Number();
|
| -}
|
| -
|
| -
|
| -// static
|
| -void HeapTypeConfig::range_set_double(i::Handle<HeapTypeConfig::Range> range,
|
| - int index, double value,
|
| - Isolate* isolate) {
|
| - DCHECK(index >= 0 && index < 2);
|
| - i::Handle<Object> number = isolate->factory()->NewNumber(value);
|
| - range->set(index + 2, *number);
|
| -}
|
| } // namespace internal
|
| } // namespace v8
|
|
|
|
|