1
0
forked from Mirror/wren
Commit Graph

1795 Commits

Author SHA1 Message Date
ece3f3b83b Add optional support for computed gotos.
In my benchmark, this gives like a 5% speed boost. But I'm not sure
it's taking full advantage of it. The XCode project is using LLVM,
which has support for it, but may not optimize it as much as GCC.

There are also some GCC flags I may need to set (-fno-gcse?) to get the
best perf on GCC. Needs more investigation.
2013-11-24 21:48:47 -08:00
c99f4d7834 Subscript operator for lists. 2013-11-24 19:08:46 -08:00
7a343f2ecf List literals. 2013-11-24 13:38:31 -08:00
f9b008e283 Subscript operators! 2013-11-24 10:45:07 -08:00
e3e1f7f3d4 Start working on string escapes. 2013-11-23 21:00:47 -08:00
acf9cc024f Remove some unneeded casts. 2013-11-23 17:35:11 -08:00
a5bbe81280 Start to get instance fields working. 2013-11-23 14:55:05 -08:00
ba676f1231 Work on docs a little bit. 2013-11-23 14:52:50 -08:00
e4b5613780 ASCII art graph of benchmark results! 2013-11-22 09:17:45 -08:00
b30c30e1e3 Get a basic benchmark runner going. 2013-11-22 08:55:22 -08:00
d19f9f1b9b Add a license. 2013-11-21 21:41:44 -08:00
d332eed048 Start hacking on web site. 2013-11-21 21:38:36 -08:00
359481f260 More thinking about calls. 2013-11-21 21:38:21 -08:00
3b0e962a05 Named, user-defined constructors. 2013-11-20 07:20:16 -08:00
32144dae20 Clean up compiler a bunch. 2013-11-19 20:54:47 -08:00
32d41e2d54 Simplify lexer a bit. 2013-11-19 20:19:02 -08:00
fe48113054 Logical "||" operator. 2013-11-19 18:24:58 -08:00
4266facfda Add IS_FALSE for non-NaN-tag values. 2013-11-19 07:36:59 -08:00
6b87a8400f "&&" operator. 2013-11-19 07:35:25 -08:00
e614e092ed Start getting block scope working. 2013-11-18 09:19:03 -08:00
4d23d58bf1 While statements. 2013-11-17 22:38:59 -08:00
64509a4f61 NaN tagging!
This plus moving some variables into locals in the interpreter loop
gets the fib benchmark within 25% of Lua!
2013-11-17 14:20:15 -08:00
0c1ce91e80 Make String#contains return a bool. 2013-11-17 10:04:02 -08:00
0181f69dfb Get rid of special handling for call methods. 2013-11-17 09:02:57 -08:00
ee504435f7 Real hello world example. 2013-11-17 08:55:04 -08:00
bc5415e486 Move value/object stuff to separate files. 2013-11-16 17:51:30 -08:00
37fdf88bbe Clean up a bunch of stuff. 2013-11-16 17:41:09 -08:00
2af4cb6169 Get rid of "no value" value type. 2013-11-16 11:54:42 -08:00
8f6f546ab3 Bump default heap size. 2013-11-16 11:43:40 -08:00
462ea3903a Unboxed numbers. 2013-11-16 11:41:29 -08:00
e6f085b7c4 Get rid of boxed null and bools. 2013-11-16 11:35:59 -08:00
01b61c83d7 First phase of changing object representation.
This code is full of hacks and isn't the right representation, but
it gets it so that Value is no longer just a raw Obj*.
2013-11-16 11:26:32 -08:00
1266578a4e Add trivial fib benchmark. 2013-11-14 20:57:56 -08:00
cfb5193ce8 Function parameters. 2013-11-14 18:25:28 -08:00
167e174480 User-defined operators. 2013-11-14 10:59:28 -08:00
f6eadbe3f4 Get rid of mixfix methods (for now at least). 2013-11-14 09:21:58 -08:00
a24f29002d Better parsing error messages. 2013-11-13 23:06:53 -08:00
5ac4087d0c Some design notes. 2013-11-13 17:09:55 -08:00
85d9bffa08 Block comments. 2013-11-13 17:09:47 -08:00
27a652e565 Start sketching out inheritance. 2013-11-13 11:05:03 -08:00
509f62fdad Ditch man file. 2013-11-13 07:15:10 -08:00
9d4599f6e6 Unary operators and variable assignment. 2013-11-13 07:10:52 -08:00
7e2c200e0d Garbage collection! 2013-11-12 08:32:35 -08:00
0339bcdeca Use object conversion macros consistently. 2013-11-10 14:21:14 -08:00
915ecb4e58 Static methods. 2013-11-10 11:46:13 -08:00
2f241e2225 Metrics for tests. 2013-11-10 11:12:38 -08:00
f19dd64f8b Floating point number literals. 2013-11-09 21:32:57 -08:00
3cdabcb8c7 "%" operator for numbers. 2013-11-09 21:01:18 -08:00
a1f10786ef "this" expressions. 2013-11-09 15:42:23 -08:00
0cc5524249 Generate correct code for locals. 2013-11-09 11:38:01 -08:00