potion
16 years ago * core/number.c: the `step` method.
_why [Fri, 26 Jun 2009 14:34:12 +0000 (07:34 -0700)]
 * core/number.c: the `step` method.

16 years ago * doc/start.textile: listing some patterns in the code.
_why [Fri, 26 Jun 2009 06:28:55 +0000 (23:28 -0700)]
 * doc/start.textile: listing some patterns in the code.

16 years ago * core/pn-scan.rl: working on better error messages for missing tokens.
_why [Fri, 26 Jun 2009 04:01:36 +0000 (21:01 -0700)]
 * core/pn-scan.rl: working on better error messages for missing tokens.

16 years agoMerge branch 'master' of orleans.hobix.com:~/git/potion
_why [Thu, 25 Jun 2009 23:45:12 +0000 (16:45 -0700)]
Merge branch 'master' of orleans.hobix.com:~/git/potion

16 years ago * core/compile.c: fixing method queries.
_why [Thu, 25 Jun 2009 23:43:37 +0000 (16:43 -0700)]
 * core/compile.c: fixing method queries.

16 years ago * Makefile: fix warnings on 32-bit freebsd.
_why [Thu, 25 Jun 2009 21:13:35 +0000 (16:13 -0500)]
 * Makefile: fix warnings on 32-bit freebsd.

16 years ago * core/pn-gram.y: assignment math combo operations.
_why [Thu, 25 Jun 2009 20:59:35 +0000 (13:59 -0700)]
 * core/pn-gram.y: assignment math combo operations.

16 years ago * test/classes/monkey.pn: illustrate placing a value in the method table.
_why [Thu, 25 Jun 2009 18:09:52 +0000 (11:09 -0700)]
 * test/classes/monkey.pn: illustrate placing a value in the method table.

16 years ago * test/classes/monkey.pn: how to override core classes, which isn't strictly banned.
_why [Thu, 25 Jun 2009 18:06:14 +0000 (11:06 -0700)]
 * test/classes/monkey.pn: how to override core classes, which isn't strictly banned.

16 years ago * core/potion.c: fix the repl to handle syntax errors okay.
_why [Thu, 25 Jun 2009 17:11:35 +0000 (10:11 -0700)]
 * core/potion.c: fix the repl to handle syntax errors okay.
 * core/pn-scan.rl: bug in reporting character number on the first line.
 * core/objmodel.c: the `exit` method.

16 years ago * core/pn-scan.rl: show an excerpt of error-causing code. identifying non-UTF8 chara...
_why [Thu, 25 Jun 2009 16:59:35 +0000 (09:59 -0700)]
 * core/pn-scan.rl: show an excerpt of error-causing code. identifying non-UTF8 characters in syntax errors.

16 years ago * core/pn-scan.rl: working on getting some readable syntax errors.
_why [Thu, 25 Jun 2009 16:38:46 +0000 (09:38 -0700)]
 * core/pn-scan.rl: working on getting some readable syntax errors.

16 years ago * README: updating the feature list, correcting some things.
_why [Thu, 25 Jun 2009 14:32:03 +0000 (07:32 -0700)]
 * README: updating the feature list, correcting some things.

16 years ago * core/vm.c: allow potion_vm_proto to unpack arguments properly.
_why [Thu, 25 Jun 2009 14:13:19 +0000 (07:13 -0700)]
 * core/vm.c: allow potion_vm_proto to unpack arguments properly.

16 years ago * core/number.c: the `times` method.
_why [Thu, 25 Jun 2009 14:05:00 +0000 (07:05 -0700)]
 * core/number.c: the `times` method.

16 years ago * core/compile.c: basic block arguments.
_why [Thu, 25 Jun 2009 13:49:20 +0000 (06:49 -0700)]
 * core/compile.c: basic block arguments.

16 years ago * doc: the short potion pamphlet.
_why [Thu, 25 Jun 2009 06:20:09 +0000 (23:20 -0700)]
 * doc: the short potion pamphlet.

