Changeset 5a801444
- Timestamp:
- Apr 11, 2019, 9:48:23 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 0e54654
- Parents:
- ab3a69c
- Location:
- doc
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/bibliography/pl.bib
rab3a69c r5a801444 7304 7304 } 7305 7305 7306 @article{SysVABI, 7307 keywords = {System V ABI}, 7308 contributer = {a3moss@uwaterloo.ca}, 7309 title={System {V} application binary interface}, 7310 author={Matz, Michael and Hubicka, Jan and Jaeger, Andreas and Mitchell, Mark}, 7311 journal={AMD64 Architecture Processor Supplement, Draft v0}, 7312 volume={99}, 7313 year={2013} 7314 } 7315 7306 7316 % T 7307 7317 -
doc/theses/aaron_moss_PhD/phd/generic-types.tex
rab3a69c r5a801444 350 350 Similarly, the layout function can only safely be called from a context where the generic type definition is visible, because otherwise the caller does not know how large to allocate the array of member offsets. 351 351 352 The C standard does not specify a memory layout for structs, but the POSIX ABI for x86 \cite{POSIX08} does; this memory layout is common for C implementations, but is a platform-specific issue for porting \CFA{}.352 The C standard does not specify a memory layout for structs, but the System V ABI \cite{SysVABI} does; this memory layout is common for C implementations, but is a platform-specific issue for porting \CFA{}. 353 353 This algorithm, sketched below in pseudo-\CFA{}, is a straightforward mapping of consecutive fields into the first properly-aligned offset in the !struct! layout; layout functions for !union! types omit the offset array and simply calculate the maximum size and alignment over all union variants. 354 354 Since \CFACC{} generates a distinct layout function for each type, constant-folding and loop unrolling are applied.
Note: See TracChangeset
for help on using the changeset viewer.