Commit Graph

  • 7c68092a55 fix: correct typos in documentation and fix error message in compiler Bob Nystrom 2014-01-14 04:22:10 +00:00
  • d15c36ee89 fix: correct error message token from '}' to '{' in class definition parser b01dface 2014-01-14 01:21:25 +00:00
  • b458bb436a fix: correct receiver-less call examples to use IO.print and fix parameter names b01dface 2014-01-14 01:18:42 +00:00
  • 1933956323 feat: add LuaJIT benchmark entries and refactor language command construction Bob Nystrom 2014-01-13 15:29:47 +00:00
  • 8abfb4ec7d feat: add fiber.isDone property and runtime error checks for finished fiber operations Bob Nystrom 2014-01-13 14:58:27 +00:00
  • 8cee1f62bd fix: free GC objects in linked list when VM is freed Bob Nystrom 2014-01-13 14:48:53 +00:00
  • 08c38f92cb feat: allow implicit null return when return statement has no value Bob Nystrom 2014-01-13 03:37:11 +00:00
  • 2e34a5c42b feat: add support for escape sequences \a, \b, \f, \r, \v in string parsing Bob Nystrom 2014-01-13 03:24:30 +00:00
  • fc4880774e feat: implement fiber primitives with create, run, yield and caller tracking Bob Nystrom 2014-01-12 19:02:07 +00:00
  • d0d92971d8 fix: correct example code in site index to use IO.print instead of io.write Bob Nystrom 2014-01-12 18:58:13 +00:00
  • 193e4e30ab feat: add ceil, cos, sin, sqrt, isNan native methods and division-by-zero tests Bob Nystrom 2014-01-08 15:47:14 +00:00
  • 693ab1c340 feat: add ASCII Mandelbrot fractal example with 80x24 character grid Bob Nystrom 2014-01-08 07:04:30 +00:00
  • 33b0fae6f6 feat: extend jump offsets from 8-bit to 16-bit in compiler and VM Bob Nystrom 2014-01-08 07:03:38 +00:00
  • ce2e227683 feat: add floor method to Num class for rounding down to nearest integer Bob Nystrom 2014-01-08 07:03:25 +00:00
  • 88c8984549 fix: initialize upvalue closed field to NULL_VAL to prevent GC crash Bob Nystrom 2014-01-08 07:03:15 +00:00
  • 0ba6456214 fix: properly dispose loop-scoped variables and exit scopes on break Bob Nystrom 2014-01-06 16:01:04 +00:00
  • 488dd3521f fix: ensure null-termination of debug function name after strncpy copy Bob Nystrom 2014-01-06 15:54:00 +00:00
  • 01cc6538ef fix: increase number-to-string buffer size from 21 to 24 for double precision Bob Nystrom 2014-01-06 15:53:41 +00:00
  • c72db7d594 feat: rename IO.write to IO.print and add Unicode escape support in strings Bob Nystrom 2014-01-05 20:27:12 +00:00
  • e23e0ce6a3 feat: remove hardcoded 256 symbol limit and switch to dynamic symbol table with 16-bit instruction arguments Bob Nystrom 2014-01-04 19:08:31 +00:00
  • 64dab4db78 feat: add WREN_TRACE_GC flag and timing instrumentation to garbage collection Bob Nystrom 2014-01-03 21:17:14 +00:00
  • 53884b1332 feat: replace validateIndexOld with validateIndex and add validateString for core methods Bob Nystrom 2014-01-03 18:47:26 +00:00
  • 6fb8804c9e feat: add validateNum/validateInt helpers and runtime type checks for list methods Bob Nystrom 2014-01-02 15:32:00 +00:00
  • 003d4f77f4 refactor: reorder and document fields in Compiler struct for clarity Bob Nystrom 2014-01-02 15:31:31 +00:00
  • 720b1b5d76 refactor: replace monolithic Buffer struct with generic macro-generated ByteBuffer and IntBuffer types Bob Nystrom 2014-01-02 06:23:03 +00:00
  • b93bd62623 refactor: extract SymbolTable into dedicated wren_utils module with prefixed API Bob Nystrom 2014-01-02 04:57:58 +00:00
  • 1b605162ef refactor: move object freeing logic from wren_vm.c to wren_value.c alongside allocation code Bob Nystrom 2014-01-01 21:31:19 +00:00
  • 547107a086 feat: add runtime error support with source paths, line info, and stack traces Bob Nystrom 2014-01-01 21:25:24 +00:00
  • 8a09c03cdd fix: reorder symbol table insertion before object allocation to prevent GC crashes Bob Nystrom 2013-12-30 15:30:50 +00:00
  • 4f215f6531 feat: allow empty blocks in parser and fix native call slot assertion Bob Nystrom 2013-12-29 18:46:21 +00:00
  • 5570f7f46c refactor: rename nativeCallSlot and nativeCallNumArgs to foreignCallSlot and foreignCallNumArgs in WrenVM Bob Nystrom 2013-12-29 18:14:38 +00:00
  • b1e8d3f81e feat: add foreign method interface with native call support and argument passing Bob Nystrom 2013-12-29 18:06:35 +00:00
  • 4026878ac6 docs: add branching, looping, classes, method calls, and Q&A documentation with updated navigation Bob Nystrom 2013-12-28 17:37:41 +00:00
  • 6dd270d7ef refactor: replace explicit free/malloc calls with wrenReallocate in symbol table functions Bob Nystrom 2013-12-27 17:07:35 +00:00
  • 08f043caba feat: replace fixed-size arrays with growable Buffer struct for bytecode and string storage Bob Nystrom 2013-12-27 15:22:43 +00:00
  • e055360616 refactor: pass constants and bytecode directly to wrenNewFunction instead of post-assignment Bob Nystrom 2013-12-27 01:28:33 +00:00
  • ce60209fcc refactor: replace hardcoded ObjFn arrays with growable buffers in compiler Bob Nystrom 2013-12-27 00:58:03 +00:00
  • d972a6a696 refactor: replace unsigned char with uint8_t across debug, value, and vm modules Bob Nystrom 2013-12-26 00:31:30 +00:00
  • dfe53d945c feat: inline bytecode array into ObjFn struct to eliminate separate heap allocation Bob Nystrom 2013-12-26 00:19:35 +00:00
  • d6e4d6bcf7 refactor: change CallFrame and Method fn fields from Value to Obj* Bob Nystrom 2013-12-26 00:12:07 +00:00
  • cce83b67e0 docs: change heading markers from double to single hash in benchmark README Bob Nystrom 2013-12-25 23:03:17 +00:00
  • 6c61df3ed7 feat: add range operators and iterator protocol for numeric for loops Bob Nystrom 2013-12-25 23:01:45 +00:00
  • b72a42eedd refactor: replace manual instruction argument counting with getNumArguments() in wrenBindMethod Bob Nystrom 2013-12-25 06:10:30 +00:00
  • ad559eabd3 feat: implement for-in loop syntax with iterate/iteratorValue protocol and break support Bob Nystrom 2013-12-25 05:04:11 +00:00
  • c58f15fc87 feat: allow statement bodies for flow control in compiler and add return tests Bob Nystrom 2013-12-24 18:27:48 +00:00
  • 1a456738f6 feat: add break statement support with loop tracking and error handling Bob Nystrom 2013-12-24 18:15:50 +00:00
  • b081f2622d chore: remove resolved TODO comments and fix buffer size in num_toString Bob Nystrom 2013-12-23 23:38:00 +00:00
  • f8e5351cf3 feat: add MAX_CONSTANTS limit and overflow check with deduplication in wren_compiler.c Bob Nystrom 2013-12-23 23:08:47 +00:00
  • 4fc948f2ca fix: add lexError function and fix line counting for unterminated block comments Bob Nystrom 2013-12-23 22:51:06 +00:00
  • 0067070804 refactor: remove unused CODE_DUP instruction and clean up interpreter dispatch Bob Nystrom 2013-12-23 19:37:47 +00:00
  • 64fdc1876a feat: add optimized field load/store instructions for direct method access Bob Nystrom 2013-12-23 19:17:40 +00:00
  • a7e29fc967 refactor: replace ResolvedName enum with direct Code instruction in resolveName Bob Nystrom 2013-12-23 04:53:35 +00:00
  • 634e9fbb11 feat: add superclass call support inside closures in wren compiler Bob Nystrom 2013-12-23 04:46:12 +00:00
  • 75d9a39040 feat: allow variable declarations without explicit initializers Bob Nystrom 2013-12-23 02:47:58 +00:00
  • 8c13258ef6 feat: promote Fiber from raw struct to heap-allocated ObjFiber with GC support Bob Nystrom 2013-12-22 22:31:33 +00:00
  • 54c4f231ee fix: change ip from integer index to direct pointer in CallFrame and interpreter loop Bob Nystrom 2013-12-22 21:46:13 +00:00
  • 7e8edd68ea feat: make IO.write call toString on argument and add corelib with List.toString Bob Nystrom 2013-12-22 19:50:00 +00:00
  • 91873b3a90 refactor: split class creation into raw single-class and superclass binding phases Bob Nystrom 2013-12-22 04:44:37 +00:00
  • 8bb1a94a25 refactor: convert IO from singleton instance to static class with metaclass native methods Bob Nystrom 2013-12-22 03:25:09 +00:00
  • 1a77a43fa0 feat: implement closure over "this" in methods and fix upvalue closing order Bob Nystrom 2013-12-21 23:55:08 +00:00
  • b1243ac532 feat: add list subscript setter and refactor parameter validation Bob Nystrom 2013-12-21 17:37:59 +00:00
  • 14b6eb04d2 docs: expand method-calls documentation with setters and operator sections, add is operator note to syntax page Bob Nystrom 2013-12-21 17:15:30 +00:00
  • d9255666f4 fix: add list newline handling and resolve multiple test TODOs across compiler and test suite Bob Nystrom 2013-12-20 20:42:11 +00:00
  • 46f53e4421 feat: add configurable heap growth, initial, and minimum heap size to WrenVM Bob Nystrom 2013-12-20 15:41:35 +00:00
  • 517844fbda feat: implement setter syntax and assignment in named method calls Bob Nystrom 2013-12-20 15:05:31 +00:00
  • 7d12f64af4 feat: increase default GC heap threshold from 10MB to 100MB Bob Nystrom 2013-12-20 15:05:13 +00:00
  • 278f84a745 feat: convert benchmark runner from time-based stats to score-based comparison Bob Nystrom 2013-12-20 15:04:04 +00:00
  • 1cf8f2d999 feat: add test for infix class expression after constructor call Bob Nystrom 2013-12-19 17:10:45 +00:00
  • 0e70d98169 refactor: replace Foo.new constructor syntax with new Foo and simplify superclass constructor calls Bob Nystrom 2013-12-19 15:02:27 +00:00
  • f5a61e4241 fix: expand TODO comments for superclass constructor resolution edge cases Bob Nystrom 2013-12-18 15:39:46 +00:00
  • 7ac04b9e3d feat: refactor method_call benchmark to use inheritance and fix constructor binding Bob Nystrom 2013-12-18 15:37:41 +00:00
  • e26afd7de3 docs: add method-calls and variables pages, update sidebar links, revise statement-terminator and performance docs Bob Nystrom 2013-12-17 17:39:26 +00:00
  • 656238f286 feat: implement superclass constructor calls and metaclass inheritance chain Bob Nystrom 2013-12-17 17:39:05 +00:00
  • 93cf4e6b87 feat: add compile-time error for 'super' used outside method context Bob Nystrom 2013-12-16 06:08:40 +00:00
  • 7638dd2ee2 refactor: embed upvalue array directly in ObjClosure using flexible array member Bob Nystrom 2013-12-16 06:02:22 +00:00
  • 55041f4640 feat: replace int-based booleans with stdbool.h bool type across core source files Bob Nystrom 2013-12-15 07:41:23 +00:00
  • c92ba58f5f test: add scope edge case tests for variable initialization and shadowing Bob Nystrom 2013-12-15 00:36:19 +00:00
  • 34db2b2b9f chore: remove author attribution from TODO comments across multiple source files Bob Nystrom 2013-12-14 23:28:18 +00:00
  • 07c3dff92f fix: track live memory via bytesAllocated instead of subtracting freed sizes Bob Nystrom 2013-12-14 22:17:16 +00:00
  • 78f6e3b96d perf: inline wrenObjectToValue and switch Xcode project to C99 for speed bump Bob Nystrom 2013-12-14 19:34:49 +00:00
  • fc3ebb924c refactor: replace raw #ifdef NAN_TAGGING with WREN_NAN_TAGGING flag and add WREN_COMPUTED_GOTO, WREN_DEBUG_GC_STRESS, WREN_TRACE_MEMORY configurable defines Bob Nystrom 2013-12-14 19:06:54 +00:00
  • d7a0063f4b feat: replace constructor method special-casing with dedicated CODE_NEW instruction Bob Nystrom 2013-12-13 19:32:47 +00:00
  • 42b32acef4 feat: implement superclass method dispatch with new SUPER bytecodes and named call compiler Bob Nystrom 2013-12-13 16:37:49 +00:00
  • a7dbdc4cba perf: reorder opcode switch cases to move less frequent CODE_LIST and CODE_CLOSURE lower Bob Nystrom 2013-12-13 14:47:34 +00:00
  • 8842efbab7 feat: remove JS benchmarks and reduce depth for faster binary_trees/fib runs Bob Nystrom 2013-12-13 00:59:57 +00:00
  • 5e62b5856e perf: reorder MethodType enum and switch cases to improve branch prediction Bob Nystrom 2013-12-12 15:39:27 +00:00
  • c107d26c93 feat: generate default constructors at compile time and reorder interpret loop for branch alignment Bob Nystrom 2013-12-12 15:34:16 +00:00
  • 1737b649a4 feat: add TOKEN_SUPER enum and keyword recognition to wren compiler Bob Nystrom 2013-12-11 16:02:17 +00:00
  • eb97920905 docs: expand TODO comment on default constructor performance tradeoff in wren_vm.c Bob Nystrom 2013-12-11 16:00:25 +00:00
  • e97ec653e6 feat: add --language flag to filter benchmarks by language in run_bench Bob Nystrom 2013-12-11 07:02:24 +00:00
  • 51dffa8c02 feat: add test verifying default constructor behavior for classes without explicit constructors Bob Nystrom 2013-12-11 05:58:02 +00:00
  • 813cbbc5a2 docs: add initial performance documentation covering Wren's speed and value representation Bob Nystrom 2013-12-11 05:51:58 +00:00
  • d8c31a4391 feat: add wrenBindMethod to patch field indices and superclass dispatch in inherited methods Bob Nystrom 2013-12-11 00:13:25 +00:00
  • 6695580df4 feat: add baseline comparison tracking to benchmark script with color-coded regression/improvement output Bob Nystrom 2013-12-08 06:14:56 +00:00
  • e910186f51 fix: remove stack pop for loop body in LOOP opcode since bodies are now statements Bob Nystrom 2013-12-08 02:47:40 +00:00
  • 6ba77ea2cd fix: add explicit return statements in benchmark functions and add method_call benchmark suite Bob Nystrom 2013-12-08 02:43:39 +00:00
  • ffc58724d7 feat: enforce maximum method name length of 64 characters in compiler Bob Nystrom 2013-12-07 04:09:43 +00:00
  • 071239aa35 feat: add bitwise NOT operator (~) with token, parser, and native implementation Bob Nystrom 2013-12-05 06:09:31 +00:00
  • d076abc8b1 docs: add script file format and reserved words sections to syntax docs Bob Nystrom 2013-12-05 05:51:23 +00:00
  • 6451c86b28 feat: treat semicolons as line tokens in wren compiler lexer Bob Nystrom 2013-12-05 03:12:21 +00:00