Commit Graph
120 Commits
Author SHA1 Message Date
Bob Nystrom 9188c00bc0 Start adding navigation to the docs. 2013-12-01 09:54:51 -08:00
Bob Nystrom d2e82d8967 Clean up parsing a bit. 2013-12-01 00:04:46 -08:00
Bob Nystrom 60c97b5c2f Make sure we don't go over the maximum number of locals. 2013-11-30 18:51:27 -08:00
Bob Nystrom 88852960ca Handle local variable shadowing. 2013-11-30 18:28:01 -08:00
Bob Nystrom 74c414937c Add JS version of binary tree benchmark. 2013-11-29 20:25:00 -08:00
Bob Nystrom f6c9848706 Ignore scratch script. 2013-11-29 16:20:44 -08:00
Bob Nystrom edb9032052 Get binary_trees benchmark working.
Wren is actually doing well in it:

wren      mean: 1.9441 median: 1.9428 std_dev: 0.0260
lua       mean: 3.5992 median: 3.6033 std_dev: 0.0156
python    mean: 3.6667 median: 3.7097 std_dev: 0.1340
ruby      mean: 1.3941 median: 1.3914 std_dev: 0.0091
2013-11-29 16:19:13 -08:00
Bob Nystrom ce89dd9c2f Fix compiling constructors. 2013-11-29 16:17:43 -08:00
Bob Nystrom 8c9ce024ee Move debug code into separate module. 2013-11-29 16:17:33 -08:00
Bob Nystrom b390bdf604 Clean up constructor tests. 2013-11-29 15:21:36 -08:00
Bob Nystrom 325bb281a5 Allow 16 arguments, and handle going over that correctly. 2013-11-29 15:08:27 -08:00
Bob Nystrom 5f1d5cfa85 Do not allow fields outside of classes. 2013-11-29 10:53:56 -08:00
Bob Nystrom 1b353e9380 Make pinned list a linked list instead of hardcoded array. 2013-11-29 09:18:13 -08:00
Bob Nystrom 715fecdc7c Rename files and add some docs. 2013-11-28 08:11:50 -08:00
Bob Nystrom 9d9f9c11ca Clean up "primitive" code. 2013-11-28 08:00:55 -08:00
Bob Nystrom 1fc9fe131d Clean up value code. 2013-11-27 20:00:03 -08:00
Bob Nystrom c2f4345af4 Remove stale TODO. 2013-11-27 11:34:35 -08:00
Bob Nystrom 1bfa252a70 List.removeAt(). 2013-11-27 10:20:32 -08:00
Bob Nystrom f8ded27376 List.clear and List.insert(). 2013-11-26 23:11:11 -08:00
Bob Nystrom 56449cdbef Reorganize tests. 2013-11-26 22:52:00 -08:00
Bob Nystrom 897a396599 List.add() method. 2013-11-26 18:02:10 -08:00
Bob Nystrom eaeec01dc6 Get inheritance and core classes more correctly wired up. 2013-11-26 07:52:37 -08:00
Bob Nystrom af694053a5 Add JavaScript to benchmark runner. 2013-11-26 07:50:12 -08:00
Bob Nystrom af6b73208c Start defining actual API for embedding Wren. 2013-11-25 07:47:02 -08:00
Bob Nystrom f9b2aed4dd Unify to a single reallocation function. 2013-11-25 07:14:51 -08:00
Bob Nystrom 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
Bob Nystrom c99f4d7834 Subscript operator for lists. 2013-11-24 19:08:46 -08:00
Bob Nystrom 7a343f2ecf List literals. 2013-11-24 13:38:31 -08:00
Bob Nystrom f9b008e283 Subscript operators! 2013-11-24 10:45:07 -08:00
Bob Nystrom e3e1f7f3d4 Start working on string escapes. 2013-11-23 21:00:47 -08:00
Bob Nystrom acf9cc024f Remove some unneeded casts. 2013-11-23 17:35:11 -08:00
Bob Nystrom a5bbe81280 Start to get instance fields working. 2013-11-23 14:55:05 -08:00
Bob Nystrom ba676f1231 Work on docs a little bit. 2013-11-23 14:52:50 -08:00
Bob Nystrom e4b5613780 ASCII art graph of benchmark results! 2013-11-22 09:17:45 -08:00
Bob Nystrom b30c30e1e3 Get a basic benchmark runner going. 2013-11-22 08:55:22 -08:00
Bob Nystrom d19f9f1b9b Add a license. 2013-11-21 21:41:44 -08:00
Bob Nystrom d332eed048 Start hacking on web site. 2013-11-21 21:38:36 -08:00
Bob Nystrom 359481f260 More thinking about calls. 2013-11-21 21:38:21 -08:00
Bob Nystrom 3b0e962a05 Named, user-defined constructors. 2013-11-20 07:20:16 -08:00
Bob Nystrom 32144dae20 Clean up compiler a bunch. 2013-11-19 20:54:47 -08:00
Bob Nystrom 32d41e2d54 Simplify lexer a bit. 2013-11-19 20:19:02 -08:00
Bob Nystrom fe48113054 Logical "||" operator. 2013-11-19 18:24:58 -08:00
Bob Nystrom 4266facfda Add IS_FALSE for non-NaN-tag values. 2013-11-19 07:36:59 -08:00
Bob Nystrom 6b87a8400f "&&" operator. 2013-11-19 07:35:25 -08:00
Bob Nystrom e614e092ed Start getting block scope working. 2013-11-18 09:19:03 -08:00
Bob Nystrom 4d23d58bf1 While statements. 2013-11-17 22:38:59 -08:00
Bob Nystrom 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
Bob Nystrom 0c1ce91e80 Make String#contains return a bool. 2013-11-17 10:04:02 -08:00
Bob Nystrom 0181f69dfb Get rid of special handling for call methods. 2013-11-17 09:02:57 -08:00
Bob Nystrom ee504435f7 Real hello world example. 2013-11-17 08:55:04 -08:00