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