# value bytes of error codes

Nick Ingolia (ningolia@neon.ci.lexington.ma.us)
Fri, 29 Mar 1996 06:45:30 PST

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    On Thu, 28 Mar 1996, Don Schwarz wrote:

    > On Thu, 28 Mar 1996 slayer@kaiwan.com wrote:
    >
    > > I was just wondering why something like value_bytes(E_PERM) returns 0. Do
    > > error values take up any space in the database? If so, how much?
    > >
    > My guess would be because the compiler takes care of allocating the memory
    > for errors, integers, etc. as opposed to lists and strings which the MOO
    > allocates and frees itself.  So yes, integers and errors do take up space.
    > On disk, they just take up the amount of space it takes to print
    > them (1 character for '5', 6 characters for '123456', etc) but in memory, I
    > believe all integers take up 32 bits, and errors take 8, but I'm just
    > guessing, I haven't actually checked the code.
    >                                                                --Dark_Owl
    >
    	An error in memory is part of a Var structure, which contains a
    union of, among other things, a char *, so the Var struct is as large as
    a char *--generally 4 bytes--plus the size of the type field, which may
    be 2 bytes, but will effectively be 4 bytes on many systems due to struct
    alignment on 4-byte word bounderies...

    --Nick Ingolia

    ningolia@[oxygen|neon|stu].ci.lexington.ma.us
    ingolia@molbio.mgh.harvard.edu