lua

A copy of the Lua development repository
Log | Files | Refs | README

commit c80c7a49fdbd5c6540bd49ef47925edd9eed8c99
parent 212095a601ee68e99065b553f7b6bc216056d82e
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date:   Wed, 21 Feb 2018 13:27:45 -0300

details (comments)

Diffstat:
Mlobject.h | 45++++++++++++++++++++++++++-------------------
1 file changed, 26 insertions(+), 19 deletions(-)

diff --git a/lobject.h b/lobject.h @@ -1,5 +1,5 @@ /* -** $Id: lobject.h,v 2.133 2018/01/28 15:13:26 roberto Exp roberto $ +** $Id: lobject.h,v 2.134 2018/02/20 16:52:50 roberto Exp roberto $ ** Type definitions for Lua objects ** See Copyright Notice in lua.h */ @@ -88,12 +88,6 @@ struct GCObject { - -/* -** Tagged Values. This is the basic representation of values in Lua, -** an actual value plus a tag with its type. -*/ - /* ** Union of all Lua values */ @@ -107,8 +101,12 @@ typedef union Value { } Value; -#define TValuefields Value value_; lu_byte tt_ +/* +** Tagged Values. This is the basic representation of values in Lua: +** an actual value plus a tag with its type. +*/ +#define TValuefields Value value_; lu_byte tt_ typedef struct TValue { TValuefields; @@ -301,14 +299,6 @@ typedef struct TValue { - -/* -** {====================================================== -** types and prototypes -** ======================================================= -*/ - - typedef union StackValue { TValue val; } StackValue; @@ -322,6 +312,12 @@ typedef StackValue *StkId; /* index to stack elements */ /* +** {================================================================== +** Strings +** =================================================================== +*/ + +/* ** Header for string value; string bytes follow the end of this structure ** (aligned according to 'UTString'; see next). */ @@ -363,6 +359,8 @@ typedef union UTString { /* get string length from 'TValue *o' */ #define vslen(o) tsslen(tsvalue(o)) +/* }================================================================== */ + /* ** {================================================================== @@ -404,7 +402,6 @@ typedef struct Udata { /* }================================================================== */ - /* ** {================================================================== ** Prototypes @@ -480,6 +477,11 @@ typedef struct Proto { /* }================================================================== */ +/* +** {================================================================== +** Closures +** =================================================================== +*/ /* ** Upvalues for Lua closures @@ -529,14 +531,17 @@ typedef union Closure { #define getproto(o) (clLvalue(o)->p) +/* }================================================================== */ + /* +** {================================================================== ** Tables +** =================================================================== */ - /* -** Nodes for Hash tables. A pack of two TValue's (key-value pairs) +** Nodes for Hash tables: A pack of two TValue's (key-value pairs) ** plus a 'next' field to link colliding entries. The distribution ** of the key's fields ('key_tt' and 'key_val') not forming a proper ** 'TValue' allows for a smaller size for 'Node' both in 4-byte @@ -609,6 +614,8 @@ typedef struct Table { */ #define setdeadkey(n) (keytt(n) = LUA_TTABLE, gckey(n) = NULL) +/* }================================================================== */ + /*