1486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org// Copyright 2014 the V8 project authors. All rights reserved. 23484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// Use of this source code is governed by a BSD-style license that can be 33484964a86451e86dcf04be9bd8c0d76ee04f081rossberg@chromium.org// found in the LICENSE file. 4486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org 5486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org#ifndef V8_PROPERTY_DETAILS_INL_H_ 6486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org#define V8_PROPERTY_DETAILS_INL_H_ 7486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org 8196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/conversions.h" 9196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/objects.h" 10196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/property-details.h" 11196eb601290dc49c3754da728dc58700dff2de1bmachenbach@chromium.org#include "src/types.h" 12486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org 13486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.orgnamespace v8 { 14486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.orgnamespace internal { 15486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org 16d06b9264b1c886fc80a100e9915cf8ae07fdb4e5machenbach@chromium.orgRepresentation Representation::FromType(Type* type) { 17d06b9264b1c886fc80a100e9915cf8ae07fdb4e5machenbach@chromium.org DisallowHeapAllocation no_allocation; 18d06b9264b1c886fc80a100e9915cf8ae07fdb4e5machenbach@chromium.org if (type->Is(Type::None())) return Representation::None(); 19d06b9264b1c886fc80a100e9915cf8ae07fdb4e5machenbach@chromium.org if (type->Is(Type::SignedSmall())) return Representation::Smi(); 20d06b9264b1c886fc80a100e9915cf8ae07fdb4e5machenbach@chromium.org if (type->Is(Type::Signed32())) return Representation::Integer32(); 21d06b9264b1c886fc80a100e9915cf8ae07fdb4e5machenbach@chromium.org if (type->Is(Type::Number())) return Representation::Double(); 22d06b9264b1c886fc80a100e9915cf8ae07fdb4e5machenbach@chromium.org return Representation::Tagged(); 23d06b9264b1c886fc80a100e9915cf8ae07fdb4e5machenbach@chromium.org} 24d06b9264b1c886fc80a100e9915cf8ae07fdb4e5machenbach@chromium.org 25486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org} } // namespace v8::internal 26486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org 27486536df718553960f9700559e80e5b10b0d5994dslomov@chromium.org#endif // V8_PROPERTY_DETAILS_INL_H_ 28