Commit Graph
100 Commits
Author SHA1 Message Date
Bob Nystrom e42893fe4c Clean up macros and fix non-nan-tagged and non-computed-goto modes. 2015-07-19 10:16:27 -07:00
Bob Nystrom 1b27d556e0 Fix bug in test runner. 2015-07-19 09:33:00 -07:00
Bob Nystrom 214794db67 Fix a tiny typo. 2015-07-19 09:10:42 -07:00
Bob Nystrom fd637e46bc Fix a couple of style nits. 2015-07-18 14:17:39 -07:00
Bob Nystrom d91c06d18b Tweak IO library a bit:
- Reword some docs.
- Make IO.printAll() public.
- Require () on read.
2015-07-18 14:09:00 -07:00
Bob Nystrom ea2bad3272 Merge pull request #286 from BarabasGitHub/string_equals-py
Added string_equals.py to benchmarks
2015-07-18 11:21:49 -07:00
Bob Nystrom c095b72976 Reorganize community docs a bit. 2015-07-18 11:19:52 -07:00
Bob Nystrom 18165db204 Update Travis config to allow container-based builds. 2015-07-10 10:35:25 -07:00
Bob Nystrom 0ddaa2517c Merge branch 'fix-tests' 2015-07-09 08:09:19 -07:00
Bob Nystrom fa8ac84a8b Fix broken test runner (!).
If a test expected an error and found at least one, it would not fail
on any other expected errors that didn't occur.

Also, some tests were expecting a compile time error message even though
the test script doesn't validate those (yet).

The test function was getting monolithic, so I went ahead and split it
into a separate little class.
2015-07-09 08:06:33 -07:00
Bob Nystrom 8b445447e4 Merge pull request #281 from sbrl/master
Add myself to the AUTHORS and correct a small typo
2015-07-01 16:07:51 -07:00
Bob Nystrom a44e07deba Some minor doc cleanups and tweaks. 2015-07-01 08:11:10 -07:00
Bob Nystrom 70cc371379 Merge pull request #275 from sbrl/master
Document the IO class
2015-07-01 06:44:27 -07:00
Bob Nystrom 2387d4dc31 Grow the call frame array dynamically.
Previously, fibers had a hard-coded limit to how big their stack size
is. This limit exists in two forms: the number of distinct call frames
(basically the maximum call depth), and the number of unique stack
slots.

This fixes the first half of this by dynamically allocating the call
frame array and growing it as needed. This makes new fibers smallers
since they can start with a very small array. Checking and growing as
needed doesn't noticeably regress the perf on the other benchmarks, and
it makes a new fiber benchmark about 45% faster.

The stack array is still hardcoded, but that will be in another commit.
2015-07-01 00:00:25 -07:00
Bob Nystrom 18dcd3ce3d Reuse primitive for returning this.
Thanks, Michel!
2015-06-30 07:39:43 -07:00
Bob Nystrom 4a15653c66 Add isEmpty to Sequence.
Thanks, Michel and Thorbjørn!
2015-06-30 06:52:29 -07:00
Bob Nystrom ed6d7c5084 Implement toString directly on Class.
Thanks, Michel!
2015-06-28 15:33:37 -07:00
Bob Nystrom 1a87f52e9d Eliminate duplication between CODE_CALL and CODE_SUPER handling.
Also improves perf:

