Commit Graph
100 Commits
Author SHA1 Message Date
Bob Nystrom f6cf78c175 Assert instead of silently handling freed VM. 2015-03-20 08:00:52 -07:00
Bob Nystrom 1883ae81cd Merge branch 'free-vm' of git://github.com/verpeteren/wren into verpeteren-free-vm 2015-03-20 07:56:32 -07:00
Bob Nystrom 5e1ddb7db5 Hash entire string. 2015-03-19 07:38:05 -07:00
Bob Nystrom 30367fcdd2 Merge branch 'master' of https://github.com/munificent/wren 2015-03-19 07:29:07 -07:00
Bob Nystrom 1b6a2684e2 Do a little clean-up/reorganization on wren_value.h. 2015-03-19 07:28:53 -07:00
Bob Nystrom 3974d8101d Merge pull request #223 from bjorn/master
Fixed the source locations used by script/generate_builtins.py
2015-03-18 07:55:18 -07:00
Bob Nystrom a3abf31da0 Merge pull request #222 from bjorn/sequence_contains
Moved List.contains to Sequence.contains, added tests and docs
2015-03-18 07:54:55 -07:00
Bob Nystrom 3383d06ca3 Merge pull request #213 from RickGlimmer/master
Fix unreachable links for IE11 (edge mode)
2015-03-18 07:52:31 -07:00
Bob Nystrom be11d09bd8 Store hash code in strings.
Makes string equality and string map keys much faster.
Also did some other general string clean-up.
2015-03-18 07:09:03 -07:00
Bob Nystrom b80ba29b0e Merge branch 'master' of https://github.com/munificent/wren 2015-03-17 07:01:09 -07:00
Bob Nystrom b4fa4acce1 Handle empty string map keys. 2015-03-17 07:00:54 -07:00
Bob Nystrom b9f034b398 Merge pull request #224 from bjorn/list_insert_args
Reverse the argument order of List.insert
2015-03-16 09:18:59 -07:00
Bob Nystrom c3f43e3f70 Merge pull request #226 from bncastle/master
Fix Visual Studio project so it builds
2015-03-16 09:16:54 -07:00
Bob Nystrom 91a23da5b0 Move CLI script running to a separate file.
(This is set up to reuse this code for API tests.)
2015-03-16 07:42:45 -07:00
Bob Nystrom aedf9a8571 Move CLI file loading code to separate file. 2015-03-16 07:22:52 -07:00
Bob Nystrom 09f266c23f Fix typo in wrenDumpObject().
Thanks, Michel!
2015-03-16 07:05:40 -07:00
Bob Nystrom cd0a0da36f Add some missing arguments. 2015-03-15 23:17:08 -07:00
Bob Nystrom 9764b165b4 Try different expansion for CONST_STRING macro. 2015-03-15 23:07:20 -07:00
Bob Nystrom 034ab3c2af Clean up code for creating strings in the VM. 2015-03-15 22:32:20 -07:00
Bob Nystrom b7081c36b4 Update metrics script to new file layout. 2015-03-15 22:07:06 -07:00
Bob Nystrom 287c611260 Clean up debug dump code. 2015-03-15 10:09:43 -07:00
Bob Nystrom 1616df63d2 Clean up file loading code. 2015-03-15 10:09:22 -07:00
Bob Nystrom 92c17e81f6 Reorganize source files.
This makes it clear which files are part of the VM (i.e. the Wren library)
and which are part of the CLI. Makes a directory for the latter so it has
some room to grow.

