aboutsummaryrefslogtreecommitdiff
path: root/src/boot/me/trans.ml
Commit message (Collapse)AuthorAgeFilesLines
* Fix nested patterns in rustbootTim Chevalier2011-04-281-16/+34
| | | | | | | | | | The code for taking pattern-bound variables was being interspersed with pattern code, so that if a nested pattern failed partway through, a variable would be taken but never dropped (because the drop code is inside the block representing the action for the pattern). For example, in the pattern foo(?i, bar(some[t](_)), _), if the scrutinee was foo(x, bar(none[t]), y), the variable i would be taken but never dropped. The patch fixes this bug.
* Overhaul logging system in runtimeMarijn Haverbeke2011-04-191-4/+4
| | | | | | | | | | | | | | See https://github.com/graydon/rust/wiki/Logging-vision The runtime logging categories are now treated in the same way as modules in compiled code. Each domain now has a log_lvl that can be used to restrict the logging from that domain (will be used to allow logging to be restricted to a single domain). Features dropped (can be brought back to life if there is interest): - Logger indentation - Multiple categories per log statement - I possibly broke some of the color code -- it confuses me
* replace error logging with log_err in stdlib and rustcMarijn Haverbeke2011-04-191-2/+4
|
* Add log_err to rustbootMarijn Haverbeke2011-04-191-8/+11
|
* Change rust_vec to have a 16-byte header, to 16-byte-align vec-body data. ↵Graydon Hoare2011-04-021-3/+5
| | | | Major perf win.
* Another go at changing compile-command, this time using RBUILD env var.Graydon Hoare2011-03-251-1/+1
|
* Revert "Bulk-edit compile commands in emacs chatter to point to assumed ↵Graydon Hoare2011-03-251-1/+1
| | | | | | build/ dir off src root." This reverts commit 846f2e2ba994268725f38c36fa12f1a09f21615c.
* Bulk-edit compile commands in emacs chatter to point to assumed build/ dir ↵Graydon Hoare2011-03-251-1/+1
| | | | off src root.
* Switch rustboot from element-wise copying to take+drop+memcpy. Un-XFAIL ↵Graydon Hoare2011-03-111-98/+74
| | | | size-and-align.rs for rustc.
* Fix seemingly un-noticed thinko in structural copying code in rustboot.Graydon Hoare2011-03-101-1/+1
|
* Add ABI tagging to crates, adjust rustc output and runtime stack-frame setup ↵Graydon Hoare2011-02-221-0/+4
| | | | so access to argv works.
* Guard a bunch more logging calls. Cut 10s off rustc compile time.Graydon Hoare2011-01-121-5/+6
|
* Guard unguarded log calls that snuck in. Shave 5s off building rustc.Graydon Hoare2011-01-111-3/+5
|
* Recursively genericize types and spread across glue. Saves 1mb size, 8s ↵Graydon Hoare2011-01-111-16/+7
| | | | compile time on rustc.
* Out-of-line all drop glue. Shaves 50kb from rustc.Graydon Hoare2011-01-111-11/+1
|
* Make rustboot fn/obj drops generic; cuts 300kb size, 10s compile time off rustc.Graydon Hoare2011-01-111-0/+16
|
* Add code to fail on non-exhaustive alt matching. Fix all cases this picked ↵Graydon Hoare2010-12-011-1/+8
| | | | up in rustc.
* rustboot: Say when a binary operator is unimplemented rather than asserting ↵Patrick Walton2010-11-191-2/+7
| | | | in trans
* Isolate while-header bug to minimal testcase, fix in rustboot, remove ↵Graydon Hoare2010-11-191-32/+46
| | | | workaround in rustc.
* Update frame logic to be compatible with SysV x86 ABI. Improves diagnostics.Graydon Hoare2010-11-161-4/+9
|
* Support a special const-value refcount, use it for const strings.Graydon Hoare2010-11-091-15/+41
|
* Encode and decode tag types in dwarf properly. Add list module to std. Shift ↵Graydon Hoare2010-10-151-55/+78
| | | | rustc to use std.util.option. Fix various dependent bugs. Closes #73.
* Fix mem += mem bug in vec-append.Graydon Hoare2010-10-141-2/+2
|
* Fetch typarams from the outermost item frame, when inside an iter-block. One ↵Graydon Hoare2010-10-131-29/+51
| | | | less crash in rustc.
* Fix horribly embarassing signedness bug in backend, plus related regressions.Graydon Hoare2010-10-121-3/+9
|
* Git index wins again.Graydon Hoare2010-10-121-3/+5
|
* Changes to make rustboot compile on OCaml 3.12Graydon Hoare2010-10-121-3/+3
|
* Remove obsolete comment, issue was fixed with last checkin.Graydon Hoare2010-10-101-3/+0
|
* Teach bind to actually bind typarams, as it claims to.Graydon Hoare2010-10-101-56/+91
|
* Subject copying code to inline heuristic, cut 30kb from rustc.Graydon Hoare2010-10-091-10/+31
|
* Actually do what I meant to in the inline threshold. Don't drink and code. ↵Graydon Hoare2010-10-091-4/+4
| | | | Cut rustc by 50kb.
* Elide mark and sever glue in -minimal mode.Graydon Hoare2010-10-091-2/+9
|
* More type-fold caches, shave another second off compile time.Graydon Hoare2010-10-091-3/+1
|
* Implement a -minimal mode prologue, cut 100kb from rustc.Graydon Hoare2010-10-081-2/+2
|
* Quad counters are revealing. Move drops out-of-line, cut 200kb from rustc.Graydon Hoare2010-10-081-103/+168
|
* Add quad-counting system.Graydon Hoare2010-10-081-9/+75
|
* More fold caches, cut rustc compile time by 60% again.Graydon Hoare2010-10-081-1/+4
|
* Add -lpath mechanism for logging only a subset of a pass (by module-path prefix)Graydon Hoare2010-10-081-20/+16
|
* Add -minimal mode to rustboot that skips emitting code that's broken or ↵Graydon Hoare2010-10-051-12/+22
| | | | unneeded for rustc. Shrink rustc by 300kb. Back under 1mb.
* Better backpointer logic.Graydon Hoare2010-10-051-4/+22
|
* Fix bug in bind thunks failing top drop unbound args; add test and adjust ↵Graydon Hoare2010-09-301-0/+16
| | | | rustc to use bind again.
* Drop slots on block exits even when blocks have no statements. Part way to ↵Graydon Hoare2010-09-301-37/+73
| | | | fixing bind leakage in rustc.
* implemented break for while-loop caseOr Brostovski2010-09-301-3/+15
| | | | | | | | | | | | | | ast.ml - added break and cont statements item.ml - added break and cont statements lexer.mll - added break and cont statements token.ml - added break and cont statements trans.ml - implemented the break statement for the while-loop case - replaced hash table accesses with get_stmt_depth where needed type.ml = added break and cont statements typestate.ml - implemented the break statement for the while-loop case - added shorthand filter_live_block_slots walk.ml - added break and cont statements while-with-break.rs - code for testing while loops
* Patchwork of attempted fixes to effect system and gc system; eventually give ↵Graydon Hoare2010-09-291-21/+34
| | | | up and disable it entirely in the runtime. Will need extensive reworking.
* Fix linear for loops on strings to not hit trailing null.Graydon Hoare2010-09-221-3/+12
|
* Implement preliminary form of structured compare. No boxes, vectors or ↵Graydon Hoare2010-09-211-75/+179
| | | | strings yet.
* Kill residual dead code in Trans.iter_tag_parts. Shaves a couple kb off rustc.Graydon Hoare2010-09-211-1/+11
|
* Skip 0-ary tag ctors in Trans.iter_tag_parts. Rustc loses 150kb.Graydon Hoare2010-09-211-11/+17
|
* Bind pattern slots with ?, drop parens from 0-ary tag constructors, ↵Graydon Hoare2010-09-201-10/+27
| | | | translate 0-ary constructors as constants. Rustc loses ~300kb.
* When translating vec-append, delay destination string's null-byte-accounting ↵Roy Frostig2010-09-201-45/+43
| | | | length decrement until the destination string has already been resized. Closes #163.