16 years ago * core/file.c: a tiny `read` method wrapping fgets.
_why [Thu, 25 Jun 2009 04:11:58 +0000 (21:11 -0700)]
 * core/file.c: a tiny `read` method wrapping fgets.
 * core/potion.c: and a tiny repl to go with it. (doesn't keep track of locals yet.)

16 years ago * core/primitive.c: casting booleans and nil to numbers.
_why [Wed, 24 Jun 2009 22:36:52 +0000 (15:36 -0700)]
 * core/primitive.c: casting booleans and nil to numbers.

16 years ago * core/compile.c: merging code for `loop` and `while`.
_why [Wed, 24 Jun 2009 16:29:35 +0000 (09:29 -0700)]
 * core/compile.c: merging code for `loop` and `while`.
 * core/vm-x86.c: fixing backwards jumps.

16 years ago * example/fannkuch.pn: using callset.
_why [Wed, 24 Jun 2009 15:38:37 +0000 (08:38 -0700)]
 * example/fannkuch.pn: using callset.

16 years ago * core/vm-x86.c: unneeded mov of the counter arg in call op.
_why [Wed, 24 Jun 2009 14:25:08 +0000 (07:25 -0700)]
 * core/vm-x86.c: unneeded mov of the counter arg in call op.

16 years ago * core/vm-x86.c: support for callset in the jit.
_why [Wed, 24 Jun 2009 14:23:50 +0000 (07:23 -0700)]
 * core/vm-x86.c: support for callset in the jit.

16 years ago * test/objects: test of callset.
_why [Wed, 24 Jun 2009 14:21:16 +0000 (07:21 -0700)]
 * test/objects: test of callset.

16 years ago * core: callset op. (such as: ary (0) = x)
_why [Wed, 24 Jun 2009 14:18:27 +0000 (07:18 -0700)]
 * core: callset op. (such as: ary (0) = x)

16 years ago * example: speedier gc benchmarks using classes.
_why [Wed, 24 Jun 2009 06:51:40 +0000 (23:51 -0700)]
 * example: speedier gc benchmarks using classes.

16 years ago * core/objmodel.c: place object in the write barrier if an ivar is updated.
_why [Wed, 24 Jun 2009 06:49:36 +0000 (23:49 -0700)]
 * core/objmodel.c: place object in the write barrier if an ivar is updated.

16 years ago * core/compile.c: place `self` before any call to `class`, to clear the first register.
_why [Wed, 24 Jun 2009 06:24:37 +0000 (23:24 -0700)]
 * core/compile.c: place `self` before any call to `class`, to clear the first register.

16 years ago * core/compile.c: bug in compilation of the upval/local attachments to each proto.
_why [Wed, 24 Jun 2009 06:11:43 +0000 (23:11 -0700)]
 * core/compile.c: bug in compilation of the upval/local attachments to each proto.

16 years ago * core/vm-x86.c: the closure is already available on the stack, no need to use regis...
_why [Wed, 24 Jun 2009 05:29:56 +0000 (22:29 -0700)]
 * core/vm-x86.c: the closure is already available on the stack, no need to use register 1.

16 years ago * core/gc.c: track the type catalog and use the write barrier for type changes.
_why [Wed, 24 Jun 2009 04:24:21 +0000 (21:24 -0700)]
 * core/gc.c: track the type catalog and use the write barrier for type changes.

16 years ago * core/gc.c: mark type constructors.
_why [Wed, 24 Jun 2009 04:05:21 +0000 (21:05 -0700)]
 * core/gc.c: mark type constructors.

16 years ago * core/vm-x86.c: support for DEF op in the jit.
_why [Wed, 24 Jun 2009 03:42:40 +0000 (20:42 -0700)]
 * core/vm-x86.c: support for DEF op in the jit.

16 years ago * core/vm-x86.c: get the type jumps right for CALL op. nix superfluous X86_PRE macros.
_why [Wed, 24 Jun 2009 02:04:41 +0000 (20:04 -0600)]
 * core/vm-x86.c: get the type jumps right for CALL op. nix superfluous X86_PRE macros.

16 years ago * core/vm-x86.c: use rcx for loading of 32-bit argument slots, since most of the...
_why [Wed, 24 Jun 2009 01:39:07 +0000 (19:39 -0600)]
 * core/vm-x86.c: use rcx for loading of 32-bit argument slots, since most of the other jit code uses rax or rdx.

16 years ago * core/vm-x86.c: calling of the constructor during OP_CALL in the jit.
_why [Tue, 23 Jun 2009 23:09:03 +0000 (16:09 -0700)]
 * core/vm-x86.c: calling of the constructor during OP_CALL in the jit.

16 years ago * core/vm-x86.c: jit'd class op.
_why [Tue, 23 Jun 2009 18:01:56 +0000 (11:01 -0700)]
 * core/vm-x86.c: jit'd class op.

16 years ago * core/vm-x86.c: code for jit'd GETPATH and SETPATH.
_why [Tue, 23 Jun 2009 17:43:30 +0000 (10:43 -0700)]
 * core/vm-x86.c: code for jit'd GETPATH and SETPATH.

16 years ago * core/vm.c: uniting the bytecode layout for table and path ops.
_why [Tue, 23 Jun 2009 17:39:10 +0000 (10:39 -0700)]
 * core/vm.c: uniting the bytecode layout for table and path ops.

16 years ago * core: stubbing out OP_DEF in the jit.
_why [Tue, 23 Jun 2009 14:37:06 +0000 (07:37 -0700)]
 * core: stubbing out OP_DEF in the jit.

16 years ago * test/classes/def.pn: test of defining methods.
_why [Tue, 23 Jun 2009 14:34:26 +0000 (07:34 -0700)]
 * test/classes/def.pn: test of defining methods.

16 years ago * core: adding OP_DEF for defining methods.
_why [Tue, 23 Jun 2009 14:32:09 +0000 (07:32 -0700)]
 * core: adding OP_DEF for defining methods.

16 years ago * core/compile.c: let all constructors return self.
_why [Tue, 23 Jun 2009 05:37:26 +0000 (22:37 -0700)]
 * core/compile.c: let all constructors return self.

16 years ago * test/classes/sub.pn: unbelievable.
_why [Tue, 23 Jun 2009 05:06:04 +0000 (22:06 -0700)]
 * test/classes/sub.pn: unbelievable.

16 years ago * core/string.c: must use malloc for potion_str2, since modifying the string......
_why [Tue, 23 Jun 2009 05:02:27 +0000 (22:02 -0700)]
 * core/string.c: must use malloc for potion_str2, since modifying the string... well sometimes that string is going to be stored in the strings table and the hashes could be close.

16 years ago * core/compile.c: compile initializer properly.
_why [Tue, 23 Jun 2009 04:11:22 +0000 (21:11 -0700)]
 * core/compile.c: compile initializer properly.

16 years ago * core/objmodel.c: the `about` method.
_why [Mon, 22 Jun 2009 19:13:37 +0000 (12:13 -0700)]
 * core/objmodel.c: the `about` method.

16 years ago * core: calling of object constructors in the vm.
_why [Mon, 22 Jun 2009 05:15:52 +0000 (22:15 -0700)]
 * core: calling of object constructors in the vm.

16 years ago * core/objmodel.c: store constructor in the type.
_why [Mon, 22 Jun 2009 04:00:20 +0000 (21:00 -0700)]
 * core/objmodel.c: store constructor in the type.

16 years ago * core: working on inheritance.
_why [Mon, 22 Jun 2009 03:40:57 +0000 (20:40 -0700)]
 * core: working on inheritance.

16 years ago * core/compile.c: working on GETPATH and SETPATH ops.
_why [Sun, 21 Jun 2009 21:58:59 +0000 (14:58 -0700)]
 * core/compile.c: working on GETPATH and SETPATH ops.

16 years ago * core/compile.c: beginning compilation into the CLASS op.
_why [Sun, 21 Jun 2009 21:12:03 +0000 (14:12 -0700)]
 * core/compile.c: beginning compilation into the CLASS op.

16 years ago * core/opcodes.h: added CLASS op.
_why [Sat, 20 Jun 2009 23:02:26 +0000 (16:02 -0700)]
 * core/opcodes.h: added CLASS op.
 * core/internal.c: potion_class function.

16 years ago * core/vm-x86.c: move ivar lookup table compiler into platform file.
_why [Sat, 20 Jun 2009 19:50:03 +0000 (12:50 -0700)]
 * core/vm-x86.c: move ivar lookup table compiler into platform file.

16 years ago * core/objmodel.c: fix jmp in the ivar lookup for 32-bit.
_why [Sat, 20 Jun 2009 19:22:20 +0000 (14:22 -0500)]
 * core/objmodel.c: fix jmp in the ivar lookup for 32-bit.

16 years ago * core/objmodel.c: working on assembled version of the ivar lookup. straight-forward...
_why [Sat, 20 Jun 2009 19:10:33 +0000 (12:10 -0700)]
 * core/objmodel.c: working on assembled version of the ivar lookup. straight-forward jumping is simpler/faster than the binary search.

16 years ago * core/gc.h: suppress remaining warnings.
_why [Sat, 20 Jun 2009 15:53:34 +0000 (08:53 -0700)]
 * core/gc.h: suppress remaining warnings.

16 years ago * core/objmodel.c: beginning work on instance variables. using a list of instance...
_why [Sat, 20 Jun 2009 15:51:09 +0000 (08:51 -0700)]
 * core/objmodel.c: beginning work on instance variables. using a list of instance variable names, sorted by PNUniq id.

16 years ago * core: some new table and inspection functions.
_why [Sat, 20 Jun 2009 14:58:02 +0000 (07:58 -0700)]
 * core: some new table and inspection functions.

16 years ago * core/table.c: including insertion sort and binary search for tuples, which will...
_why [Sat, 20 Jun 2009 06:26:10 +0000 (23:26 -0700)]
 * core/table.c: including insertion sort and binary search for tuples, which will be used in the instance variable list on each class.

16 years ago * example/binarytrees.pn: larger test of allocator, taken from the shootout.
_why [Fri, 19 Jun 2009 18:32:16 +0000 (11:32 -0700)]
 * example/binarytrees.pn: larger test of allocator, taken from the shootout.
 * core/pn-scan.rl: fixing tab escape.

16 years ago * example/gcbench.pn: print description for each allocation stage.
_why [Fri, 19 Jun 2009 18:04:36 +0000 (11:04 -0700)]
 * example/gcbench.pn: print description for each allocation stage.

16 years ago * core/gc.c: type size for bignums.
_why [Fri, 19 Jun 2009 14:45:55 +0000 (07:45 -0700)]
 * core/gc.c: type size for bignums.

16 years ago * core/vm-x86.c: fix for 32-bit LOADK op. (Potion *) must be the first argument...
_why [Fri, 19 Jun 2009 14:41:08 +0000 (09:41 -0500)]
 * core/vm-x86.c: fix for 32-bit LOADK op. (Potion *) must be the first argument to any call, due to potion_x86_c_arg.

16 years ago * core/vm-x86.c: X86_MOVL is factored out, no static pointers any more.
_why [Fri, 19 Jun 2009 06:15:02 +0000 (23:15 -0700)]
 * core/vm-x86.c: X86_MOVL is factored out, no static pointers any more.

16 years ago * core/vm-x86.c: allocate new closure during the PROTO op.
_why [Fri, 19 Jun 2009 06:14:13 +0000 (23:14 -0700)]
 * core/vm-x86.c: allocate new closure during the PROTO op.

16 years ago * example/gcbench.pn: a translation of test/api/gc-bench.c into potion syntax.
_why [Fri, 19 Jun 2009 05:54:49 +0000 (22:54 -0700)]
 * example/gcbench.pn: a translation of test/api/gc-bench.c into potion syntax.

16 years ago * core/vm-x86.c: bug in LOADK op. since gc may move around a compiled routine's...
_why [Fri, 19 Jun 2009 04:56:32 +0000 (21:56 -0700)]
 * core/vm-x86.c: bug in LOADK op. since gc may move around a compiled routine's list of values (strings), the list must be looked up dynamically, using the closure value stored in the (Potion, cl, self) registers.

16 years ago * core/vm-x86.c: bug in placing upvals in the PNClosure struct during OP_PROTO call.
_why [Thu, 18 Jun 2009 23:29:24 +0000 (16:29 -0700)]
 * core/vm-x86.c: bug in placing upvals in the PNClosure struct during OP_PROTO call.

16 years ago * core/gc.c: mark the various kinds of tables in circulation.
_why [Thu, 18 Jun 2009 17:38:41 +0000 (10:38 -0700)]
 * core/gc.c: mark the various kinds of tables in circulation.
 * core/potion.h: allow protected memory region to be placed in the write barrier.

16 years ago * core: place tables in the write barrier any time they're altered.
_why [Thu, 18 Jun 2009 06:10:57 +0000 (23:10 -0700)]
 * core: place tables in the write barrier any time they're altered.

16 years ago * core/gc.c: scan the protected memory space, including the main state struct and...
_why [Thu, 18 Jun 2009 06:02:37 +0000 (23:02 -0700)]
 * core/gc.c: scan the protected memory space, including the main state struct and the string table during the major phase.

16 years ago * core/string.c: no need to store pairs in the string table.
_why [Thu, 18 Jun 2009 05:42:55 +0000 (22:42 -0700)]
 * core/string.c: no need to store pairs in the string table.

16 years ago * core/string.c: switching main string table to store PN as key, allowing gc to...
_why [Thu, 18 Jun 2009 05:40:23 +0000 (22:40 -0700)]
 * core/string.c: switching main string table to store PN as key, allowing gc to move it around.

16 years ago * core/potion.h: 32-bit ints hash as themselves. this is lame, i'd like to see nice...
_why [Thu, 18 Jun 2009 05:16:25 +0000 (00:16 -0500)]
 * core/potion.h: 32-bit ints hash as themselves. this is lame, i'd like to see nice distribution on all objects, even though strings are the most common to hash.

16 years ago * core: trying out a change of object hashing. got this idea from steve dekorte...
_why [Thu, 18 Jun 2009 04:40:25 +0000 (21:40 -0700)]
 * core: trying out a change of object hashing. got this idea from steve dekorte's blog. <dekorte.com/blog/blog.cgi?do=item&id=4003> mostly i'm just trying to hold off from writing hash functions for every individual class type. it incurs a 4 byte hit per object on 32-bit, so i'm not sure if it's permanent yet.

16 years ago * core/mt19937ar.c: including mersenne twister.
_why [Wed, 17 Jun 2009 23:11:00 +0000 (16:11 -0700)]
 * core/mt19937ar.c: including mersenne twister.

16 years ago * core/potion.h: fixing up all boolean tests to accept nil as false.
_why [Tue, 16 Jun 2009 18:19:44 +0000 (11:19 -0700)]
 * core/potion.h: fixing up all boolean tests to accept nil as false.
 * core/vm-x86.c: ditto (for the TEST, NOT, TESTJMP and NOTJMP ops.)

16 years ago * core/lick.c: add `string` method to licks.
_why [Tue, 16 Jun 2009 16:14:33 +0000 (09:14 -0700)]
 * core/lick.c: add `string` method to licks.

16 years ago * core/lick.c: adding attributes to the lick-style data.
_why [Tue, 16 Jun 2009 15:57:58 +0000 (08:57 -0700)]
 * core/lick.c: adding attributes to the lick-style data.

16 years ago * test/data/html.pn: nil at end, since it's all `print` calls right now.
_why [Tue, 16 Jun 2009 05:52:25 +0000 (22:52 -0700)]
 * test/data/html.pn: nil at end, since it's all `print` calls right now.

16 years ago * core/lick.c: methods `licks` and `text`.
_why [Tue, 16 Jun 2009 05:48:01 +0000 (22:48 -0700)]
 * core/lick.c: methods `licks` and `text`.
 * test/data/html.pn: test of using lick to build html.

16 years ago * core: lick.
_why [Tue, 16 Jun 2009 05:37:57 +0000 (22:37 -0700)]
 * core: lick.

16 years ago * test/closures/named.pn: test of named method args.
_why [Mon, 15 Jun 2009 23:32:36 +0000 (16:32 -0700)]
 * test/closures/named.pn: test of named method args.

16 years ago * core/compile.c: fix message/variable lookup. if a message name occurs past the...
_why [Mon, 15 Jun 2009 23:26:54 +0000 (16:26 -0700)]
 * core/compile.c: fix message/variable lookup. if a message name occurs past the beginning of an expression, it's not a variable.

16 years ago * core/compile.c: working on named args for method calls.
_why [Mon, 15 Jun 2009 23:15:31 +0000 (16:15 -0700)]
 * core/compile.c: working on named args for method calls.
 * core/vm.c: rearranging the OP_CALL register to order to match the layout of PN_F. (PN cl, PN self, ...)

16 years ago * core/gc.c: fix potion_type_size for plain PNObject types.
_why [Mon, 15 Jun 2009 19:52:24 +0000 (12:52 -0700)]
 * core/gc.c: fix potion_type_size for plain PNObject types.

16 years ago * test/api/gc-test.c: fix GC tests to use updated api.
_why [Mon, 15 Jun 2009 19:47:42 +0000 (12:47 -0700)]
 * test/api/gc-test.c: fix GC tests to use updated api.

16 years ago * core/vm-x86.c: 32-bit fix for named arguments in the jit.
_why [Mon, 15 Jun 2009 19:32:59 +0000 (14:32 -0500)]
 * core/vm-x86.c: 32-bit fix for named arguments in the jit.

16 years ago * core: added NAMED operation for assigning a named argument, before a CALL. also...
_why [Mon, 15 Jun 2009 19:25:41 +0000 (12:25 -0700)]
 * core: added NAMED operation for assigning a named argument, before a CALL. also, potion_sig_find for determining the order of named arguments.

16 years ago * core/compile.c: i want macros gone in the compiler.
_why [Mon, 15 Jun 2009 15:24:40 +0000 (08:24 -0700)]
 * core/compile.c: i want macros gone in the compiler.

16 years ago * core/table.c: an `each` method for lists.
_why [Sun, 14 Jun 2009 13:44:31 +0000 (06:44 -0700)]
 * core/table.c: an `each` method for lists.

16 years ago * core: beginning to add instance variables to classes. working the gc benchmark...
_why [Sat, 13 Jun 2009 14:36:12 +0000 (09:36 -0500)]
 * core: beginning to add instance variables to classes. working the gc benchmark around it.

16 years ago * Makefile: move the gc benchmark into `make bench`.
_why [Sat, 13 Jun 2009 06:09:59 +0000 (23:09 -0700)]
 * Makefile: move the gc benchmark into `make bench`.
 * test/api/gc-bench.c: no tests in the benchmark and use the same output as the boehm GCBench.

16 years ago * core: starting work on method signatures.
_why [Fri, 12 Jun 2009 16:30:21 +0000 (09:30 -0700)]
 * core: starting work on method signatures.

16 years ago * test/closures/upvals.pn: test use of setlocal with non-upvals.
_why [Wed, 10 Jun 2009 22:33:20 +0000 (15:33 -0700)]
 * test/closures/upvals.pn: test use of setlocal with non-upvals.

16 years ago * INTERNALS: summary of the garbage collector.
_why [Wed, 10 Jun 2009 16:44:26 +0000 (09:44 -0700)]
 * INTERNALS: summary of the garbage collector.

16 years ago * core: removing use of PN_FWEAK. it's an optimization that's rare and complicates...
_why [Wed, 10 Jun 2009 16:08:28 +0000 (09:08 -0700)]
 * core: removing use of PN_FWEAK. it's an optimization that's rare and complicates the stack scanner and the VM. anyway, turns out the JIT code is slightly simplified this route.

16 years ago * core/vm-x86.c: store upvals with the PN_FWEAK flag, like in the bytecode vm.
_why [Wed, 10 Jun 2009 06:10:05 +0000 (23:10 -0700)]
 * core/vm-x86.c: store upvals with the PN_FWEAK flag, like in the bytecode vm.

16 years ago * core/gc.c: ack, finished the job on the segfault from last commit.
_why [Wed, 10 Jun 2009 03:35:27 +0000 (20:35 -0700)]
 * core/gc.c: ack, finished the job on the segfault from last commit.