Bob Nystrom
f472a301a2
Don't trigger GC on deallocation.
2015-02-27 21:41:59 -08:00
Bob Nystrom
59796bcf5d
Document benchmark runner.
2015-02-27 21:34:07 -08:00
Bob Nystrom
c27a094882
Reorganize superclass validation a bit.
2015-02-27 08:08:27 -08:00
Bob Nystrom
46713a5bb3
Merge branch 'issue-70' of git://github.com/verpeteren/wren into verpeteren-issue-70
2015-02-27 07:41:25 -08:00
Bob Nystrom
effa69f64e
Tweak docs a bit.
2015-02-27 07:37:58 -08:00
Bob Nystrom
7cb5de388d
Merge branch 'doc-site-core-num' of git://github.com/hachibu/wren into hachibu-doc-site-core-num
2015-02-27 07:30:58 -08:00
Bob Nystrom
8408e862a3
Clean up the test script a bit.
2015-02-27 07:22:27 -08:00
Bob Nystrom
07c7b49681
Use full signature in method debug name.
2015-02-27 07:10:44 -08:00
Bob Nystrom
5d116153dd
Simplify parameterList().
2015-02-27 06:51:37 -08:00
Bob Nystrom
96ceaa528b
Allow empty argument list methods.
...
- Compile them as calls and definitions.
- Use them for call(), clear(), run(), try(), and yield().
- Update the docs.
2015-02-26 23:08:36 -08:00
Bob Nystrom
1aaa8cff52
Use more comprehensive signature strings for methods.
2015-02-26 21:56:15 -08:00
Bob Nystrom
e007bb7f11
Make embedding API provide full method signature.
2015-02-26 07:44:45 -08:00
Bob Nystrom
22edfd7e7f
Add note to comment.
2015-02-26 07:37:10 -08:00
Bob Nystrom
6a10d9740c
Merge pull request #187 from MarcoLizza/bitwise_precedence
...
Bitwise precedence
2015-02-25 07:14:31 -08:00
Bob Nystrom
fc2ed6f6e1
Don't allow trailing non-number characters when parsing a string to a number.
2015-02-25 07:07:54 -08:00
Bob Nystrom
4b88292ec1
Merge branch 'num-from-string' of git://github.com/gsmaverick/wren into gsmaverick-num-from-string
2015-02-25 06:53:12 -08:00
Bob Nystrom
516808f6d2
Fix typo in docs.
2015-02-25 06:49:42 -08:00
Bob Nystrom
6e680f89bf
Merge branch 'master' of https://github.com/munificent/wren
2015-02-24 22:08:57 -08:00
Bob Nystrom
b5e5f80d8c
Fix some signed-unsigned mismatches.
2015-02-24 21:56:33 -08:00
Bob Nystrom
0242e43ed5
Make sure UINT32_MAX is available even in gcc C++ builds.
2015-02-24 21:09:04 -08:00
Bob Nystrom
d0923f8fe1
Make sure UINT32_MAX is defined.
2015-02-24 20:26:39 -08:00
Bob Nystrom
963ebb237d
Install gcc-multilib so 32-bit C libraries are available on 64-bit Travis VMs.
2015-02-24 20:26:24 -08:00
Bob Nystrom
03595703e2
Merge pull request #185 from MarcoLizza/baseline_in_benchmark_dir
...
Fixed benchmark baseline-file creation path.
2015-02-24 19:49:29 -08:00
Bob Nystrom
5f0a2ba21c
Just use a normal relative path to import relative to the cwd.
2015-02-24 19:47:17 -08:00
Bob Nystrom
dc0dda3993
Merge branch 'wren_cpp_warnings' of git://github.com/MarcoLizza/wren into MarcoLizza-wren_cpp_warnings
2015-02-24 19:43:12 -08:00
Bob Nystrom
f296850242
Build all configurations on Travis.
2015-02-24 19:32:46 -08:00
Bob Nystrom
422801a64a
Allow executing multiple chunks of code in the same module.
...
This means successive calls to wrenInterpret() will run in
the same context. Allows variables to span calls in the REPL.
2015-02-23 07:02:27 -08:00
Bob Nystrom
a9d9362e29
Fix some typos in fn docs.
2015-02-22 12:34:32 -08:00
Bob Nystrom
0dda174855
A bit more compiler clean up.
2015-02-22 11:04:43 -08:00
Bob Nystrom
0f9e15833f
Unify argument parsing. Fix #24 .
2015-02-22 10:42:49 -08:00
Bob Nystrom
a8a5805895
Fix test script.
2015-02-22 10:42:21 -08:00
Bob Nystrom
bd97c244a5
Document removeAt() return value. Fix #176 .
2015-02-22 10:26:31 -08:00
Bob Nystrom
d6ec8c114e
Don't crash if script path has no path separator. Fix #181 .
2015-02-22 10:22:21 -08:00
Bob Nystrom
037a2bdb66
Massive Makefile clean up!
...
- "make all" builds all combinations of configurations
- Binaries are built to "bin"
- (For convenience, the release interpreter also goes in the top level dir)
- Libraries are built to "lib"
This will also make it easier to support building and testing other
configurations like Nan tagging versus union, computed goto, etc.
2015-02-22 10:19:23 -08:00
Bob Nystrom
3802609644
Store benchmark baseline file in benchmark/.
2015-02-21 13:49:02 -08:00
Bob Nystrom
b45d3689de
Clean up some comments.
2015-02-21 00:09:55 -08:00
Bob Nystrom
44c547176b
Fix quotes in module docs.
2015-02-20 06:54:03 -08:00
Bob Nystrom
a4fa3027c0
Fix cyclic import docs.
2015-02-19 06:38:13 -08:00
Bob Nystrom
bdb8634743
Tweak style.
2015-02-19 06:32:46 -08:00
Bob Nystrom
ae88ee539d
Merge branch 'master' of https://github.com/munificent/wren
2015-02-18 07:55:38 -08:00
Bob Nystrom
ca14dffab4
First pass at docs for modules.
2015-02-18 07:55:09 -08:00
Bob Nystrom
8ec89740c5
Merge pull request #172 from MarcoLizza/more_bitwise
...
More bitwise operands
2015-02-18 06:51:13 -08:00
Bob Nystrom
b2ca4c0381
Allow zero or multiple imported names.
2015-02-17 07:32:33 -08:00
Bob Nystrom
31304ac2bb
Merge branch 'master' into modules
2015-02-17 07:22:21 -08:00
Bob Nystrom
c6043d3c81
Use bytecode to import variable, instead of builtin function.
2015-02-17 07:21:51 -08:00
Bob Nystrom
314c39e430
Use a native bytecode to load a module, instead of a weird builtin function on String.
2015-02-16 22:45:58 -08:00
Bob Nystrom
c2c576b27c
Get rid of builtin function for importing.
2015-02-16 10:21:29 -08:00
Bob Nystrom
5b1447882b
Move running the module fiber into C.
2015-02-16 10:16:42 -08:00
Bob Nystrom
36d100b8e4
Move module load failure into C.
2015-02-16 10:12:41 -08:00
Bob Nystrom
cbd0217072
Merge pull request #174 from MarcoLizza/IO_time
...
IO.time
2015-02-16 10:01:56 -08:00
Bob Nystrom
032c650e1f
Get rid of hash constants for singleton values.
2015-02-16 09:33:07 -08:00
Bob Nystrom
a44d479643
Basic import syntax.
2015-02-14 16:46:00 -08:00
Bob Nystrom
ffc770b4a7
Also clean Mac .dylibs.
2015-02-12 09:07:41 -08:00
Bob Nystrom
6ada5e0b24
Merge branch 'patch-1' of git://github.com/Phyllostachys/wren into Phyllostachys-patch-1
2015-02-12 09:06:37 -08:00
Bob Nystrom
b7cd8c755f
Make map deletion not soul-crushingly slow.
...
In cases where the hashtable had a large cluster (which can happen with lots of sequential numeric keys),
deletion would regress to near O(n).
Instead, this deletes by leaving a tombstone entry, similar to what Python, Lua, et. al. do.
2015-02-11 22:43:39 -08:00
Bob Nystrom
911d5e374f
Add benchmark for string map keys.
2015-02-11 22:41:59 -08:00
Bob Nystrom
2bad33fbc8
Rename a couple of things in the benchmark script.
2015-02-11 19:48:39 -08:00
Bob Nystrom
bc5a793c41
Split out the core and main modules.
...
- Implicitly import everything in core into every imported module.
- Test cyclic imports.
2015-02-11 10:06:45 -08:00
Bob Nystrom
2005e1e0a2
Add ".wren" to modules in the embedder.
2015-02-06 11:52:05 -08:00
Bob Nystrom
bb647d4247
Start getting module loading working.
...
Right now, it uses a weird "import_" method on String which
should either be replaced or at least hidden behind some syntax.
But it does roughly the right thing. Still lots of corner cases to
clean up and stuff to fix. In particular:
- Need to handle compilation errors in imported modules.
- Need to implicitly import all core and IO types into imported module.
- Need to handle circular imports.
(Just need to give entry module the right name for this to work.)
2015-02-06 07:01:15 -08:00
Bob Nystrom
30a5284338
Merge branch 'master' into modules
...
Conflicts:
src/wren_debug.c
src/wren_value.c
src/wren_value.h
2015-02-05 12:07:25 -08:00
Bob Nystrom
02600e2cb1
Get rid of main module field in WrenVM.
...
Instead, the main module is stored in the module map.
2015-02-05 12:03:19 -08:00
Bob Nystrom
4a19050416
Merge branch 'uint32_string' of git://github.com/MarcoLizza/wren into MarcoLizza-uint32_string
2015-02-04 20:28:27 -08:00
Bob Nystrom
55caae343b
Add "." to comments. :)
2015-02-04 20:26:29 -08:00
Bob Nystrom
ddd20c687e
Merge branch 'master' into MarcoLizza-8_bit_strings_tests
2015-02-04 20:25:12 -08:00
Bob Nystrom
878be6fb6b
Clean up wrenStringFind() a bit.
2015-02-04 20:23:50 -08:00
Bob Nystrom
ba4760331e
Merge branch 'replacing_strstr' of git://github.com/MarcoLizza/wren into MarcoLizza-replacing_strstr
2015-02-04 17:56:29 -08:00
Bob Nystrom
aa9cfffb34
Keep code within 80 columns.
2015-02-04 08:15:35 -08:00
Bob Nystrom
8f313bf4ec
Merge branch 'fixing_string_concatenation' of git://github.com/MarcoLizza/wren into MarcoLizza-fixing_string_concatenation
2015-02-04 08:12:50 -08:00
Bob Nystrom
ef84995598
Merge branch '8_bit_strings_tests' of git://github.com/MarcoLizza/wren into MarcoLizza-8_bit_strings_tests
2015-02-04 06:59:57 -08:00
Bob Nystrom
ed534b8165
Merge pull request #159 from MarcoLizza/null_char_escape
...
Adding '\0' escape sequence for null characters.
2015-02-04 06:57:42 -08:00
Bob Nystrom
6f26f542ea
Merge pull request #163 from MarcoLizza/memcpy_for_strings
...
Getting rid of "strcpy()/strncpy()" in favour of "memcpy()".
2015-02-04 06:57:17 -08:00
Bob Nystrom
74289d8e7f
Merge pull request #165 from MarcoLizza/gcc_constant_warning
...
Getting rid of constant unsigned error when compiling for C++ on GCC.
2015-02-04 06:55:44 -08:00
Bob Nystrom
abc43f18bc
Merge branch 'master' into shared-lib-makefile
2015-02-01 21:47:43 -08:00
Bob Nystrom
9917c16876
Fix un-Nan-tagging mode. Thanks, Michel Hermier!
2015-02-01 15:26:33 -08:00
Bob Nystrom
593e5c8b35
Clean up how flex arrays are allocated.
2015-02-01 15:12:37 -08:00
Bob Nystrom
98df1b2bd1
Add cast.
2015-01-31 10:54:27 -08:00
Bob Nystrom
970093299a
Merge branch 'symbol_table_optimization' of git://github.com/MarcoLizza/wren into MarcoLizza-symbol_table_optimization
2015-01-31 10:49:41 -08:00
Bob Nystrom
2ba8da7418
Merge branch 'master' into modules
2015-01-30 07:21:41 -08:00
Bob Nystrom
8e25aa646e
Remove unneeded conversion. Fix #148 .
2015-01-29 20:44:46 -08:00
Bob Nystrom
3bed04e0b9
Support clang/OS X shared libraries in the Makefile.
2015-01-28 19:50:53 -08:00
Bob Nystrom
f10058a704
Merge branch 'master' of https://github.com/munificent/wren
2015-01-28 19:19:19 -08:00
Bob Nystrom
0aa4d7c2bd
Fix crash when doing a lookup on an empty map.
2015-01-28 19:19:04 -08:00
Bob Nystrom
1101823666
Turn Module into an Obj.
2015-01-27 07:11:45 -08:00
Bob Nystrom
81dd7a7412
Merge pull request #143 from MarcoLizza/dropped_bitfields_usage
...
Bitfields usage
2015-01-27 07:06:18 -08:00
Bob Nystrom
83ad9abd73
Merge branch 'master' into modules
...
Conflicts:
src/wren_core.c
2015-01-26 21:55:41 -08:00
Bob Nystrom
699b453805
Fix ambiguous sequence point in dup.
2015-01-26 21:23:54 -08:00
Bob Nystrom
b3f556adba
Move globals out of VM and into a Module struct.
...
Functions store a reference to the module where they were
defined and load "module" variables from there.
Right now there's only one "main" module, but this is a step
in the right direction. Perf is down, though. :(
binary_trees - wren .......... 3026 0.33s 88.28% relative to baseline
delta_blue - wren .......... 7248 0.14s 94.32% relative to baseline
fib - wren .......... 2414 0.41s 88.08% relative to baseline
for - wren .......... 6753 0.15s 78.79% relative to baseline
method_call - wren .......... 6624 0.15s 100.03% relative to baseline
2015-01-26 07:45:21 -08:00
Bob Nystrom
b93ad5fae4
Merge branch 'range-equality' of git://github.com/gsmaverick/wren into gsmaverick-range-equality
2015-01-26 07:01:15 -08:00
Bob Nystrom
ed8e595f54
Get rid of bytecodes for list literals.
...
Just compile them to:
new List
.add(...)
.add(...)
...
Gets rid of some code in the interpreter loop, which is always good.
Also addresses the old limitation where a list literal could only have
255 elements.
2015-01-25 22:49:30 -08:00
Bob Nystrom
a9bd864c6b
More docs for maps.
2015-01-25 21:39:22 -08:00
Bob Nystrom
44db50e7ef
Don't rely on fallthrough.
2015-01-25 17:51:50 -08:00
Bob Nystrom
41d9ba9b3d
Merge branch 'hex-literals' of git://github.com/gsmaverick/wren into gsmaverick-hex-literals
2015-01-25 17:49:05 -08:00
Bob Nystrom
4579171afa
Add remove() to Map.
2015-01-25 17:42:36 -08:00
Bob Nystrom
0e6a90443e
Add containsKey() to Map, and validate key types.
2015-01-25 12:39:19 -08:00
Bob Nystrom
3061bdde7f
Start documenting maps and work on some other docs a bit.
2015-01-25 11:08:13 -08:00
Bob Nystrom
492c730e6f
Key and value iteration for maps. Also toString.
2015-01-25 10:27:38 -08:00
Bob Nystrom
251b623c65
Map "clear" method.
2015-01-25 08:39:44 -08:00
Bob Nystrom
e740a4c95a
Map literals!
2015-01-24 23:21:50 -08:00
Bob Nystrom
abe80e6d4b
Initial map implementation.
...
Still lots of methods missing and clean up and tests to do.
Also still no literal syntax.
But the core hash table code is there and working. The supported
key types are all, uh, supported.
2015-01-24 22:27:35 -08:00