mirror of
https://github.com/luau-lang/luau.git
synced 2025-01-05 19:09:11 +00:00
8fe95c9963
- TableOperations lint now includes a warning for table.create(N, {}) (which is likely a mistake since the table is shared by all entries) - Type checker now type checks #v when v is a union - Parser now rejects sources that consists of a single unfinished long comment - Work around significant MSVC 2022 performance regression, bringing it more or less in line with MSVC 2019 - Compiler now predicts array size for newly allocated tables when the table is filled in a short loop - Small improvements in compilation throughput (~2% faster) - Implement paged sweeper for GC which improves sweep throughput 2-3x and reduces memory consumption by 8 bytes per object (once it is stabilized we will see additional 8 bytes per object of savings) - Improve Repl Tab completion - Repl now supports -i (interactive mode to run code in context of a script's environment) and -On (to control optimization flags)
13 lines
557 B
C
13 lines
557 B
C
// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details
|
|
// This code is based on Lua 5.x implementation licensed under MIT License; see lua_LICENSE.txt for details
|
|
#pragma once
|
|
|
|
#include "lobject.h"
|
|
|
|
/* special tag value is used for user data with inline dtors */
|
|
#define UTAG_IDTOR LUA_UTAG_LIMIT
|
|
|
|
#define sizeudata(len) (offsetof(Udata, data) + len)
|
|
|
|
LUAI_FUNC Udata* luaU_newudata(lua_State* L, size_t s, int tag);
|
|
LUAI_FUNC void luaU_freeudata(lua_State* L, Udata* u, struct lua_Page* page);
|