Commit Graph

66 Commits

Author SHA1 Message Date
Danny Yoo
cd7b8904f5 lifting up closure constants 2012-03-02 00:58:29 -05:00
Danny Yoo
05b1d9de86 symbol table to reduce allocation of symbols 2012-02-29 15:30:48 -05:00
Danny Yoo
e9d3c207f7 fixing indentation, enabling comments in emitted source 2012-02-29 12:37:09 -05:00
Danny Yoo
d3ab24d6c8 adding while loops if we can trivially detect them. 2012-02-28 20:08:20 -05:00
Danny Yoo
40b616e9ea minor: optimizing the splice a little more for code generation 2012-02-27 14:39:40 -05:00
Danny Yoo
cb745f18b7 micro-optimization: replaced undefined with void(0), and tried to keep environment array dense by using explicit stack push instead of assigning to the length argument 2012-02-27 13:25:41 -05:00
Danny Yoo
c8faf78ffb renaming il to try matching dissertation 2012-02-17 12:46:20 -05:00
Danny Yoo
6d035504af trying to fix benchmark for list-length, which is failing badly 2012-02-10 13:27:26 -05:00
Danny Yoo
1dd452732b turning off inlining: bug 2011-11-30 23:54:22 -05:00
Danny Yoo
ced1d2ba67 correcting typo in the trampoline detection. Thanks to Campbell Hewett for the bug report. 2011-11-21 16:09:51 -05:00
Danny Yoo
95fba70f4d trying to fight the code expansion 2011-11-02 15:27:38 -04:00
Danny Yoo
fbcbe4fa6f addressing issue 50 with regards to ie compatibility 2011-09-29 17:20:56 -04:00
Danny Yoo
b8cfd43a50 multiple value return optimizations 2011-09-16 17:04:15 -04:00
Danny Yoo
0991a0d74b mvr initialization should now optimize away the common case 2011-09-16 16:22:26 -04:00
Danny Yoo
f2c3dc3fe1 threading state about all the basic blocks throughout assembly, so we can do some tricks. 2011-09-16 16:09:46 -04:00
Danny Yoo
3c6439ab26 dead code 2011-09-16 15:33:48 -04:00
Danny Yoo
429bab013e Merge remote-tracking branch 'origin/master' 2011-09-16 11:50:35 -04:00
Danny Yoo
f2cc5b421f continuing to fight compatiblity issues 2011-09-15 14:00:33 -04:00
Danny Yoo
a107d83827 renamed proc to p 2011-09-14 23:50:02 -04:00
Danny Yoo
e0f2502b18 renaming control to c 2011-09-14 23:42:24 -04:00
Danny Yoo
cb592460f0 removing spaces 2011-09-14 23:02:50 -04:00
Danny Yoo
d4bca31359 continuing to chase after low-hanging fruit. 2011-09-14 22:55:12 -04:00
Danny Yoo
f51438ad64 optimization: following blocks with single goto statements down as far as you can statically 2011-09-14 22:44:13 -04:00
Danny Yoo
0e00041739 machine env renamed to e. 2011-09-14 22:30:14 -04:00
Danny Yoo
298ade1752 renaming multipleValueReturn to mvr 2011-09-14 21:22:46 -04:00
Danny Yoo
b2610e496e context expected becomes a superinstruction 2011-09-09 16:19:33 -04:00
Danny Yoo
6d3a945478 renaming callsBeforeTrampoline to cbt 2011-09-09 16:01:00 -04:00
Danny Yoo
690e3a423c check trampoline on function entry and function exit. 2011-09-09 15:46:43 -04:00
Danny Yoo
13bdc38418 fixing the detection of function header names 2011-09-09 15:38:13 -04:00
Danny Yoo
f782010ede checking for trampoline only at function returns. 2011-09-09 15:20:51 -04:00
Danny Yoo
420df4165c continuing to shrink code 2011-09-09 15:08:39 -04:00
Danny Yoo
0de37fae86 continuing to shrink code down. Eliminating the use of simulator in test suite; I don't think we'll need the simulator any more. 2011-09-09 14:19:56 -04:00
Danny Yoo
9f978f5592 reducing code size by renaming MACHINE to M, RUNTIME to RT 2011-09-08 17:18:15 -04:00
Danny Yoo
11799d3a9c renaming RUNTIME references to RT to see if that shortens code. 2011-09-08 17:10:16 -04:00
Danny Yoo
8d0df44458 continuing to try cleaning up 2011-09-06 16:56:34 -04:00
Danny Yoo
948afb930c continuing to rip out whitespace 2011-09-06 16:00:33 -04:00
Danny Yoo
468722ee28 continuing to do some constant folding 2011-09-06 15:54:44 -04:00
Danny Yoo
8f94a19897 continuing to try to clean up the generated code. 2011-09-06 15:18:56 -04:00
Danny Yoo
8209cbbf8b turning off the current-emit-debug thing for now; it's in hotspot position 2011-09-04 20:53:51 -04:00
Danny Yoo
28dbb9a74a continuing to optimize 2011-09-03 20:05:22 -04:00
Danny Yoo
df20eb4ee5 working on reducing cost of assembly 2011-09-03 19:59:11 -04:00
Danny Yoo
ff796e9ff0 separating the command line from its functions 2011-09-02 10:12:50 -04:00
Danny Yoo
0ff8fd1a61 traced that the external module invokation was introducting one more call-back into the success continuation of the trampoline. Ugh. 2011-08-08 13:59:38 -04:00
Danny Yoo
7373649112 trying to reduce code bloat: in the jump, if we're already emitting a block, reuse it 2011-08-08 11:20:40 -04:00
Danny Yoo
f3afee28e9 correcting merge issues 2011-08-08 11:04:53 -04:00
Danny Yoo
0d92fe0961 Merge branch 'master' into inlining
Conflicts:

	compiler/compiler.rkt
	js-assembler/assemble.rkt
	tests/test-parse-bytecode.rkt
2011-08-08 11:00:01 -04:00
Danny Yoo
1026dff4cb moving primitives to separate module, moved some functions as methods of the machine 2011-08-07 20:26:11 -04:00
Danny Yoo
4c541b006c removing call to optimize-basic-blocks 2011-08-05 16:54:35 -04:00
Danny Yoo
4dbabb820f still debuggin 2011-08-05 16:50:14 -04:00
Danny Yoo
f0c65d761c getting into loops; this might not be a good sign... 2011-08-05 15:49:18 -04:00