binary_trees - wren            106.96% relative to baseline
delta_blue - wren               99.84% relative to baseline
fib - wren                     114.97% relative to baseline
for - wren                     123.32% relative to baseline
method_call - wren             112.80% relative to baseline
map_numeric - wren             111.36% relative to baseline
map_string - wren               93.73% relative to baseline
string_equals - wren           106.15% relative to baseline
2015-06-28 10:58:48 -07:00
Bob Nystrom 080514cffb Tweak arguments to runInterpreter().
Thanks, Michel!
2015-06-27 08:56:52 -07:00
Bob Nystrom aa37bdc780 Include method name in block argument debug name. 2015-06-27 08:36:20 -07:00
Bob Nystrom bf730bb953 More tests for invalid code points. 2015-06-27 08:11:58 -07:00
Bob Nystrom 7baef81a4e Clean up a bit. 2015-06-26 23:01:07 -07:00
Bob Nystrom 8c538e4048 Merge branch 'leaks' of https://github.com/NomAnor/wren into NomAnor-leaks 2015-06-26 22:49:24 -07:00
Bob Nystrom 3196735f39 Add block arguments and operators to syntax example. 2015-06-26 22:14:32 -07:00
Bob Nystrom 8ce4879de5 Clean up getting modules.
Thanks, Michel!
2015-06-23 07:15:22 -07:00
Bob Nystrom 2c95ae2d2e Make "is" just another infix operator.
Thanks, Michel!
2015-06-19 07:58:07 -07:00
Bob Nystrom 327b40bba7 Remove unnecessary null checks before calling wrenMarkObject().
Thanks, Michel!
2015-06-18 07:52:05 -07:00
Bob Nystrom 291ddf3961 Merge pull request #271 from BarabasGitHub/vs-proj
Fixed project files for visual studio.
2015-06-18 07:37:58 -07:00
Bob Nystrom 73a2101505 Merge branch 'fix-super' 2015-06-02 07:33:48 -07:00
Bob Nystrom 3cdfaea797 Statically dispatch super() calls. Fix #250. 2015-06-02 07:33:39 -07:00
Bob Nystrom 08f0937f89 Fix NaN tagging diagrams. 2015-06-02 07:14:19 -07:00
Bob Nystrom 06feba4861 Merge branch 'master' into fix-super 2015-05-27 06:57:20 -07:00
Bob Nystrom d66556b713 Add API tests for returning null or numbers. 2015-05-24 10:04:24 -07:00
Bob Nystrom 6c135e9941 Show number of expectations in test output. 2015-05-24 09:45:52 -07:00
Bob Nystrom bbbc85cb66 Merge pull request #273 from munificent/api-test
Add infrastructure to test embedding API.
2015-05-24 09:29:25 -07:00
Bob Nystrom 7084d6bfd5 Add infrastructure to test embedding API. 2015-05-24 09:23:30 -07:00
Bob Nystrom 852c837435 Merge pull request #268 from zeckalpha/test-example
Run examples as tests. Would have prevented #266
2015-05-23 08:32:33 -07:00
Bob Nystrom a114f34a2a Remove outdated set example. Fix #266. 2015-05-20 07:07:47 -07:00
Bob Nystrom 16d5c4441c Merge branch 'master' of https://github.com/munificent/wren 2015-05-19 07:00:57 -07:00
Bob Nystrom 3be0a396c4 Remove unneeded line from Makefile. 2015-05-19 07:00:44 -07:00
Bob Nystrom 9ccefc6af3 Merge pull request #262 from lluchs/syntax-example
Add syntax example file
2015-05-19 06:58:12 -07:00
Bob Nystrom e861b86563 Revert 40897f3348.
It leaks memory in the case of runtime errors.
2015-05-19 06:50:17 -07:00
Bob Nystrom 8834dcfe1d Add (failing) tests. 2015-05-19 06:47:42 -07:00
Bob Nystrom be5a42dc22 Add function to grow a buffer by more than one element. 2015-05-05 06:54:13 -07:00
Bob Nystrom 40897f3348 Don't stackoverflow on recursive lists and maps. Fix #3. 2015-05-03 11:13:05 -07:00
Bob Nystrom 3f06553f7f Allow fibers as map keys. 2015-05-03 11:12:17 -07:00
Bob Nystrom fcf4197139 Add Object.same(_,_) to access built-in equality even for classes that may override ==.
Had to add a new metaclass for Object since it now has its own static method so we
can't just use Class as its metaclass. (We don't want *every* class to have a same(_,_)
static method.)
2015-05-01 07:55:28 -07:00
Bob Nystrom a907c143c8 Test referring to lowercase class name inside class.
Fix #251.
2015-04-25 10:47:55 -07:00
Bob Nystrom 47d0ba951f Merge pull request #261 from EvanHahn/patch-1
Add Evan Hahn to AUTHORS
2015-04-25 09:34:57 -07:00
Bob Nystrom 1c5a2b03c1 Copy edit a bit. 2015-04-25 08:48:06 -07:00
Bob Nystrom e0ceb87975 Merge branch '257-community' of git://github.com/EvanHahn/wren into EvanHahn-257-community 2015-04-25 08:39:43 -07:00
Bob Nystrom 30ccadd896 Merge branch 'master' of https://github.com/munificent/wren 2015-04-25 08:39:04 -07:00
Bob Nystrom bead9a3406 Output amalgamation into build/. 2015-04-25 08:38:45 -07:00
Bob Nystrom f07e38f40a Merge branch 'amalgamation' of git://github.com/lluchs/wren into lluchs-amalgamation 2015-04-23 07:27:32 -07:00
Bob Nystrom 4147ef2500 Merge pull request #259 from minirop/import-keyword
added missing "import" keyword
2015-04-22 07:46:13 -07:00
Bob Nystrom 7c1ede0a3d Merge branch 'master' of https://github.com/munificent/wren 2015-04-22 07:45:39 -07:00
Bob Nystrom bfce24151e Tweak docs. 2015-04-22 07:45:20 -07:00
Bob Nystrom fea844382f Merge branch 'doc-todos' of git://github.com/gsmaverick/wren into gsmaverick-doc-todos 2015-04-22 07:22:42 -07:00
Bob Nystrom 9f30400b7d Merge pull request #258 from patriciomacadden/fix-typo
fix typo: orde => order
2015-04-22 07:21:13 -07:00
Bob Nystrom 732dd18019 Merge pull request #256 from bjorn/toList_docs
Some documentation updates
2015-04-22 07:19:00 -07:00
Bob Nystrom e4f3072460 Merge branch 'master' of https://github.com/munificent/wren 2015-04-06 06:53:59 -07:00
Bob Nystrom ef06eed680 Minor clean-ups. 2015-04-06 06:53:53 -07:00
Bob Nystrom 94f7993bd2 Merge pull request #255 from patriciomacadden/add-myself-to-authors
Add myself to AUTHORS
2015-04-06 06:45:11 -07:00
Bob Nystrom bb3de9eeba Don't confuse the GC if a collection occurs after a compile error. 2015-04-03 23:12:14 -07:00
Bob Nystrom 82ce1d8be9 Fix up Meta.eval(_).
- Made it use primitives instead of foreign functions.
- This fixed an issue where the interpreter loop was running re-entrantly.
- Which in turn fixed a GC bug.
- Report a runtime error if the argument isn't a string.
- Report a runtime error if the source doesn't compile.
2015-04-03 21:22:58 -07:00
Bob Nystrom 9ffdc09672 Merge pull request #252 from lluchs/broken-link
Fix broken link to wren.h
2015-04-03 18:51:21 -07:00
Bob Nystrom 455196db81 Merge pull request #249 from lluchs/clang-absolute-value
Fix warning in clang 3.5 (-Wabsolute-value)
2015-04-03 18:38:10 -07:00
Bob Nystrom 75a3051fae .list -> .toList
Fix #248.
2015-04-03 11:22:34 -07:00
Bob Nystrom 563a090865 Push more core class creation into the core library itself. 2015-04-03 08:00:55 -07:00
Bob Nystrom 278f1c063b Merge branch 'refactoring' of git://github.com/patriciomacadden/wren into patriciomacadden-refactoring 2015-04-03 07:19:17 -07:00
Bob Nystrom b46828e93e Update docs for map(_) and where(_). 2015-04-01 07:31:15 -07:00
Bob Nystrom f4a836c66e Merge branch 'deferred_execution' of git://github.com/bjorn/wren into bjorn-deferred_execution
Conflicts:
	builtin/core.wren
	src/vm/wren_core.c
