1 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 2 * vim: set ts=8 sts=2 et sw=2 tw=80: 3 * This Source Code Form is subject to the terms of the Mozilla Public 4 * License, v. 2.0. If a copy of the MPL was not distributed with this 5 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ 6 7 #ifndef wasm_TypedObject_inl_h 8 #define wasm_TypedObject_inl_h 9 10 #include "wasm/TypedObject.h" 11 12 #include "gc/ObjectKind-inl.h" 13 14 /* static */ allocKindForRttValue(RttValue * rtt)15js::gc::AllocKind js::InlineTypedObject::allocKindForRttValue(RttValue* rtt) { 16 size_t nbytes = rtt->size(); 17 MOZ_ASSERT(nbytes <= MaxInlineBytes); 18 MOZ_ASSERT(rtt->kind() == wasm::TypeDefKind::Struct); 19 20 return gc::GetGCObjectKindForBytes(nbytes + sizeof(TypedObject)); 21 } 22 23 #endif // wasm_TypedObject_inl_h 24