guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: i know -- let's play bridge!


From: Tom Lord
Subject: Re: i know -- let's play bridge!
Date: Sat, 3 Aug 2002 20:55:41 -0700 (PDT)

        > I think there are some other players who suffer a
        > disabilitating lack of trust that would make that possible, though,
        > and I am beyond exhaustion at trying to win them over.... at least
        > that's my (repeated and extensive) experience.)


First: dammit tb -- shut up.  I really want to say "bye" here on some
pithy note about how to allocate tags.  Don't drag me into politics on
this list.

Second: have you ever had a conversation with a bunch of people who
aren't wage slaves where it's painfully apparent that they are trying
to evaluate whether you can be trusted with a public spotlight that
they control?  While your family is starving and suffering and being
agreeable to such assholes is your apparent best chance?

Sorry developer's list --- tb just knows how to push my buttons.


-t


!       The Heap Type Tag Spec File

  -*-*-

* Location Tags

  This file is part of the source code for the Hackerlab C library.
  It's translated to C by the awk program "./tags.awk".

  A value of of type `scm_location_tag' holds a tag value
  (`enum scm_location_tag') that describes the physical type 
  of some location.

  A value of type `scm_location_storage' is a value of type
  `scm_location_tag' tagged with an `enum scm_location_arity'.  The
  tag indicates whether the location contains a single value or a
  pointer to a dynamic array of (homogenously typed) values.

  The type `scm_location_desc' is a `scm_location_storage_type'
  tagged with `enum scm_location_protection'.  The tag describes
  whether and under what conditions the location may be read and
  written.  Note that this is a tripple-tagged value:  when decoded,
  it yields another tagged value (using two disjoint sets of tags).
  When that second value is decoded, the final result is yet another
  tag value (in yet another disjoint set): the data type stored at
  the lcoation.

  `scm_location_storage' fits (exactly) in 8 bits.


*> heap-tags tags scm_location_desc
**: decodes-to scm_location_storage
**> split-tag protection 2
***> tag opaque 
***> tag guarded
***> tag read_only
***> tag public

*> tags scm_location_storage
**: decodes-to scm_location_type
**> split-tag arity 1
***> tag cell
***> tag array

*> tags scm_location_type
**: decodes-to t_uint
**> split-tag id 5

***> tag t_uint8
***> tag t_int8
***> tag t_uint16
***> tag t_int16
***> tag t_uint32
***> tag t_int32
***> tag t_uint64
***> tag t_int64
***> tag scm_float32
***> tag scm_float64
***> tag scm_u
***> tag scm_i
***> tag scm

***> tag unused_loc_0
***> tag unused_loc_0
***> tag unused_loc_0


***> tag unused_loc_0
***> tag unused_loc_0
***> tag unused_loc_0
***> tag unused_loc_0

***> tag unused_loc_0
***> tag unused_loc_0
***> tag unused_loc_0
***> tag unused_loc_0

***> tag unused_loc_0
***> tag unused_loc_0
***> tag unused_loc_0
***> tag unused_loc_0

***> tag unused_loc_0
***> tag unused_loc_0
***> tag unused_loc_0
***> tag unused_loc_0



* Structure Tags

  A simple physical strucutre type is described 
  by an array of location tags (roughly one for each field)
  plus two parameters: alignment and allocation strategy.

  Alignment is a power of two that establishes the grid
  on which fields are aligned when in contiguous
  memory.

  The allocation strategy is: 

        _inline_ for a flat object.
        _handle_ for a separately resizable object
        _pow2_array_ for a 
                 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]