2015-04-01 07:22:02 -07:00
Bob Nystrom 561d46ef1d Merge pull request #241 from bjorn/sequence_each
Added Sequence.each
2015-04-01 07:10:21 -07:00
Bob Nystrom 92a054f76a Don't make locals in scope in their own initializer. 2015-04-01 07:05:40 -07:00
Bob Nystrom 2256448017 Fix whitespace. 2015-04-01 06:43:44 -07:00
Bob Nystrom c826348c2b Merge pull request #247 from ComFreek/patch-2
Fixed char-subscripts warning
2015-04-01 06:42:38 -07:00
Bob Nystrom 13c519d0be Merge branch 'master' of https://github.com/munificent/wren 2015-03-30 07:39:37 -07:00
Bob Nystrom 9bdbc05be1 Flush benchmark output after each ".".
Thanks, Michel!
2015-03-30 07:39:21 -07:00
Bob Nystrom 54ee4987d1 Merge pull request #242 from patriciomacadden/fix-function-call
Fix wrong function call
2015-03-28 18:08:51 -07:00
Bob Nystrom 37e1e8fe77 Remove outdated comment. 2015-03-28 10:19:38 -07:00
Bob Nystrom 07f9d4d2be Tweak Sequence.all() and Sequence.any().
When possible, they return the actual value from the predicate
instead of always just "true" and "false". This matches && and ||
which evaluate to the RHS or LHS when appropriate.
2015-03-28 10:18:45 -07:00
Bob Nystrom a7fafce265 Pull out opcode definitions into an X-macro file. 2015-03-28 09:56:07 -07:00
Bob Nystrom 6254a2e15e Invert the return value for finishBloc().
Thanks, Michel!
2015-03-28 09:15:19 -07:00
Bob Nystrom 53ee453f0f Merge pull request #239 from bjorn/sequence_list
Added Sequence.list
2015-03-28 09:06:49 -07:00
Bob Nystrom 5bb3154e83 Copy editing. 2015-03-27 20:59:15 -07:00
Bob Nystrom 72c38a59ce More stuff for working with strings and bytes!
- "\x" escape sequence to put byte values in strings: "\x34"
- String.byteAt(index) gets value of byte in string.
- String.bytes returns a raw sequence of bytes for a string.
- String.codePointAt(index) gets the code point at an offset as a raw number.
2015-03-27 20:44:07 -07:00
Bob Nystrom 7d45dda383 String.fromCodePoint(). Fix #219. 2015-03-27 07:43:36 -07:00
Bob Nystrom 373770a8d5 Fields are private, not protected. Fix #237. 2015-03-27 06:46:12 -07:00
Bob Nystrom 322eea1af5 Generate a runtime error if a foreign method was not found. 2015-03-26 07:17:09 -07:00
Bob Nystrom 9c414b5da5 Get Meta working with foreign methods. 2015-03-25 20:20:26 -07:00
Bob Nystrom 8dcd336638 Merge branch 'master' into foreign-methods 2015-03-25 20:06:55 -07:00
Bob Nystrom 35d0da92b9 Merge branch 'master' of https://github.com/munificent/wren 2015-03-25 19:25:37 -07:00
Bob Nystrom c707135b9a Add wren_meta to XCode project. 2015-03-25 19:25:18 -07:00
Bob Nystrom d99a82e6d8 Merge branch 'meta-library' of git://github.com/gsmaverick/wren into gsmaverick-meta-library 2015-03-25 19:21:58 -07:00
Bob Nystrom 1776c329db Merge pull request #235 from bjorn/master
Added myself to the AUTHORS file
2015-03-25 19:15:58 -07:00
Bob Nystrom e4a785a071 Remove oldSize from allocate API.
binary_trees - wren            .......... 0.29s 0.0048 107.79% relative to baseline
delta_blue - wren              .......... 0.12s 0.0017 106.95% relative to baseline
fib - wren                     .......... 0.30s 0.0042 119.95% relative to baseline
for - wren                     .......... 0.12s 0.0020 107.57% relative to baseline
method_call - wren             .......... 0.15s 0.0256 106.09% relative to baseline
map_numeric - wren             .......... 0.44s 0.0199 105.27% relative to baseline
map_string - wren              .......... 0.14s 0.0049 100.18% relative to baseline
string_equals - wren           .......... 0.30s 0.0032 100.57% relative to baseline

Thanks, Michel!
2015-03-25 07:45:29 -07:00
Bob Nystrom 8c4e5eeea8 Show standard deviation and other tweaks in benchmark script. 2015-03-25 07:26:45 -07:00
Bob Nystrom 0bd19da392 Bind C methods to Wren using foreign declarations. 2015-03-24 07:58:15 -07:00
Bob Nystrom 82fceb8361 Give makefile prettier output. Pretty! 2015-03-24 07:51:48 -07:00
Bob Nystrom c9226256ff Merge pull request #220 from bjorn/count_predicate
Added Sequence.count(predicate)
2015-03-23 07:35:17 -07:00