blob: ddfc55e28a9808f69d7c577e9864ca8302858ba0 [file]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
#pragma once
namespace Js
{
template<typename T>
struct AuxArray
{
uint32 count;
T elements[];
AuxArray(uint32 count) : count(count)
{
}
static size_t OffsetOfElements() { return offsetof(AuxArray<T>, elements); }
void SetCount(uint count) { this->count = count; }
size_t GetDataSize() const { return sizeof(AuxArray) + sizeof(T) * count; }
};
typedef AuxArray<Var> VarArray;
struct FuncInfoEntry
{
uint nestedIndex;
uint scopeSlot;
};
typedef AuxArray<FuncInfoEntry> FuncInfoArray;
}