Commit Graph

27 Commits

Author SHA1 Message Date
Roberto Raggi fc6f96166f Refactored Object 2012-05-25 13:43:30 +02:00
Roberto Raggi a5229e821d Propagate exceptions 2012-05-25 11:55:50 +02:00
Roberto Raggi 86183598a3 Throw exceptions 2012-05-23 18:50:24 +02:00
Roberto Raggi 945c988b45 Initial support for Array objects. 2012-05-21 09:52:55 +02:00
Roberto Raggi e8bd50dd95 Initial support for inplace assignments. 2012-05-18 22:04:26 +02:00
Roberto Raggi 086e775da6 Some refactoring and some initial work on the Date object. 2012-05-18 10:10:36 +02:00
Roberto Raggi a34f11737f Simplified the compiler. 2012-05-16 19:00:31 +02:00
Roberto Raggi 41d4ac6294 Refactored the stack frames.
The new layout should simplify the use of static context
environments while compiling the code.
2012-05-16 16:29:07 +02:00
Roberto Raggi 37290dc90e checkpoint 2012-05-16 11:58:07 +02:00
Roberto Raggi 35c89b6f0a Create the activation only when needed. 2012-05-15 10:02:21 +02:00
Roberto Raggi b0f2345a47 Skip TEMPs with negative index.
That is, TEMP nodes with negative index are a bit special, we
use them to optimize the argument passing.
2012-05-14 17:58:33 +02:00
Roberto Raggi c996f53bed Store the actual arguments in TEMPs with negative indices.
This should make it possible to optimize function calls.
2012-05-14 14:34:36 +02:00
Roberto Raggi fdcefa8616 Do a quick scan of the global code. 2012-05-14 10:50:13 +02:00
Roberto Raggi a97bc91c7f Fix nested functions 2012-05-14 10:43:36 +02:00
Roberto Raggi 14ce5bb389 Fix constructors and some work on the String prototype. 2012-05-10 12:14:20 +02:00
Roberto Raggi 210c00ed35 Some more progress on function calls 2012-05-09 13:30:22 +02:00
Roberto Raggi 5282ff06df Initial support for object literals 2012-05-09 11:05:51 +02:00
Roberto Raggi 84df5088b8 Fix nx representation of call expressions. 2012-05-08 14:54:05 +02:00
Roberto Raggi f71ce49202 Optimize local arguments 2012-05-08 14:28:32 +02:00
Roberto Raggi acc9293bd1 Initialize the return address 2012-05-08 10:32:33 +02:00
Roberto Raggi 0cd210f35a Remove the register allocator.
It needs to be done in a different way
2012-05-08 08:58:17 +02:00
Roberto Raggi dc716f8d37 Add naive support for function calls. 2012-05-07 17:38:17 +02:00
Roberto Raggi 0103f7bd2d Move the instruction selection pass. 2012-05-07 14:46:37 +02:00
Roberto Raggi 6d0e807ebf Simplify liveness. 2012-05-07 10:46:49 +02:00
Roberto Raggi 81825142d4 Put the code in namespaces. 2012-05-04 15:28:04 +02:00
Roberto Raggi 663a045cc2 Generate code for unary expressions. 2012-05-04 13:43:22 +02:00
Roberto Raggi 47062ff244 Initial import 2012-05-03 17:08:41 +02:00