0
I Use This!
Inactive

Commits : Listings

Analyzed about 11 hours ago. based on code collected 1 day ago.
May 16, 2023 — May 16, 2024
Commit Message Contributor Files Modified Lines Added Lines Removed Code Location Date
Implement backedge limiting, and blacklisting. Trace-extension is now in the same ballpark as the old version, performance-wise, but still lags somewhat. More... over 13 years ago
Now with working (but slow) trace extension. More... over 13 years ago
Add a basic implementation of trace extension. More... over 13 years ago
Stub out the beginnings of trace extension. Also, fix a bug where we weren't recording alternate iterations of loops. This is a net performance loss right now (since we're doing more tracing), but it should help in the future. More... over 13 years ago
Don't use names for the JIT'd functions. This will simplify things when we need to recompile functions. More... over 13 years ago
Add two new magic variables to the JIT, extension_root and extension_leaf. The JIT'd code will use these to communicate the nature of the side exit to the trace recorder so that it can begin trace extension. More... over 13 years ago
Fix a bug in code generation of '['. More... over 13 years ago
Micro-optimize record() a bit more. More... over 13 years ago
Get rid of the executed flag in favor of setting the mode directly from the compiled trace. This is another marginal performance improvement (from getting rid of a branch in record_simple), improving mandelbrot.b to 8.2s. Again, this is another babystep towards proper trace extension/recompilation. More... over 13 years ago
Use an explicit mode flag to indicate the tracer state. This is actually a slight performance win (0.5s) on mandelbrot.b, probably because it removes an indirect store from the hot path of BrainFTraceRecorder::record(). More... over 13 years ago
Be more aggressive about detecting hot traces. Also, introduce a synthetic opcode '0' to represent the common operation of zero'ing out a byte. We detect this idiom in the preprocessor and lower it to '0', which leads to much more efficient interpretation and codegen. More... over 13 years ago
Add a README. More... over 13 years ago
More comments. More... over 13 years ago
Fix comment. More... over 13 years ago
Rename BrainFDriver.cpp. More... over 13 years ago
Add a high-level block comment to this file. More... over 13 years ago
More comments. More... over 13 years ago
More cleanup + comments. More... over 13 years ago
Begin cleaning up and documenting code. More... over 13 years ago
Hoist the pass manager setup code. More... over 13 years ago
Eliminate some dead code, and use aggressive code generation. More... over 13 years ago
Working code generation for the direct threaded interpreter! bench.bf is now 0.7s, mandelbrot.b is now 11.9s. More... over 13 years ago
First attempt at getting the code generator working with the direct threaded interpreter. More... over 13 years ago
Re-enable the tracer, but continue to disable code generation. More... over 13 years ago
Activate the direct-threaded interpreter, and disable the tracer until it is compatible with it. More... over 13 years ago
Add direct threaded opcode implementations. Not connected to the driver yet. More... over 13 years ago
Preprocess the source file to strip comments, and to compute a static jump map which enables a less stupid implementation of '['. This improves bench.bf to 0.9s and mandbrot.b from 32s to 13s. More... over 13 years ago
Add a longer-running testcase. More... over 13 years ago
Use a more aggressive optimization list. Improves bench.bf to 1.3s. More... over 13 years ago
Didn't mean to enable this. More... over 13 years ago