summary refs log tree commit diff stats
path: root/compiler/destroyer.nim
Commit message (Collapse)AuthorAgeFilesLines
* gc: destructors is beginning to work (#10483)Andreas Rumpf2019-01-291-2/+12
| | | | | | | | | | | | | | | | * kochdocs.nim: code cleanup * docgen: nicer indentation * parser.nim: code cleanup * fixes #10458 * make tests green again * make =destroy mixins * gc:destructors: produced C code is almost working * --gc:destructors simple program compiles (but leaks memory) * gc:destructors make examples compile in C++ mode * destructors: string implementation bugfixes * strs.nim: minor code cleanup * destructors: builtin seqs are beginning to work * remove debugging helpers
* isLastRead regression fix (#10463)cooldome2019-01-281-4/+6
| | | | | | * fixes #10462 * add a test
* use the lastRead analysis; it's correct by construction, not a mess of ↵Andreas Rumpf2019-01-231-2/+2
| | | | special cases and seems to be just as fast as the old algorithm
* destroyer.nim: code cleanupAndreas Rumpf2019-01-231-67/+0
|
* make tests green againAndreas Rumpf2019-01-231-50/+81
|
* control flow graphs: introduce 'join' points for easy analyses based on ↵Andreas Rumpf2019-01-231-1/+3
| | | | abstract interpretation
* --gc:destructors: baby stepsAndreas Rumpf2018-12-151-11/+12
|
* destructor_hotfixAndrii Riabushenko2018-12-101-1/+1
|
* minor correctionAndrii Riabushenko2018-12-101-2/+1
|
* reduce changesAndrii Riabushenko2018-12-091-1/+1
|
* Remove not used codeAndrii Riabushenko2018-12-091-4/+1
|
* remove not used codeAndrii Riabushenko2018-12-091-8/+0
|
* use control flow graph for sink paramsAndrii Riabushenko2018-12-091-40/+15
|
* fixAndrii Riabushenko2018-12-081-0/+1
|
* Double sink checksAndrii Riabushenko2018-12-081-7/+59
|
* style improvementsAndrii Riabushenko2018-12-081-4/+3
|
* remove dropbits in favour of destructive movesAndrii Riabushenko2018-12-081-55/+16
|
* improve testAndrii Riabushenko2018-12-071-5/+9
|
* more undoAndrii Riabushenko2018-12-071-1/+1
|
* undo more stuffAndrii Riabushenko2018-12-071-24/+37
|
* collapse to tables into oneAndrii Riabushenko2018-12-051-9/+7
|
* add commentAndrii Riabushenko2018-12-051-1/+2
|
* remove debugAndrii Riabushenko2018-12-051-2/+0
|
* remove debug statementsAndrii Riabushenko2018-12-051-9/+9
|
* implement everythingAndrii Riabushenko2018-12-051-56/+45
|
* add testAndrii Riabushenko2018-12-051-14/+19
|
* add array constructorsAndrii Riabushenko2018-11-301-7/+13
|
* reduce changesAndrii Riabushenko2018-11-301-80/+80
|
* Improve approachAndrii Riabushenko2018-11-301-22/+23
|
* revert debug statementsAndrii Riabushenko2018-11-291-5/+6
|
* merge develAndrii Riabushenko2018-11-291-5/+6
|\
| * gc:destructors further progressAndreas Rumpf2018-11-291-6/+7
| |
* | fix spacingAndrii Riabushenko2018-11-291-1/+1
| |
* | move movesAndrii Riabushenko2018-11-291-61/+130
|/
* Destructors: more moves for tuples (#9808)cooldome2018-11-271-0/+5
|
* Destructors: move into nkTupleConstr and move on tuple unpacking (#9776)cooldome2018-11-221-1/+24
|
* Remove a hack in the destroyer impl (#9479)LemonBoy2018-10-241-4/+7
| | | Generate nkHiddenAddr nodes w/ proper type attached.
* DFA: implement exception handling properlyAndreas Rumpf2018-10-141-1/+2
|
* destructors: optimize more assignments into moves; also fixes #9294Andreas Rumpf2018-10-121-7/+78
|
* fixes #9263Andreas Rumpf2018-10-101-62/+80
|
* Field checks for everybody (#8957)LemonBoy2018-10-091-1/+1
| | | | | | | | | | | | | | | | | | | | | * Field checks for JS backend * Clean nkCall nodes with no arguments Generating a nkEmpty in place of no arguments makes no sense form the AST point of view and also trips up the VM codegen. * Field checks for VM backend * Test case for #6612 This patchset fixes #6612 * Add test case for LHS double evaluation * Prevent LHS double-eval for JS backend * Prevent double evaluation in VM backend
* don't require an implementation for procs marked with .error; activate the ↵Araq2018-09-291-18/+29
| | | | move optimizer for destructors
* make tests green againAndreas Rumpf2018-09-241-4/+4
|
* destroyer pass: adaptations for the new destructor based runtimeAndreas Rumpf2018-07-271-2/+4
|
* WIP: strings/seqs based on destructorsAndreas Rumpf2018-07-171-10/+15
|
* baby steps for incremental compilationAndreas Rumpf2018-05-301-1/+1
|
* refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-4/+4
| | | | around explicitly
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
|
* remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-3/+5
|
* transf and vmgen compile againAndreas Rumpf2018-05-121-23/+26
|