Lines Matching full:are

12 clang, improving performance on constructs which are executed inefficiently
24 one to directly evaluate expressions as they are compiled, without
25 generating bytecode (``EvalEmitter``). All functions are compiled to
26 bytecode, while toplevel expressions used in constant contexts are directly
34 description of opcodes, can be found in ``Opcodes.td``. The opcodes are
50 implement integral types which are required by the target, but are not
87 records (structs and classes). Unions are represented as records, except
89 fields are kept until they are reactivated and overwritten.
91 (``__attribute((vector_size(16)))``) are treated as arrays.
99 ``InterpFrame`` objects storing the call frames. Frames are built by
116 Blocks contain data interleaved with metadata. They are allocated either
119 containing the local variables of a function. Blocks are associated with a
130 Static blocks are never deallocated, but local ones might be deallocated
131 even when there are live pointers to them. Pointers are only valid as
132 long as the blocks they point to are valid, so a block with pointers to
134 scope. Since the frame is destroyed on function exit, such blocks are
136 interpreter itself, not the frame. Reads and writes to these blocks are
138 pointer goes out of scope, dead blocks are also deallocated.
145 which are not trivial (``Pointer``, ``RealFP``, etc.)
154 all pointers to it are invalidated, emitting the appropriate diagnostics when
169 fully initialised. When all fields are initialised, the map is deallocated
172 Array elements are stored sequentially, without padding, after the pointer
179 allocation site. Descriptors and elements are stored sequentially in the
181 Records are laid out identically to arrays of composites: each field and base
196 Inline descriptors are filled in by the `CtorFn` of blocks, which leaves storage
202 Descriptors are generated at bytecode compilation time and contain information
212 Pointers, implemented in ``Pointer.h`` are represented as a tagged union.
256 On the target, ``&a`` and ``&a.b.x`` are equal. So are ``&a.c[0]`` and
258 distinguished since the are all allowed to address distinct range of
263 be derived to the object are illustrated in the following diagram:
282 Array elements are identified by the ``Offset`` field of pointers,