Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 16 Jan 2019 17:15:58 +0000] rev 438
Add missing primitive implementation for the plain interpreter.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 07 Aug 2018 17:18:20 +0100] rev 437
Tweak.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 07 Aug 2018 17:14:14 +0100] rev 436
Simplest method cache in run.cc
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 05 Aug 2018 20:06:00 +0100] rev 435
Shrink the default/initial heap a bit so it doesn't overwhelm smaller machines
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 05 Aug 2018 14:26:49 +0100] rev 434
Minor refactoring, eliding buildContext as a separate entity
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 05 Aug 2018 12:37:17 +0100] rev 433
Garbage collector.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 04 Aug 2018 16:23:51 +0100] rev 432
Typo fix
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 04 Aug 2018 11:56:53 +0100] rev 431
WIP C++ simple interpreter, product of yesterday evening's work
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 29 Jul 2018 22:19:29 +0100] rev 430
NOTES.md
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 29 Jul 2018 22:15:45 +0100] rev 429
Cosmetic
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 29 Jul 2018 21:58:14 +0100] rev 428
Fix pic keys; now recompilation seems to work at least a little
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 29 Jul 2018 20:52:31 +0100] rev 427
Better tinybenchmarks.rkt printing
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 29 Jul 2018 18:06:07 +0100] rev 426
Now working, up to recompilation
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 29 Jul 2018 16:20:03 +0100] rev 425
WIP, not running yet; needs work on home context references
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 29 Jul 2018 06:15:15 +0100] rev 424
Prep for PE experimental JIT
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 24 Jul 2018 18:26:39 +0100] rev 423
Cosmetic: rearrange code in jit-SmallWorld-2015.rkt
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 24 Jul 2018 14:00:58 +0100] rev 422
TODO re dependency links
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 22:34:26 +0100] rev 421
Noticeable speed boost from avoiding gratuitous out-of-lining of continuations.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 22:15:24 +0100] rev 420
Remove redundant filter step in recompilation-candidate.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 21:50:36 +0100] rev 419
Tweak inliner heuristics
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 21:49:28 +0100] rev 418
Missing primitive 13; correct (?) argument ordering (!)
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 21:08:51 +0100] rev 417
info -> debug recompilation
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 20:40:48 +0100] rev 416
`pic-bump!` to simplify some generated code
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 20:38:31 +0100] rev 415
Avoid passing around a literal stack length, when it's implicit
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 18:51:54 +0100] rev 414
It's weird, but consistent: sorting the letrec entries slows it down! Why?
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 18:41:40 +0100] rev 413
Recompilation and pic-based inlining. Slower than before!
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 23 Jul 2018 18:40:59 +0100] rev 412
Measure unboxing via a struct mutable field
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 22 Jul 2018 15:00:05 +0100] rev 411
Indirection to allow invalidation of cached compiled method
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 22 Jul 2018 14:38:00 +0100] rev 410
Expose pics, collect call stats, preparing for dynamic type feedback / recompilation
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 22 Jul 2018 14:00:04 +0100] rev 409
Repair pic fill-in code: it had been filling in only the final slot (!). ~7% speed boost
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 22 Jul 2018 11:50:39 +0100] rev 408
Inline self sends - a kind of method customization
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 22 Jul 2018 01:40:56 +0100] rev 407
Forgot a few identifiers relied on by primitive code snippets
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 21 Jul 2018 19:01:20 +0100] rev 406
Remove gratuitous layer of gensym
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 21 Jul 2018 18:57:53 +0100] rev 405
Plumbing preparation for method customization
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 21 Jul 2018 18:27:29 +0100] rev 404
Pull out gen-label-definitions
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 21 Jul 2018 18:11:55 +0100] rev 403
Factor out object-memory.rkt and primitives.rkt
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 21 Jul 2018 17:13:31 +0100] rev 402
Remove interpreter; refactor compiler to support block entry points (not needed by current image)
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 21 Jul 2018 11:15:20 +0100] rev 401
Java tinyBenchmarks results (needed a bit of hacking to get numbers out of it)
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 20 Jul 2018 22:51:21 +0100] rev 400
Experiment with using parameters to record continuations (as expected, it's slow)
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 19 Jul 2018 21:04:45 +0100] rev 399
tinyBenchmarks benchFib in Racket
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 18 Jul 2018 21:20:46 +0100] rev 398
More measurements.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 18 Jul 2018 18:16:43 +0100] rev 397
Update NOTES.md
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 18 Jul 2018 09:08:22 +0100] rev 396
Switch from mic to pic
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 17 Jul 2018 14:18:43 +0100] rev 395
Introduce struct mic
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 17 Jul 2018 14:07:46 +0100] rev 394
Hoist call to compile-native-proc into install-native-proc!.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 17 Jul 2018 14:04:41 +0100] rev 393
More bm-box.rkt
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 17 Jul 2018 13:49:47 +0100] rev 392
Small change toward avoiding consing selectors unnecessarily.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 17 Jul 2018 13:31:28 +0100] rev 391
See what automatically invalidating stale procedures might cost.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 17 Jul 2018 13:26:57 +0100] rev 390
Crude measurement of techniques for patching functions.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 17 Jul 2018 13:04:16 +0100] rev 389
Clean out comments & obsoleted code
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 17 Jul 2018 13:02:17 +0100] rev 388
Cosmetic
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 17 Jul 2018 13:02:08 +0100] rev 387
Factor out gen-send
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 16 Jul 2018 15:27:24 +0100] rev 386
Preserve abstraction (!)
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 16 Jul 2018 15:22:58 +0100] rev 385
Tighten let@ definition
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 15 Jul 2018 13:43:34 +0100] rev 384
Notes on Self techniques
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 15 Jul 2018 11:43:19 +0100] rev 383
Use log-vm-info instead of printf.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 15 Jul 2018 11:38:52 +0100] rev 382
Performance notes from hop
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 15 Jul 2018 11:38:44 +0100] rev 381
Primitive 117 has a dummy argument that I had neglected previously.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 15 Jul 2018 01:32:40 +0100] rev 380
NOTES.md
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 15 Jul 2018 01:32:17 +0100] rev 379
Proper direct sends (and MICs); inline primitive definitions
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 15 Jul 2018 01:30:37 +0100] rev 378
Remove resume-jit-context
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 15 Jul 2018 01:29:53 +0100] rev 377
Extract and make use of block->thunk, to support image-produced block calls.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 14 Jul 2018 23:35:48 +0100] rev 376
First measurable JIT for SmallWorld. Much obvious inefficiency remains to be removed
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 14 Jul 2018 17:06:38 +0100] rev 375
Split out most primitives into a separate routine.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 14 Jul 2018 16:43:13 +0100] rev 374
scan-image-for-all-classes.st, plus image updated using it
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 14 Jul 2018 15:55:33 +0100] rev 373
text-field% support
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 14 Jul 2018 15:41:54 +0100] rev 372
Support fileIn of files named on command-line
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 14 Jul 2018 15:34:41 +0100] rev 371
Initial sketch of letrec support in pe3.rkt
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 14 Jul 2018 14:05:09 +0100] rev 370
First file I/O primitives
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 23:45:31 +0100] rev 369
Image saving
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 22:44:18 +0100] rev 368
Simplest possible method cache. hop: 411861 bytecodes/sec; 65707 sends/sec --> 859845 bytecodes/sec; 106388 sends/sec
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 22:31:18 +0100] rev 367
Tighten (almost cosmetic)
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 22:26:57 +0100] rev 366
Two new primitives
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 22:26:19 +0100] rev 365
Repair error causing out-of-bounds index in ClassBrowser when new class selected when method selected
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 00:57:53 +0100] rev 364
Use oneshot.rkt instead of nasty async-channel
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 00:49:51 +0100] rev 363
Repair omitted reference to argument-location
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 00:46:59 +0100] rev 362
More closely match the way the Java captures blocks in callbacks.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 00:25:55 +0100] rev 361
Primitive 80
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 00:13:38 +0100] rev 360
Avoid double-triggering of list callback when the selection hasn't changed. This seems like a Racket weirdness?
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 13 Jul 2018 00:13:16 +0100] rev 359
Avoid concurrent activations of an action callback stomping on the saved block.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 12 Jul 2018 23:45:13 +0100] rev 358
Tidy tidy for debugging
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 12 Jul 2018 23:23:22 +0100] rev 357
Cosmetic
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 12 Jul 2018 22:46:45 +0100] rev 356
SmallWorld image (as from russellallen's github repo plus a few small changes)
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 12 Jul 2018 22:23:40 +0100] rev 355
Correct typo
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 12 Jul 2018 20:28:13 +0100] rev 354
Allow image access to current-inexact-milliseconds, so "0 tinyBenchmarks" runs.
0 tinyBenchmarks 903342 bytecodes/sec; 140903 sends/sec
on `leap`
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 12 Jul 2018 20:20:29 +0100] rev 353
Image loader and virtual machine for SmallWorld 2015 Smalltalk.
See http://web.engr.oregonstate.edu/~budd/SmallWorld/ReadMe.html and
https://github.com/russellallen/SmallWorld
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 11 Jul 2018 18:01:19 +0100] rev 352
Figure out an approach to something equivalent (?) to alpha-renaming
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 11 Jul 2018 16:27:37 +0100] rev 351
Experimental purity tracking in pe3.rkt; failing test cases (!)
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 11 Jul 2018 10:35:49 +0100] rev 350
Small `if` pe3.rkt example
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 11 Jul 2018 10:19:52 +0100] rev 349
More pe3.rkt examples
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 11 Jul 2018 00:04:08 +0100] rev 348
Repair pe3.rkt along lines suggested by pe3.hs
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Wed, 11 Jul 2018 00:03:18 +0100] rev 347
Bring pe3.hs (commented-out) example into line with the S-expression version!
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 10 Jul 2018 23:51:07 +0100] rev 346
Remove unneeded case
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 10 Jul 2018 23:00:46 +0100] rev 345
Simplify MaybeKnown
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 10 Jul 2018 22:57:47 +0100] rev 344
Haskell pe3 implementation, showing how to correct pe3.rkt
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 10 Jul 2018 22:44:28 +0100] rev 343
Fix type error in pe3.rkt
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 10 Jul 2018 14:45:41 +0100] rev 342
Refined example, pinpointing the problem, which is the hacky transfer of history information into the environment.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 10 Jul 2018 13:57:32 +0100] rev 341
Quote reconstructed s-exp for Lit AST node
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Mon, 09 Jul 2018 14:13:09 +0100] rev 340
Racket translation of August 2009's precedence-parsing.scm
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 08 Jul 2018 20:21:10 +0100] rev 339
Failing test case to continue with
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 08 Jul 2018 20:03:45 +0100] rev 338
Fixes
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 08 Jul 2018 18:33:01 +0100] rev 337
New approach to partial evaluation
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 08 Jul 2018 11:38:41 +0100] rev 336
merger
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 08 Jul 2018 11:34:51 +0100] rev 335
Another confused and ultimately broken stab at partial evaluation
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 01 Jul 2018 11:47:44 +0100] rev 334
Minor refinement: pull out extend-env/global.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 30 Jun 2018 12:17:45 +0100] rev 333
Remove the old (!) ApplyCached experiment.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 30 Jun 2018 11:00:30 +0100] rev 332
Strangely, pe.rkt's `parse` doesn't use its `env`. Remove it.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 30 Jun 2018 10:36:32 +0100] rev 331
Avoid printing closure environments, for ergonomic debugging
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 28 Jun 2018 14:46:15 +0100] rev 330
Minor improvements to pe.rkt
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 28 Jun 2018 11:35:58 +0100] rev 329
Modernize pe.scm --> pe.rkt, using match, struct etc.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 26 Feb 2016 04:54:19 -0500] rev 328
Add missing 'allocate metaprotocol.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 26 Feb 2016 04:21:12 -0500] rev 327
Variations on cola.rkt
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 26 Feb 2016 04:05:19 -0500] rev 326
Slight tweak to 'delegated; simple exercise of cola.rkt structures
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Fri, 26 Feb 2016 04:04:39 -0500] rev 325
Fix long-standing bug in cola.rkt.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sun, 07 Oct 2012 22:29:10 -0400] rev 324
Experiments with x86_64 syscalls from assembler on OS X 10.6.
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 07 Feb 2012 11:34:20 -0500] rev 323
merger
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 07 Feb 2012 11:33:38 -0500] rev 322
Notes
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Sat, 08 Oct 2011 15:36:03 -0400] rev 321
Sketch of dependencies
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Thu, 08 Sep 2011 13:12:12 -0400] rev 320
vau-cps, and tweaks
Tony Garnock-Jones <tonygarnockjones@gmail.com> [Tue, 30 Aug 2011 18:14:08 -0400] rev 319
First sketch of a COLA-style object model in Racket