This probably totally broke the VS project. If you can fix that, send me
a PR!
2015-03-14 15:00:50 -07:00
Bob Nystrom 64eccdd9be Reorganize tests and benchmark scripts.
Mainly to get rid of one top level directory. But this will
also be useful when there are tests of the embedding API.
2015-03-14 12:45:56 -07:00
Bob Nystrom e2a72282a1 Move gh-pages directory under build/. 2015-03-14 12:19:03 -07:00
Bob Nystrom d1b48a7213 Ugh, fix test script. 2015-03-14 09:49:55 -07:00
Bob Nystrom 5459993857 Add Class.supertype.
Thanks, Michel!
2015-03-14 09:48:45 -07:00
Bob Nystrom 26fb5eb525 Simplify WrenVM initialization. 2015-03-14 09:36:27 -07:00
Bob Nystrom 34213ddc8a Clean up debug trace macros.
Thanks, Michel!
2015-03-14 09:29:17 -07:00
Bob Nystrom db9e5737f6 Handle malformed UTF-8 output in test runner.
Thanks, Michel!
2015-03-14 08:47:31 -07:00
Bob Nystrom f7849244a8 Tighten up operator table a bit. 2015-03-13 07:56:47 -07:00
Bob Nystrom 69567c5eb5 Control string representation of infinity. 2015-03-13 07:35:10 -07:00
Bob Nystrom 3ac7d80af5 Cast size_t arguments to printf(). 2015-03-13 07:27:11 -07:00
Bob Nystrom 46aaff03bc Clean up debug header preamble. 2015-03-13 07:26:42 -07:00
Bob Nystrom 3ff56d48ee Normalize path handling on Windows in test script. 2015-03-13 07:26:23 -07:00
Bob Nystrom e6f3ee9191 Merge branch 'master' of https://github.com/munificent/wren 2015-03-13 07:25:12 -07:00
Bob Nystrom 860616244e Tweak precedence table styles a bit. 2015-03-13 07:24:45 -07:00
Bob Nystrom 06cea4f275 Merge branch 'ops-doc' of git://github.com/hachibu/wren into hachibu-ops-doc 2015-03-12 07:27:31 -07:00
Bob Nystrom 48163087de Merge pull request #215 from gsmaverick/spelling-fix
Fix spelling on error.
2015-03-12 07:26:29 -07:00
Bob Nystrom b4e029fbf3 Pass char* to error(). 2015-03-11 07:31:18 -07:00
Bob Nystrom 72baefe497 Clean up some outdated TODOs. 2015-03-07 14:10:34 -08:00
Bob Nystrom b36b71d3c6 Merge pull request #212 from soveran/io-read-eof
Change IO.read to return null on EOF
2015-03-07 13:47:07 -08:00
Bob Nystrom 98c5e04f9a Clean up internal Map API.
Thanks, Michel!
2015-03-07 12:41:18 -08:00
Bob Nystrom 05ba7d9fbf Add fiber features needed for to write an external scheduler:
- Allow yielding the main fiber. This exits the interpreter. The
  host can resume it by calling a method.
- Allow getting a reference to the current fiber.
2015-03-07 12:32:11 -08:00
Bob Nystrom 7aacf02a00 Tweak num methods a bit. 2015-03-06 22:52:42 -08:00
Bob Nystrom 632a01d584 Merge branch 'num_methods' of git://github.com/MarcoLizza/wren into MarcoLizza-num_methods 2015-03-06 22:43:02 -08:00
Bob Nystrom d35e3c917c Add count to Sequence. 2015-03-06 07:01:02 -08:00
Bob Nystrom d722adddff Use more idiomatic loops in delta_blue. 2015-03-04 07:16:56 -08:00
Bob Nystrom 2b66880bb3 Simplify marking. 2015-03-04 07:08:48 -08:00
Bob Nystrom 90aa43450b Merge branch 'master' of git://github.com/bjorn/wren into bjorn-master 2015-03-03 07:23:47 -08:00
Bob Nystrom 87739e8730 Merge branch 'master' into mingw-fix 2015-03-03 07:20:43 -08:00
Bob Nystrom 28005ed47a Refactor number parsing a bit. 2015-03-03 07:17:56 -08:00
Bob Nystrom 794d09ef15 Fix typo. 2015-03-02 07:32:09 -08:00
Bob Nystrom de80f1fd65 Add DEALLOCATE() macro. 2015-03-02 07:31:46 -08:00
Bob Nystrom 4cf23218f9 "Native" -> "primitive". Yay consistency! 2015-03-02 07:24:04 -08:00
Bob Nystrom 208ae9f7f2 Handle cc not being defined by MSYS for MinGW. 2015-03-01 09:25:48 -08:00
Bob Nystrom 20b0188125 Merge branch 'master' of https://github.com/munificent/wren 2015-03-01 08:40:17 -08:00
Bob Nystrom ff9091cf63 Tweak static field docs a bit. 2015-03-01 08:39:53 -08:00
Bob Nystrom b2a7c5737c Merge branch 'static-fields-doc' of git://github.com/hachibu/wren into hachibu-static-fields-doc 2015-03-01 08:34:11 -08:00
Bob Nystrom 3168d240a6 Merge pull request #203 from hachibu/authors
authors: add myself to authors
2015-03-01 08:33:06 -08:00
Bob Nystrom 537cce1caa Merge branch 'master' of https://github.com/munificent/wren 2015-03-01 08:20:55 -08:00
Bob Nystrom e72eedc6f5 Merge pull request #202 from bjorn/fib
Made the fib benchmark a bit faster
2015-02-28 16:51:41 -08:00
Bob Nystrom a025e01971 Clean up some dumb mistakes. 2015-02-28 13:51:19 -08:00
Bob Nystrom 876c2d9208 Add API to call Wren method from C code.
This gives you a simple, efficient way to invoke a method on
some Wren object from C code, passing in arguments.

The basic API is in place and works, but there's still lots to do:

- Lots of error handling.
- Documentation.
- Tests!
2015-02-28 13:31:15 -08:00
Bob Nystrom 6b05610c6a Correctly count range size in GC. 2015-02-28 09:09:57 -08:00
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