aboutsummaryrefslogtreecommitdiffstats
path: root/sys/align.go
Commit message (Collapse)AuthorAgeFilesLines
* sys, pkg/compiler: move padding computation to compilerDmitry Vyukov2017-09-041-96/+0
| | | | This makes types constant during execution, everything is precomputed.
* pkg/compiler: move bitfield marking from sysDmitry Vyukov2017-09-041-41/+0
|
* pkg/compiler: check and generate typesDmitry Vyukov2017-09-021-2/+7
| | | | | | Move most of the logic from sysgen to pkg/compiler. Update #217
* sys: export struct/union attributesDmitry Vyukov2017-08-311-4/+4
| | | | | Export struct/union attributes so that they can be filled in by a different package.
* sys, prog: switch values to to uint64Dmitry Vyukov2017-08-191-4/+4
| | | | | | | | | | We currently use uintptr for all values. This won't work for 32-bit archs. Moreover in some cases we use uintptr but assume that it is always 64-bits (e.g. in encodingexec). Switch everything to uint64. Update #324
* sys: generate arrays instead of mapsDmitry Vyukov2017-05-291-1/+1
| | | | | | | | Compilation of large maps is super slow. Generate arrays instead and converet to maps at runtime. Reduces build time from ~40s to ~2s. Update #182
* prog, sys: fix padding varlen structsAndrey Konovalov2017-01-191-25/+9
|
* prog, sys: correctly calculate size of varlen structsAndrey Konovalov2017-01-181-12/+28
|
* sys: align structs with respect to align attributesAndrey Konovalov2017-01-181-1/+2
|
* prog: add bitfields to templatesAndrey Konovalov2017-01-171-9/+60
| | | | | | Now it's possible to use `int32:18` to denote a bitfield of size 18 as a struct field. This fixes #72.
* sys: always use pointers to typesDmitry Vyukov2016-11-111-5/+5
| | | | | | | | Currently we store most types by value in sys.Type. This is somewhat counter-intuitive for C++ programmers, because one can't easily update the type object. Store pointers to type objects for all types. It also makes it easier to update types, e.g. adding paddings.
* Emit BufferBlob for array[int8]Andrey Konovalov2016-10-041-1/+6
|
* sys: add padding to structs againDmitry Vyukov2016-09-291-33/+17
| | | | | | | | Struct padding was accidentially lost after: 852e3d2eae98a913b7ec91822ba4dc61059a6955 Restore it. Now with tests. Fixes #78
* Allow range sized arraysAndrey Konovalov2016-09-191-1/+1
|
* sys: support recursive structsDmitry Vyukov2016-09-051-3/+3
| | | | | | A struct can have a pointer to itself directly or indirectly. Currently it leads to inifinite recursion when generating descriptions. Fix this.
* sys: slighly improve diagnostics for incorrect syscall descriptionsDmitry Vyukov2016-01-281-1/+5
|
* sys: add packed/aligned struct attributesDmitry Vyukov2015-12-301-0/+87