~ubuntu-branches/ubuntu/vivid/nqp/vivid

« back to all changes in this revision

Viewing changes to src/6model/reprs/CStruct.h

  • Committer: Package Import Robot
  • Author(s): Alessandro Ghedini
  • Date: 2012-06-08 14:57:52 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20120608145752-ziumy2rhxboeuf3r
Tags: 0.1~2012.04.1-1
* New upstream release
* Bump required parrot version
* Refresh patches
* Bump upstream copyright years for dyncall
* Use dh_parrot debhelper plugin

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
    PMC *name_map;
33
33
} CStructNameMap;
34
34
 
 
35
/* TODO: Better description here. */
35
36
/* Attribute location flags. */
36
37
#define CSTRUCT_ATTR_IN_STRUCT 0
37
38
#define CSTRUCT_ATTR_CSTRUCT   1
38
39
#define CSTRUCT_ATTR_CARRAY    2
39
40
#define CSTRUCT_ATTR_CPTR      3
40
41
#define CSTRUCT_ATTR_MASK      3
 
42
/* Bits to shift a slot position to make room for CSTRUCT_ATTR_*. */
 
43
#define CSTRUCT_ATTR_SHIFT     2
41
44
 
42
45
/* The CStruct REPR data contains info we need to do allocations, look up
43
46
 * attributes and so forth. */
72
75
     * for attributes that are reference types. */
73
76
    STable **flattened_stables;
74
77
 
 
78
    /* For reference type members, we cache the relevant type objects.
 
79
     * Flattened types have NULL here. */
 
80
    PMC **member_types;
 
81
 
75
82
    /* A table mapping attribute names to indexes (which can then be looked
76
83
     * up in the offset table). Uses a final null entry as a sentinel. */
77
84
    CStructNameMap *name_to_index_mapping;