)]}'
{
  "log": [
    {
      "commit": "204b2ab259d84797ada4200ccf049b4dba2b6875",
      "tree": "9c7033bf1ccc7d1fa7f5833138cfad7b24d1ff37",
      "parents": [
        "cf7f25f78107d0a92a326a23d7b5f98dd68a1661"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Apr 07 16:20:48 2020 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Apr 07 16:20:48 2020 +0900"
      },
      "message": "Bump Bazel version to 3.0.0\n\nChange-Id: I87857beb47dbc2c4a1a31db77ebd4598f3b88266\n"
    },
    {
      "commit": "cf7f25f78107d0a92a326a23d7b5f98dd68a1661",
      "tree": "ea7ee0cc6041ebee0726f035db64a57ad3643165",
      "parents": [
        "3d7a01e6fe417f39d99c6f9d60542819dcd72a82"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Mon Feb 17 10:13:02 2020 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Mon Feb 17 10:14:26 2020 +0900"
      },
      "message": "Bump required Bazel version to 2.1.0\n\nAlso bump bazlets to the latest master revision.\n\nChange-Id: Ifa6a9ec659c79ff76dda49a6d17c1a2525682dd8\n"
    },
    {
      "commit": "3d7a01e6fe417f39d99c6f9d60542819dcd72a82",
      "tree": "3acb1747a05d1e81c22681e6ecaee3959b098faa",
      "parents": [
        "199d14f3309e089912c2aabde0391a61e2bdad02"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Oct 29 14:55:44 2019 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Oct 29 14:55:44 2019 +0900"
      },
      "message": "mvn.sh: Use bazel-bin instead of bazel-genfiles\n\nRecent bazel versions put the output in bazel-bin. The bazel-genfiles\nwill only exist if it was symlinked to bazel-bin by an earlier version.\n\nChange-Id: I3244e8caaa45c868116d2468da7b556ec5b5b2dd\n"
    },
    {
      "commit": "199d14f3309e089912c2aabde0391a61e2bdad02",
      "tree": "9095273d1bd53d48005f3285731f6285efdc7700",
      "parents": [
        "c61fb2000a2e1f505f3f7d9f10e6ef3e2cb1fe3e"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Oct 29 14:51:24 2019 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Tue Oct 29 14:51:24 2019 +0900"
      },
      "message": "Update bazlets to latest master revision and build with Bazel 1.0.0\n\nIntroduce .bazelversion specifying version 1.0.0, and machinery in\nthe WORKSPACE to ensure that the minimum version is used.\n\nTest plan: bazel build all\n\nChange-Id: Iab9b87df506f5a5204c49e82449bca903f828fdf\n"
    },
    {
      "commit": "c61fb2000a2e1f505f3f7d9f10e6ef3e2cb1fe3e",
      "tree": "ce6d214d5298d00175b81a0b51bcfe51da26ddd7",
      "parents": [
        "a08c42d704b171bd7bd067adf14937f4863c0c25"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Sep 05 10:32:40 2019 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Sep 05 10:32:40 2019 +0900"
      },
      "message": "Bazel: Upgrade bazlets to the latest master revision\n\nChange-Id: Ifbc2e1f902196ef2e5245bfff04808fca080c5d4\n"
    },
    {
      "commit": "a08c42d704b171bd7bd067adf14937f4863c0c25",
      "tree": "6ac35f00a50dee13d8362b4a1fae27427b250ddb",
      "parents": [
        "8c9dacd81f18cbeb8daa598be5afa000cd5d985d"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Sep 05 09:54:14 2019 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Sep 05 09:54:14 2019 +0900"
      },
      "message": "Bazel: Add fixes for --incompatible_load_java_rules_from_bzl\n\nChange-Id: Ibdc2fddf5418180cab05e43be3d9824b7dcc6318\n"
    },
    {
      "commit": "8c9dacd81f18cbeb8daa598be5afa000cd5d985d",
      "tree": "ba2d5c67ae1e8ff5a62b634f7b713e28905a730e",
      "parents": [
        "02d2acff99b8e1d162d58635e7b8d3df07edaa8f"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Sep 28 06:42:06 2018 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david.ostrovsky@gmail.com",
        "time": "Mon Apr 01 19:45:18 2019 +0000"
      },
      "message": "Bump to version 1.4.4\n\nChange-Id: I0955c62e03862b5d41925bdf89ef89bf77b84921\n"
    },
    {
      "commit": "02d2acff99b8e1d162d58635e7b8d3df07edaa8f",
      "tree": "6447bd80d57480fe2e590ee0da54064017a9b512",
      "parents": [
        "e9430cda5877619e1ccdd395b450853feddc7f9c"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Sun Mar 31 23:01:55 2019 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Apr 01 19:43:34 2019 +0000"
      },
      "message": "Fix unbound variable bug in $consult/1\n\nWhen using consult([x1,x2]) or (consult(x1),consult(x2)),\nx1\u0027s clauses are erased before x2 is consulted.\nThe problem is due to the wrong unbound local variable File,\nintroduced in change Id9163384e960f9c39cd9e0169b25b9cf0b9e95a2.\n\nChange-Id: Iac5229f68292f08c5b1fc2aa0f6df702b4e6dd6d\n"
    },
    {
      "commit": "e9430cda5877619e1ccdd395b450853feddc7f9c",
      "tree": "8292c41cb65f30e9a5f6aca856c31651dc604125",
      "parents": [
        "81ee6ed610be5fef178bca904dfc2cab1db43ce8"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 01 22:12:59 2019 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Mon Apr 01 22:32:23 2019 +0200"
      },
      "message": "bazlets: Replace native.git_repository with skylark rule\n\nChange-Id: I69c525b734ade3d71a8303fbf3df651a032b4ce4\n"
    },
    {
      "commit": "81ee6ed610be5fef178bca904dfc2cab1db43ce8",
      "tree": "0eb1f1ef4a726e948a821df5fbb21208b8999163",
      "parents": [
        "7fdb08c9da8bea200798071a4359f6baa9b02559"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Sep 28 13:49:31 2018 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Sep 28 13:49:31 2018 +0900"
      },
      "message": "Format bzl files with buildifer\n\nChange-Id: If46dd52960fdd30ded55ec48bd7c457cae36318c\n"
    },
    {
      "commit": "7fdb08c9da8bea200798071a4359f6baa9b02559",
      "tree": "05b0078e21e7558cc66eb1191f9c3be8edec26e9",
      "parents": [
        "eb7ae20f2a264f35a0df3eae46a7f60f99349d6e"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Sep 28 06:41:36 2018 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Sep 28 06:41:36 2018 +0200"
      },
      "message": "Upgrade bazlets to latest revision\n\nChange-Id: Ib8eb4b4b8368a86a7faf5a5a80e31623a1520b8e\n"
    },
    {
      "commit": "eb7ae20f2a264f35a0df3eae46a7f60f99349d6e",
      "tree": "e68b3974148b45d916dff20f1538887eafb17b1a",
      "parents": [
        "9eaffdc036c405d0199d3e2a441896541b6e7c1c"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Sep 28 06:39:00 2018 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Sep 28 06:39:05 2018 +0200"
      },
      "message": "Suppress EqualsWrongThing flagged by error prone\n\nThis fixes the build:\n\nERROR: /home/davido/projects/prolog-cafe/BUILD:46:1: Building \\\n  liblang.jar (48 source files) failed (Exit 1)\njava/com/googlecode/prolog_cafe/lang/VariableTerm.java:193: error: \\\n  [EqualsWrongThing] Suspicious comparison between `val` and `this`\n\tif(val !\u003d this)\n\t       ^\n    (see https://errorprone.info/bugpattern/EqualsWrongThing)\n\nChange-Id: I17456d8ecea82862440b82993a99018bf9827987\n"
    },
    {
      "commit": "9eaffdc036c405d0199d3e2a441896541b6e7c1c",
      "tree": "929e7704e82c54046be2532c96fff44db49fa44e",
      "parents": [
        "3d340c5a26080d679bf5e2baf90b0c8a0372f025"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Jun 22 07:40:46 2017 +0200"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david.ostrovsky@gmail.com",
        "time": "Thu Jun 22 06:46:57 2017 +0000"
      },
      "message": "Simplify bazel build\n\nGiven that \u0027$\u0027 character is now allowed in globs and filegroup, we can\nsimplify the build rules. See [1] for more context.\n\n[1] https://github.com/bazelbuild/bazel/issues/374\n\nChange-Id: I69f7d1b9c01837dc54d718d9ab62d0f4d50dbc2e\n"
    },
    {
      "commit": "3d340c5a26080d679bf5e2baf90b0c8a0372f025",
      "tree": "00645c300a4ea127c17d13ef2db2843362b08496",
      "parents": [
        "183a86af914b9f3f1937059c2e168df278b2ede9"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri May 19 14:13:39 2017 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri May 19 14:13:39 2017 +0900"
      },
      "message": "Upgrade bazlets to latest revision\n\nChange-Id: I4903f7cde3698b7d97a852c2f410ee68e7d8628a\n"
    },
    {
      "commit": "183a86af914b9f3f1937059c2e168df278b2ede9",
      "tree": "1049b6bd36cff3111ea57f7c0922e52dd6a5898e",
      "parents": [
        "a1e30b2ff4378baaee872e9ef960ceb07113a949"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Feb 03 20:34:36 2017 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Feb 03 20:34:36 2017 +0900"
      },
      "message": "Bump to version 1.4.3\n\nChange-Id: Ia57c027c2d4c06039e20f3193103531a6b4a41b2\n"
    },
    {
      "commit": "a1e30b2ff4378baaee872e9ef960ceb07113a949",
      "tree": "b9b9c64bbf1559278a3b48dbea9a93812ce100b2",
      "parents": [
        "ac09b983b2717d328bc943420de69dad0caf4a8c"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Feb 02 23:09:19 2017 +0100"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Feb 03 06:04:18 2017 +0100"
      },
      "message": "Remove buck build\n\nChange-Id: Iac66f5540030031b8c4439a9c1e296035ff45dbc\n"
    },
    {
      "commit": "ac09b983b2717d328bc943420de69dad0caf4a8c",
      "tree": "287a8de6cc9d9043c34d42841c364676befc4136",
      "parents": [
        "127ced5d254ea64ea3938d8aff712a515b430198"
      ],
      "author": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Thu Feb 02 01:08:04 2017 +0100"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david@ostrovsky.org",
        "time": "Fri Feb 03 06:04:18 2017 +0100"
      },
      "message": "Implement bazel build\n\nThe implemented Bazel build is 100% compatible to Buck build.\n\nTest Plan:\n\n  $ bazel build :all\n  $ VERBOSE\u003d1 ./mvn.sh install\n  $ VERBOSE\u003d1 ./mvn.sh deploy\n\nBug: Issue 5336\nChange-Id: I13e0f78570e4063e8b4f8d13deff328c682eefef\n"
    },
    {
      "commit": "127ced5d254ea64ea3938d8aff712a515b430198",
      "tree": "a6bea546844ad783c6f0d5a70af050177ed450d8",
      "parents": [
        "f3d03c5fedd01f03872f8d2bb756cce50556aba3"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Sep 22 09:08:05 2016 +0200"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Sep 23 14:01:29 2016 +0000"
      },
      "message": "Bump to version 1.4.2\n\nChange-Id: Ib5a71fc49e843d3a528302cb076e68fec51dc62e\n"
    },
    {
      "commit": "f3d03c5fedd01f03872f8d2bb756cce50556aba3",
      "tree": "139abd4b27a50396c88d397647338c2782ccd53b",
      "parents": [
        "ce72c19fe3844ccfd8b53e392df39f2ac3153509"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Sep 22 09:05:51 2016 +0200"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Sep 23 14:00:42 2016 +0000"
      },
      "message": "Add --traditional option to swipl invocation\n\nThis allows building with swi-prolog version 7.x which seems to be\nthe only version available for OSX via Homebrew.\n\nChange-Id: I879d86e801cba75099abda6ac6698d30738efe75\n"
    },
    {
      "commit": "ce72c19fe3844ccfd8b53e392df39f2ac3153509",
      "tree": "c3e789e40148e7448d4c548ef90fde2c52b0600c",
      "parents": [
        "6ea47f33aaec4ef109c522a2a0c1130651ee4c8d"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Thu Sep 22 09:07:32 2016 +0200"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Sep 23 14:00:21 2016 +0000"
      },
      "message": "Build with Java 8\n\nChange-Id: Ia736fb268e815a7aea66a2b0d96ff6f5ba8ae211\n"
    },
    {
      "commit": "6ea47f33aaec4ef109c522a2a0c1130651ee4c8d",
      "tree": "832e2367653c77b7577c536300ed7d37a5b9c800",
      "parents": [
        "f9c434d110ceeb1a73743c3993fa4c1833408363"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Wed Sep 07 11:30:48 2016 +0900"
      },
      "committer": {
        "name": "David Ostrovsky",
        "email": "david.ostrovsky@gmail.com",
        "time": "Thu Sep 22 06:14:33 2016 +0000"
      },
      "message": "Upgrade bucklets to latest version\n\nTo get the same buck version as used on Gerrit\u0027s master branch. Given\nthat genrule removed deps attribute, switch to zip_file rule to offer\nall rule target that builds all artifacts.\n\nChange-Id: I6b7c91e710a51576585824ee9a47a9a952b6effa\n"
    },
    {
      "commit": "f9c434d110ceeb1a73743c3993fa4c1833408363",
      "tree": "b4f6ee4433b93375ee390c385c12fd5d9e5ed28e",
      "parents": [
        "529810135e28e5adf8d9bfccdc4331d893e68358"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Sep 02 11:02:47 2016 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "dpursehouse@collab.net",
        "time": "Fri Sep 02 11:02:47 2016 +0900"
      },
      "message": "Add mailmap\n\nChange-Id: I86936b1c5b513ee191052279f47a7a2793c0b582\n"
    },
    {
      "commit": "529810135e28e5adf8d9bfccdc4331d893e68358",
      "tree": "bcfc809d850482a103c9e60c3eeae0b0d9c3a4d8",
      "parents": [
        "f88bc959e99127b7beea19d305490661d3739e7c"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Sat Mar 21 16:12:46 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Sat Mar 21 16:12:46 2015 -0700"
      },
      "message": "Prolog Cafe 1.4.1\n\nChange-Id: I83b594bac1af5cee4dfbcd80578b7328b3a9e5e5\n"
    },
    {
      "commit": "f88bc959e99127b7beea19d305490661d3739e7c",
      "tree": "fa526cd07e707d1a7a3271635428a912be2c153e",
      "parents": [
        "d40afc479e3f15901254b66266f1514a9d78c81d",
        "c4a9f458ac5aa1211c60a869764db7e4b2994370"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 20 05:03:06 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 20 05:03:07 2015 +0000"
      },
      "message": "Merge changes Icaf1ef7f,I979c222a,I9e05ee0b,I798a4707,I7732f3ec\n\n* changes:\n  Add options to PrologMain to emulate usage in Gerrit\n  Cleanup formatting of PrologMain\n  Correct usage for cafeteria java_binary()\n  Remove version from PrologMain header\n  Add missing fake_pom_deploy.xml required by buck build deploy\n"
    },
    {
      "commit": "c4a9f458ac5aa1211c60a869764db7e4b2994370",
      "tree": "2049bf1c2eec95cdb35336a94d31e594efa20382",
      "parents": [
        "9f5a0e10c73e1d473bd9c53e784bd42908cb6c8d"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 20:31:27 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 21:33:55 2015 -0700"
      },
      "message": "Add options to PrologMain to emulate usage in Gerrit\n\nDisable features by default like IO and STATISTICS but\nallow them to be enabled with flags on the command line.\n\nAllow the caller to parse files outside of Prolog similar\nto Gerrit by passing in `-f foo.pl` flags to consult from\na stream that was opened outside of Prolog.\n\nCap the database size at 256 by default, similar to Gerrit\ncapping the user database. Allow this to be raised using a\nflag on the command line.\n\nBy default launch into the repl similar to SWI-Prolog.\n\nChange-Id: Icaf1ef7ff3bd2f19a7ded4735e1fc945ef7bbbb6\n"
    },
    {
      "commit": "9f5a0e10c73e1d473bd9c53e784bd42908cb6c8d",
      "tree": "6599f902ac79fb39c8febffe115a2a7ad2e01b6c",
      "parents": [
        "8c4623ac4ef265a4741b8248fa5e0cce6bdff9ba"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 19:49:37 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 19:54:44 2015 -0700"
      },
      "message": "Cleanup formatting of PrologMain\n\nChange-Id: I979c222ad812b1f3b769dbdfb66c8162f9a25e64\n"
    },
    {
      "commit": "8c4623ac4ef265a4741b8248fa5e0cce6bdff9ba",
      "tree": "baa8a985ce02b79cd7ad382bcfea591639d06b58",
      "parents": [
        "9746f586c22b6a391e918285d0e7f4f728a695bb"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 19:43:27 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 19:52:35 2015 -0700"
      },
      "message": "Correct usage for cafeteria java_binary()\n\nChange-Id: I9e05ee0b8fa5a500844e54454af3acd33f081484\n"
    },
    {
      "commit": "9746f586c22b6a391e918285d0e7f4f728a695bb",
      "tree": "41a81a4e4a517875f69787de691746dbbbdddb95",
      "parents": [
        "3f585d4cd02b8835963b0b601f324905d0e223f6"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 19:40:32 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 19:52:35 2015 -0700"
      },
      "message": "Remove version from PrologMain header\n\nIt has been a long time since 1.2.5.\n\nChange-Id: I798a470780a4f365c95cf3c8bb3158c0367bfc05\n"
    },
    {
      "commit": "3f585d4cd02b8835963b0b601f324905d0e223f6",
      "tree": "ad42a25c937e4caf0a560a3771353312ead3857d",
      "parents": [
        "2be5f8445c606a92d0a31eeaef2b4eff952efb02"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 19:40:58 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 19 19:52:35 2015 -0700"
      },
      "message": "Add missing fake_pom_deploy.xml required by buck build deploy\n\nChange-Id: I7732f3ec05124f09e39b496bd9d323f5adf2208d\n"
    },
    {
      "commit": "d40afc479e3f15901254b66266f1514a9d78c81d",
      "tree": "22ba9a2a2005c15b86d492c31d9b2b989f878408",
      "parents": [
        "914ea622604c93b088c4b451115543732c6c5f66"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Mar 19 14:29:36 2015 -0700"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Mar 19 16:40:04 2015 -0700"
      },
      "message": "Trail: Reduce initial size and grow exponentially\n\nDon\u0027t use exceptions for control flow.\n\nChange-Id: Ie75a1b647b27be29aed18f0d6a11ef3e6678fd9b\n"
    },
    {
      "commit": "914ea622604c93b088c4b451115543732c6c5f66",
      "tree": "047d93550106f43c43879da1efaf2824025a888f",
      "parents": [
        "2be5f8445c606a92d0a31eeaef2b4eff952efb02"
      ],
      "author": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Mar 19 14:27:35 2015 -0700"
      },
      "committer": {
        "name": "Dave Borowitz",
        "email": "dborowitz@google.com",
        "time": "Thu Mar 19 16:40:02 2015 -0700"
      },
      "message": "Trail: Whitespace and other minor cleanup\n\nChange-Id: I7d4c2cd3eef1277b1b73101927690c2d28ee6aef\n"
    },
    {
      "commit": "2be5f8445c606a92d0a31eeaef2b4eff952efb02",
      "tree": "b3bfb294604049811d9d8d70e7291de9152fc105",
      "parents": [
        "6bdf92e08a60f8a6767597cd062805879ac03598"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:31:12 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:31:12 2015 +0900"
      },
      "message": "Fix \u0027static field should be accessed in a static way\u0027 warning\n\nChange-Id: I9ea5bb37fa10c915ba39b294812f1c29d291fc09\n"
    },
    {
      "commit": "6bdf92e08a60f8a6767597cd062805879ac03598",
      "tree": "64a72aa7b4d9937ad4436b20bbf875c32af9589e",
      "parents": [
        "0eaa373c71c9bc2c8ef3b6d357439d7866c5cf07"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:27:35 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:27:35 2015 +0900"
      },
      "message": "Remove unused \u0027backslash\u0027 parameter in Token.escapeSequences\n\nChange-Id: I9216b3c0e29f3f43a62259a13f41ba22444a2eee\n"
    },
    {
      "commit": "0eaa373c71c9bc2c8ef3b6d357439d7866c5cf07",
      "tree": "8a1a1525fcf18cee8f77eed3dd2cdd1e8d2cf573",
      "parents": [
        "e6a8dfd2e2ee690005655a19855ec4358f7bb658"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:24:06 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:24:06 2015 +0900"
      },
      "message": "Add Javadoc for Term.copy to prevent \u0027unused parameter\u0027 warning\n\nChange-Id: I21543ab03ecb0fa2295f549555404bc0aa9f9c61\n"
    },
    {
      "commit": "e6a8dfd2e2ee690005655a19855ec4358f7bb658",
      "tree": "a90b89afbd790e1f5ab7dc606c171ebe3a89b592",
      "parents": [
        "c9c158d2d7b5d1ce5b2792c3f7959eb7442e394a"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:18:59 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:19:03 2015 +0900"
      },
      "message": "Fix unclosed resource warnings\n\nChange-Id: I9beec3e933a9973c216e9b8c4c1b33f9b1dd812e\n"
    },
    {
      "commit": "c9c158d2d7b5d1ce5b2792c3f7959eb7442e394a",
      "tree": "e23cf4498a6abe4e64d48c4fa77e0e5f7293bb1a",
      "parents": [
        "d40932a528b3d57d894b4955bd1cbc9a8fc85e71"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 16:23:47 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:01:19 2015 +0900"
      },
      "message": "Add implementation of hashCode in VariableTerm\n\nThe class implements equals() so it should also implement hashCode().\n\nChange-Id: Iea1a9dc9fdd480205f8ba0eb2e60a45f555acf91\n"
    },
    {
      "commit": "d40932a528b3d57d894b4955bd1cbc9a8fc85e71",
      "tree": "2b397ec29575083e46db0e21fa4e96e19ab006bb",
      "parents": [
        "957d818b46d06669c650e402698115cd6e0ec72e"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 15:26:00 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 16:01:13 2015 +0900"
      },
      "message": "Organize imports\n\nAdd setting file for Eclipse\u0027s \"organize imports\" tool, based on\nthe settings from the Gerrit project.\n\nOrganize the imports.\n\nChange-Id: Iecd65b8da4d6b48f39000d60cd3730f544159acc\n"
    },
    {
      "commit": "957d818b46d06669c650e402698115cd6e0ec72e",
      "tree": "ea8aa12c651b72b4f70e9edf3100aa74a798fd49",
      "parents": [
        "e2ea8b96ce4b1454d27620fe64263466a4111a13"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 15:21:46 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 15:55:13 2015 +0900"
      },
      "message": "Remove unused variables\n\nChange-Id: I15ab69c4d40fb8d9b97faceca256227cb9b893bd\n"
    },
    {
      "commit": "e2ea8b96ce4b1454d27620fe64263466a4111a13",
      "tree": "3b1538807fd6c0c4227ef11e8cd15118e2bbcd13",
      "parents": [
        "785157d9f84304e712875ae94f972fcce357b600"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 16:21:30 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 15:54:29 2015 +0900"
      },
      "message": "Fix warnings about member hiding\n\nThe member \u0027message\u0027 in the exception classes was hiding the member\nwith the same name in the superclass BuiltinException.\n\nChange-Id: Ia302d49574253d7270642b38510a6fbfb0a15f4d\n"
    },
    {
      "commit": "785157d9f84304e712875ae94f972fcce357b600",
      "tree": "b77be800e76d165fe059655a405b168fe3c2cfba",
      "parents": [
        "f0b18f883cc6f440e982db83fe2e8535b4ecd11a"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 15:18:24 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 15:54:06 2015 +0900"
      },
      "message": "Add missing serialVersionUID members\n\nChange-Id: I72ac13ceff7c4ffe3abee20a3bc8019e01ab5a76\n"
    },
    {
      "commit": "f0b18f883cc6f440e982db83fe2e8535b4ecd11a",
      "tree": "7475900c11f54f1fc7d402123fd85c9b24b9891e",
      "parents": [
        "b991b9250152262f761e434e1d243292e69e207f"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 15:13:56 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 15:53:40 2015 +0900"
      },
      "message": "Fix \u0027unnecessary cast\u0027 warnings\n\nChange-Id: I2cab1dc9c85ee082bfe76ed97e0c07e9dd42d025\n"
    },
    {
      "commit": "b991b9250152262f761e434e1d243292e69e207f",
      "tree": "c80ab0611b4ff53724059541a5c4af1bb78dd2ff",
      "parents": [
        "3e103581feca62e6b38fe64c7aeb09a2d1655f15"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 14:58:56 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 15:53:13 2015 +0900"
      },
      "message": "Fix \u0027references to generic type Class\u003cT\u003e should be parameterized\u0027 warnings\n\nChange-Id: I5d29a31ff3f6eede291f4beeac1c46ee25a0ced5\n"
    },
    {
      "commit": "3e103581feca62e6b38fe64c7aeb09a2d1655f15",
      "tree": "708f3479ea24a36f2d5c84432c153eeddce3dd8d",
      "parents": [
        "833e79fd91a909031b1eb7e69d58b63c401893d5"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 14:57:53 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 15:52:54 2015 +0900"
      },
      "message": "Fix \u0027redundant specification of type arguments\u0027 warnings\n\nJava 7 can infer type arguments. Using that when possible\ninstead of explicitly specifying the arguments usually makes\ncode easier to read and maintain.\n\nChange-Id: I0c7f24d869b6dc2ffee464dda8df48bceb293bb1\n"
    },
    {
      "commit": "833e79fd91a909031b1eb7e69d58b63c401893d5",
      "tree": "dbe8dfbd9f3d7a67a2f4e2afb769fa637a7199a1",
      "parents": [
        "e72ee44f474f04314e0cd17f1a4bd2344a8da01b"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 14:44:57 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 15:52:10 2015 +0900"
      },
      "message": "Add missing @Override annotations\n\nChange-Id: I0ad0c0952a556de4b38a0f31f38cfdc84f843508\n"
    },
    {
      "commit": "e72ee44f474f04314e0cd17f1a4bd2344a8da01b",
      "tree": "27b922c68478128aac32e0f9d0bd9e94cccbbfd5",
      "parents": [
        "e22151a218b26332ffafb3fde61015eee4d68c11"
      ],
      "author": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Mon Mar 16 15:27:06 2015 +0900"
      },
      "committer": {
        "name": "David Pursehouse",
        "email": "david.pursehouse@sonymobile.com",
        "time": "Wed Mar 18 06:51:22 2015 +0000"
      },
      "message": "Ignore .buckd\n\nChange-Id: I8937ecf3f3ad21ac15bf94b6400529ae987ddf71\n"
    },
    {
      "commit": "e22151a218b26332ffafb3fde61015eee4d68c11",
      "tree": "d0f8f8ffad12a6128fdcaf89f2b391e603c1489e",
      "parents": [
        "b83e111ef19694bc09013671c3333a1f50420575"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 21:44:17 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 21:44:17 2015 -0700"
      },
      "message": "Delete unused show() methods in choice point and trail\n\nChange-Id: Ie0204e6bf367dddfa27cc36437edf1af763ad6f5\n"
    },
    {
      "commit": "b83e111ef19694bc09013671c3333a1f50420575",
      "tree": "2ee59f13d8224ff90fc5ce007537e026d0c71280",
      "parents": [
        "facc64ad0c68bf2c0009b26b849ce6a7487215a5"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 20:49:25 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 20:49:25 2015 -0700"
      },
      "message": "Fix backtracking for arity-2 predicates\n\nIn commit d53fd3122110ad5440de6b8a4edfe65a17d6f457 there\nwas an accidental removal restoring the continuation when\na /2 predicate backtracked to try another choice point.\n\nPut back the missing \"engine.cont \u003d this.cont\" register.\n\nChange-Id: I244c3e2564cff04fef51afdcecb413617f7adae8\n"
    },
    {
      "commit": "facc64ad0c68bf2c0009b26b849ce6a7487215a5",
      "tree": "fc39b1ad8384388713fa3fd4c5e3d7af5d8b44bf",
      "parents": [
        "2d2246d555f9f509f45721318407c3a2f1173765"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 17:14:34 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 17:14:34 2015 -0700"
      },
      "message": "Ensure streamManager is not null when configuring user IO\n\nChange-Id: I3cc5644cfb3558836242076072e5bf1eeac2a577\n"
    },
    {
      "commit": "2d2246d555f9f509f45721318407c3a2f1173765",
      "tree": "754717b85fb1c354100e37d6a35b8d84dfd293df",
      "parents": [
        "4f58714e62345ee5e9c80d5651ef26944eb3a5ff"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 17:10:08 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 17:10:08 2015 -0700"
      },
      "message": "Remove pl2am clause that silently accepts failure\n\nIf pl2am translation fails the calling Java driver expects\nthe goal to fail. By accepting _ anything was allowed to go\nthrough silently, deferring Prolog errors until javac tried\nto compile an empty input directory.\n\nChange-Id: I141a36cf52117dcc63baffdf93c8ee896f188d76\n"
    },
    {
      "commit": "4f58714e62345ee5e9c80d5651ef26944eb3a5ff",
      "tree": "dbe89b0e6735dc8623f579aae667ccd792f4a406",
      "parents": [
        "92d1696427a40343b04f005b8370b7e1dcb32c82"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 16:59:39 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 16:59:39 2015 -0700"
      },
      "message": "Fix jtry9, jtry10 to store all 9 (or 10) registers\n\nChange-Id: I02d7ad3796c7071e60fee0f700a0b0e6b53c941c\n"
    },
    {
      "commit": "92d1696427a40343b04f005b8370b7e1dcb32c82",
      "tree": "5a9f2a01f4eb28cd30408e93f7442747095511c0",
      "parents": [
        "3248e0ac735d717a9f33ea95a6a555462e828fe5"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 16:58:00 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 16:58:56 2015 -0700"
      },
      "message": "Add :plc target to build the full compiler JAR\n\nHaving a single combined JAR makes it easier to run the compiler\nfrom the command line for testing.\n\nChange-Id: I8dc88608b1018c117fcae122677ee8530ab95a94\n"
    },
    {
      "commit": "3248e0ac735d717a9f33ea95a6a555462e828fe5",
      "tree": "2d8dc7529a8ec81f2dd9587462f1429f29540651",
      "parents": [
        "d8a7afcdfa4777df8cac42b32e6c375b4b3e29bd"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 16:55:52 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 16:55:52 2015 -0700"
      },
      "message": "Remove unused imports\n\nChange-Id: I52bde22d628d5ef9096a62e812e3ba6817a7f5fa\n"
    },
    {
      "commit": "d8a7afcdfa4777df8cac42b32e6c375b4b3e29bd",
      "tree": "f6ebcb63c815560338ee101bee5d7d24efc95e9d",
      "parents": [
        "efc5bbe51fb8eea1c7eb3407c7eaba42cd4753aa",
        "1c9873c188465564acb6d93d10eb5aa033905ed8"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 20:24:22 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 20:24:23 2015 +0000"
      },
      "message": "Merge \"Use Java based table-switch for type switches\""
    },
    {
      "commit": "efc5bbe51fb8eea1c7eb3407c7eaba42cd4753aa",
      "tree": "61cbd134e69bd71196c084666476efb5a2dae572",
      "parents": [
        "37e4746364c7fd00df985526ddc488903ac1bc42"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 22:01:53 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 22:02:45 2015 -0700"
      },
      "message": "Remove dead code for generating fail/0 label\n\nThe imports arrange for fail_0 to always be present so it is no longer\nnecessary to look if fail/0 is used in a switch_on_term() opcode and\ninsert the label during pl2am translation.\n\nChange-Id: I80c1c68227fb597560243ee56d5f7b7de2619ede\n"
    },
    {
      "commit": "1c9873c188465564acb6d93d10eb5aa033905ed8",
      "tree": "3c0636c57e01fda90f96ebed451337651fd1ee2d",
      "parents": [
        "37e4746364c7fd00df985526ddc488903ac1bc42"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 19:29:31 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 19:30:24 2015 -0700"
      },
      "message": "Use Java based table-switch for type switches\n\nPredicates that use different clauses for different types of terms use\na type switch on the first argument/register.  Rewrite this as a\nproper table switch in Java so the JVM can emit an efficient switch\nstatement.  Use a virtual method and lightweight ints enumerated from\n0 to N in the order the switch was previously written in to get an\nefficient implementation for the JIT.\n\nChange-Id: If7274ec8776479afe70bbec0882768d7a28b4c64\n"
    },
    {
      "commit": "37e4746364c7fd00df985526ddc488903ac1bc42",
      "tree": "e46ec7ed840fe07ec06442261378885d5da97560",
      "parents": [
        "611ca3b912b2d466085ef0fc87715d03c954cce2",
        "39f0cc85c21f9e1f0f78d78824044d1d7c7b34d5"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 13 02:19:39 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 13 02:19:40 2015 +0000"
      },
      "message": "Merge changes I4ba34cab,Ifb7baa1d,If3d41c14,I165c6710,I78ab48d8, ...\n\n* changes:\n  Inline is{Integer,Double,Symbol,List,...} with instanceof\n  Expand statistics feature to cover all vm stats\n  Apply reduction limit during evaluation\n  Remove incorrect copyright header from Google\n  Move user stream IO setup to common PrologControl\n  Apply Gerrit-style formatting settings for Eclipse\n"
    },
    {
      "commit": "39f0cc85c21f9e1f0f78d78824044d1d7c7b34d5",
      "tree": "5ae31a78b20760a6691ef279fd0ffa14d6efe7a2",
      "parents": [
        "6ac9bc974598d5463b824d2fbe52d35080f21f2a"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 17:18:55 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 17:18:55 2015 -0700"
      },
      "message": "Inline is{Integer,Double,Symbol,List,...} with instanceof\n\nMost places that type-test a Term immediately downcast if the type\ntest is successful. The Java JIT is used to seeing \"x instanceof Foo\"\nbefore \"((Foo) x)\" and can optimize the type-test and downcast logic\nin machine code to only check the type once.\n\nTake advantage of that by swapping out the isXxx() methods on Term\nfor proper instanceof checks in the Java code.\n\nFlip the logic for $cut around to be more like human written code\nwhere the common success path is the term is the correct type and\ncan be immediately downcast. JITs expect this flow as it happens\nso often in Java source, and $cut happens often in the Prolog meta\ninterpreter.\n\nChange-Id: I4ba34cab751b6060a3b1cc1adbf75ed0019b36fd\n"
    },
    {
      "commit": "6ac9bc974598d5463b824d2fbe52d35080f21f2a",
      "tree": "9695d0186cbd55039379bd118d5a9970c5b675a4",
      "parents": [
        "f863c56471bc596b4ff0c868a5343b53b64729be"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 16:39:27 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 16:39:27 2015 -0700"
      },
      "message": "Expand statistics feature to cover all vm stats\n\nBlock access to the choice point stack and trail stats\nunless the statistics feature is enabled for the VM.\n\nChange-Id: Ifb7baa1ddc1605c3324e0c1f5f802b1daf2b6f05\n"
    },
    {
      "commit": "f863c56471bc596b4ff0c868a5343b53b64729be",
      "tree": "5ebecca385605ba48579153f216ad391c287cd30",
      "parents": [
        "21662fb490ef2c370572a803f4304a18bc2a7bbc"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Wed Mar 11 20:10:38 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 16:37:23 2015 -0700"
      },
      "message": "Apply reduction limit during evaluation\n\nCaps the amount of virtual CPU time that a single goal\ncan consume during all searches for solutions. Each\nreduction is one predicate invocation or alternate tried.\n\nChange-Id: If3d41c14b9dd5330afe30f5a9ba502e2582c2e83\n"
    },
    {
      "commit": "21662fb490ef2c370572a803f4304a18bc2a7bbc",
      "tree": "3c5d5b8c10527ac1bec6737025c2ede8d8dec4b4",
      "parents": [
        "2883d29733281c2c8dffe45e980a3d2370258f2e"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 16:26:38 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 16:27:36 2015 -0700"
      },
      "message": "Remove incorrect copyright header from Google\n\nMy Eclipse was misconfigured years ago and wrote this header\non ChoicePointFrame when the class was refactored out of other\ncode that came from the original Prolog Cafe. Google never had\nthe intention of reserving all rights; the file is under the dual\nGPL+EPL license used by the project.\n\nChange-Id: I165c6710bfd6cb47c8816799ead574de0d8c8139\n"
    },
    {
      "commit": "611ca3b912b2d466085ef0fc87715d03c954cce2",
      "tree": "ec4859f613f7d27aee15706f9b69398e5fee6f67",
      "parents": [
        "a227d07c13272044a8a61d29f4758340900dc2dd",
        "cdbce7081751fdfe9370e9f7c29aa426273c4b50"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 23:20:36 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Mar 12 23:20:36 2015 +0000"
      },
      "message": "Merge changes I40e7f7c1,I6542c6eb\n\n* changes:\n  Return to jtry1..jtry10 to save space\n  Statically import fail/0 instead of defining new fields\n"
    },
    {
      "commit": "2883d29733281c2c8dffe45e980a3d2370258f2e",
      "tree": "06e2cbc8e1a6d16437f9abea21d89de712aa6d49",
      "parents": [
        "abc19b0dd0aa852e52565288f44fbcb955c82183"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Wed Mar 11 20:26:36 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 16:18:12 2015 -0700"
      },
      "message": "Move user stream IO setup to common PrologControl\n\nThis allows Gerrit Code Review\u0027s PrologShell to setup the\nuser_{input,output,error} streams the same way the other\nrepl code does\n\nStreams are optional and are simply not registered if\npassed as null.\n\nChange-Id: I78ab48d8779a12d05b9109cada6048f4e08037f8\n"
    },
    {
      "commit": "abc19b0dd0aa852e52565288f44fbcb955c82183",
      "tree": "520c1aced698919abe79dd3b399f0d37a12452c4",
      "parents": [
        "a227d07c13272044a8a61d29f4758340900dc2dd"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 16:13:56 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 16:13:59 2015 -0700"
      },
      "message": "Apply Gerrit-style formatting settings for Eclipse\n\nChange-Id: I999a02c950ec055d617408da823e98285bdf0f2d\n"
    },
    {
      "commit": "a227d07c13272044a8a61d29f4758340900dc2dd",
      "tree": "b240bb6aec03f45e30b0884ee0606de7f471e347",
      "parents": [
        "d53fd3122110ad5440de6b8a4edfe65a17d6f457"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 14:47:54 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 14:48:24 2015 -0700"
      },
      "message": "Remove plcafe examples using Java from Prolog\n\nThese no longer work since Java interop was removed\nby commit 158247d044f9b4eb072780eb5ed08538bd9e7033.\n\nChange-Id: I632a656bc9ab8ccf85ada801a746b635c098ea51\n"
    },
    {
      "commit": "cdbce7081751fdfe9370e9f7c29aa426273c4b50",
      "tree": "9b5d7069b6fd41dd2a6ba888f0f9ba61c78f8b4b",
      "parents": [
        "192bd97eb9e3a50ec9129928f8ed9b3ca142563f"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 00:36:30 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 00:41:31 2015 -0700"
      },
      "message": "Return to jtry1..jtry10 to save space\n\nEncoding ChoicePointFrame.Sn into the bytecode of each\ncompiled predicate resulted in a larger runtime JAR in\ncommit d53fd3122110ad5440de6b8a4edfe65a17d6f457.\n\nReturn to the previous jtry1...jtryN helper methods\nthat allocate the new frame and continue.\n\nChange-Id: I40e7f7c181c7064071141ac6d40b28a4516abd50\n"
    },
    {
      "commit": "192bd97eb9e3a50ec9129928f8ed9b3ca142563f",
      "tree": "860f45b029934f249a1ac0dfa4dac66f5248f3ba",
      "parents": [
        "d53fd3122110ad5440de6b8a4edfe65a17d6f457"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Wed Mar 11 22:47:27 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 00:26:37 2015 -0700"
      },
      "message": "Statically import fail/0 instead of defining new fields\n\nThe compiler almost always created a new field in every predicate\nnamed fail_0, initialized to the static instance inside of Failure.\nInstead drop the label and statically import fail_0.\n\nChange-Id: I6542c6eb91e997dc6f32e6680dede943cb034deb\n"
    },
    {
      "commit": "d53fd3122110ad5440de6b8a4edfe65a17d6f457",
      "tree": "fb066b78a4c9a336ea7fcd410c418bdd32ededef",
      "parents": [
        "95d96d8a54dc5ad3a3ab2621e3d87902efa92a22"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Wed Mar 11 22:14:16 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 00:24:16 2015 -0700"
      },
      "message": "Pin maximum functor arity to 10\n\nThe compiler needs an arity of 10 to compile itself into Java.\nGerrit Code Review pins the arity to 8 to ensure an optimized\ncode path is always used.\n\nSimplify the virtual machine code by pinning the arity to 10 and\nextending the choice point saving optimization for all ranges.\nThis eliminates some weird code paths using an array for extra\nregisters beyond the optimized 8.\n\nSimplify register naming by using r1...r10 instead of areg1...areg10.\n\nChange-Id: I6ffdc8c8ab1cb94886f9a303021d210c263892b0\n"
    },
    {
      "commit": "95d96d8a54dc5ad3a3ab2621e3d87902efa92a22",
      "tree": "dba036b6e3a1bb5b0249d029489661dba3ab6140",
      "parents": [
        "5e4bae815e75233924ce5f772189ef2a04047a66"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 00:07:16 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 12 00:08:02 2015 -0700"
      },
      "message": "Remove unused symbol constants\n\nThese were only used by IO predicates removed earlier\nby commit d56882fa79df9e9b47a1906b2a3662fe6d0727b5.\n\nChange-Id: I39b051d0fb744a5c1bd3122eea0f26961efa8531\n"
    },
    {
      "commit": "5e4bae815e75233924ce5f772189ef2a04047a66",
      "tree": "17a5a3b14f31fd390ecb20810b491cec072d0c86",
      "parents": [
        "33a19c01587467c4d27a1982370bba41626a9edb"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Tue Mar 10 22:46:36 2015 -0700"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Tue Mar 10 22:46:36 2015 -0700"
      },
      "message": "Update bucklets\n\nChange-Id: I0d30f153267756d6496c43e987c6920ebdf5a84b\n"
    },
    {
      "commit": "33a19c01587467c4d27a1982370bba41626a9edb",
      "tree": "fef868190394d0ad4884cfeb38b15c05dbb1ff44",
      "parents": [
        "efc053c1a5b36daa25c8a41d6860c4482cd673d7"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 06 16:52:05 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 14:19:36 2015 -0700"
      },
      "message": "Disable all features by default\n\nForce callers to specifically enable required features before\nrunning Prolog that needs to do file IO (e.g. pl2am or am2j) or\nobserve runtime statistics (consult in cafeteria).\n\nChange-Id: Ifa24702806c7bf3425a0f5b497bf2c84f874d61f\n"
    },
    {
      "commit": "efc053c1a5b36daa25c8a41d6860c4482cd673d7",
      "tree": "0f246ecd9c8f45d68b5f0b06fb27e77d92ff1918",
      "parents": [
        "398e1df7185ed9a9507c63aa41972d64c96e3a8c"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 06 16:36:30 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 14:19:32 2015 -0700"
      },
      "message": "Move exception types to their own package\n\nThis shrinks the size of the lang package leaving it for the\ntype system and the virtual machine. Moving exceptions out\nto their own package mirrors similar approach inside JGit.\n\nChange-Id: I7bf1504e15d51efe21d100854d245f54f567b23a\n"
    },
    {
      "commit": "398e1df7185ed9a9507c63aa41972d64c96e3a8c",
      "tree": "49c489f1e72493ff42c7da3a8313ab0bb5e93fc1",
      "parents": [
        "64aea82e1030aa2fd4512699ccc15e64feb3cf3a"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 06 16:28:35 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 14:02:52 2015 -0700"
      },
      "message": "Remove unused or incomplete prolog flags\n\nSome of these were not fully implemented by the original Prolog Cafe\nauthors. Others are just unused within the Prolog Cafe library or\nby Gerrit Code Review. Cut them to reduce the size of the library.\n\nChange-Id: Ia1ee22fc967c987ec87beddaa3f481a67d1e47f5\n"
    },
    {
      "commit": "64aea82e1030aa2fd4512699ccc15e64feb3cf3a",
      "tree": "867fe1e54bedeb6b43a8c590d38be85a1622d7ba",
      "parents": [
        "ee6911987dde70e53362a27c2fac46af0cc8b231"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 06 16:09:51 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 14:02:52 2015 -0700"
      },
      "message": "Remove more dead Java integration code\n\nChange-Id: Ie6d2c9f89920d505c35b9948dd07cdf490118c34\n"
    },
    {
      "commit": "ee6911987dde70e53362a27c2fac46af0cc8b231",
      "tree": "5587b1472e0a0693de87adf68629ca43e8d5e70a",
      "parents": [
        "280259e83fe2950a9755392a1d109f7ecd592c94"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 06 16:09:32 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 14:02:52 2015 -0700"
      },
      "message": "Move read-eval-print code to its own repl package\n\nThese are not required for Gerrit Code Review\u0027s server usage\nso pull them into their own package outside of lang.\n\nChange-Id: I790d74f70bda5903a9432ec83f94d731fa2d3cc0\n"
    },
    {
      "commit": "280259e83fe2950a9755392a1d109f7ecd592c94",
      "tree": "8bd61d9c39ee38b1eb9c7abee44681c47ae64fdb",
      "parents": [
        "d56882fa79df9e9b47a1906b2a3662fe6d0727b5"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 06 12:32:24 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 14:02:52 2015 -0700"
      },
      "message": "Package in Maven format for Gerrit Code Review\n\nMove CompileException into lang as this is heavily used by the\nruntime RulesCache inside Gerrit Code Review.\n\nChange-Id: Ie9235507ae20a4bda936e94fddd1c277bbaf7933\n"
    },
    {
      "commit": "d56882fa79df9e9b47a1906b2a3662fe6d0727b5",
      "tree": "d2043f2a88bcf5f4420c48625bfb86d8a7ddba2e",
      "parents": [
        "ab8b7c354f9c8b5dc395c3cbcb47e04c8789e039"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Fri Mar 06 00:15:01 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 14:02:51 2015 -0700"
      },
      "message": "Remove support for current_input and current_output\n\nThe current input and output is mostly useful for interactive programs\nrunning from the command line, but Prolog Cafe is never used that way\nby Gerrit Code Review.\n\nChange-Id: Id9163384e960f9c39cd9e0169b25b9cf0b9e95a2\n"
    },
    {
      "commit": "ab8b7c354f9c8b5dc395c3cbcb47e04c8789e039",
      "tree": "c49ea2fa4447e36681befabaf7c14fb9a7fe5f85",
      "parents": [
        "4da8f2d981654cf650e851a801a6d8d956c4748f"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 23:12:57 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 14:02:47 2015 -0700"
      },
      "message": "Move interactive read-eval-print out of runtime\n\nThis is not required for a server process like Gerrit Code Review.\nYanking it out of the runtime JAR slims the binary down by a few\nhundred KiBs as the interactive debugger and associated code can\nalso be trimmed out.\n\nConsulting a file in the interactive console now requires using\n\n  consult(\u0027path/to/file.pl\u0027).\n\ninstead of the short-hand [\"path/to/file.pl\"] that many Prolog\nimplementations honor.\n\nChange-Id: I5c8df131df349d5ca65d5684ed7cc1881247563b\n"
    },
    {
      "commit": "4da8f2d981654cf650e851a801a6d8d956c4748f",
      "tree": "b2b89d04e1dbb37217b890eeb1bcd90c0c9d870f",
      "parents": [
        "76e23eb4426647cd886be53aed2ead55d85f5c47"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 22:45:49 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 10:50:24 2015 -0700"
      },
      "message": "Move directory predicates to be compiler private\n\nThese predicates are only used by the am2j compiler. Moving them into\nthe compiler package space and the compiler binary allows them to be\nomitted from the runtime.\n\nChange-Id: I62bbf367ce224b0022d31f27122fb81d46b100a3\n"
    },
    {
      "commit": "76e23eb4426647cd886be53aed2ead55d85f5c47",
      "tree": "0a0c1a45c2a075f3e208b7afde610f5239f546e5",
      "parents": [
        "044d3e9896ad499a73cd41bcd7f448d2da42525f"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 21:32:44 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Mon Mar 09 10:50:13 2015 -0700"
      },
      "message": "Build Prolog Cafe with Buck\n\nCreating the Eclipse project configuration is trivial as there are\nno dependencies for Prolog Cafe beyond its single source directory\nand the JVM.\n\nChange-Id: I64b2349437daae11e543133e631a22e4e3c96255\n"
    },
    {
      "commit": "044d3e9896ad499a73cd41bcd7f448d2da42525f",
      "tree": "8fd4cdec3fc8ffa003c0f84e4598752bfcf22188",
      "parents": [
        "33672456b21167e88fcb2e1b09d084de10c2de08"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 22:47:36 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 22:49:58 2015 -0800"
      },
      "message": "Fix typo for otherwise/0 in builtins.pl\n\nChange-Id: If1135ef2faec7acd4429c9c9068dc001ac716149\n"
    },
    {
      "commit": "33672456b21167e88fcb2e1b09d084de10c2de08",
      "tree": "3ab4e9b9b3cd742769e99d48de3564b6293c45e0",
      "parents": [
        "158247d044f9b4eb072780eb5ed08538bd9e7033"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 20:56:35 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 22:49:58 2015 -0800"
      },
      "message": "Remove unused exists_file/1\n\nThis is not used by the compiler and is disabled\nwhen running inside Gerrit Code Review.\n\nChange-Id: I76c2d52cb8ecc7c647702b352daa7936cc0edc0d\n"
    },
    {
      "commit": "158247d044f9b4eb072780eb5ed08538bd9e7033",
      "tree": "2c344c71a70b4e63ac8931206296c724d4f9d25c",
      "parents": [
        "08a996bf1675a99bb290c960f1d06c9c688f00ba"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 20:09:42 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 22:49:58 2015 -0800"
      },
      "message": "Remove Java reflection/interop support\n\nThis is not used in the context of Gerrit Code Review but is a\nnon-trivial amount of code to continue to track. Drop the code\nto simplify the system.\n\nChange-Id: I5ce320970e549fc18d4e9195e7aa98b6ed352c4c\n"
    },
    {
      "commit": "08a996bf1675a99bb290c960f1d06c9c688f00ba",
      "tree": "beb95fdf26e33c3174412a5c86dc3fb406443414",
      "parents": [
        "d80227b1d425b50cec846b3121e01e0b4c703ec2"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 19:49:16 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 20:24:21 2015 -0800"
      },
      "message": "Remove \u0027require getopts.pl\u0027 as the Perl module is dead\n\nThe other use Getopt lines are sufficient to import\noption parsing support for the tools.\n\nChange-Id: Ic07c43e13fd3b1ec9adcb2bd11914294ba24258f\n"
    },
    {
      "commit": "d80227b1d425b50cec846b3121e01e0b4c703ec2",
      "tree": "fec6eebed95c7fd7878ab29d05ca629e2d9819ed",
      "parents": [
        "b73210e3385b6a4fdbf8928b2980c6a0e821ca4c"
      ],
      "author": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 19:48:13 2015 -0800"
      },
      "committer": {
        "name": "Shawn Pearce",
        "email": "sop@google.com",
        "time": "Thu Mar 05 20:24:07 2015 -0800"
      },
      "message": "Update Eclipse preferences to use UTF-8 encoding\n\nChange-Id: Ia679eed9214baee92c76aa5e4b3aa70563eff1ea\n"
    },
    {
      "commit": "b73210e3385b6a4fdbf8928b2980c6a0e821ca4c",
      "tree": "48f03c46231b747b4ebbb251c0a991a7af2232e5",
      "parents": [
        "d8e4e7e8b5d5fff9765ca75994fb12dbe6bde1be"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Dec 02 09:51:16 2011 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Dec 02 09:57:02 2011 -0700"
      },
      "message": "Update pom file to v1.3 for a release.\n\nChange-Id: I35fcf3aa8fc6c0200348e9b21e9b02cd79703a29\n"
    },
    {
      "commit": "d8e4e7e8b5d5fff9765ca75994fb12dbe6bde1be",
      "tree": "f9a8523822f079224b7f36994f1b58be24885319",
      "parents": [
        "4b7107019b87189ce7d516ac466c40173ab38dcc"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Tue Nov 08 16:58:58 2011 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Fri Dec 02 09:54:25 2011 -0700"
      },
      "message": "Add repo mailing list to pom file\n\nSince this project is now maintained by the Gerrit\ncommunity, it makes sense for discussion to\nhappen on the repo list.\n\nChange-Id: Iedcd3810995823dc8e7ee06579542b3afb065ee3\n"
    },
    {
      "commit": "4b7107019b87189ce7d516ac466c40173ab38dcc",
      "tree": "df0db6536486cc7aeae02ef680e375caf06925d2",
      "parents": [
        "217da017ee2c250035e1f16830417baa2a162ccc"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Tue Nov 08 11:54:33 2011 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Tue Nov 08 11:56:44 2011 -0700"
      },
      "message": "Adding wagon extension to pom file\n\nThe maven on ubuntu is built without wagon support,\nsee:\nhttp://spring-java-ee.blogspot.com/2010/03/solving-maven-deployrelease-problem.html\n\nChange-Id: I7632b70528ab480887f54bc7047c5ca77e0627d3\n"
    },
    {
      "commit": "217da017ee2c250035e1f16830417baa2a162ccc",
      "tree": "4abfe88eb40fb0b51e2469cceb093fde9333b180",
      "parents": [
        "9839e0f23e8ae8e31f8ccb6550737597122044ff"
      ],
      "author": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Tue Nov 08 11:22:41 2011 -0700"
      },
      "committer": {
        "name": "Martin Fick",
        "email": "mfick@codeaurora.org",
        "time": "Tue Nov 08 11:55:36 2011 -0700"
      },
      "message": "Add distributionManagement section to pom file\n\nThis will allow the project to be deployed directly\nfrom maven.\n\nChange-Id: I71b6667b70061fece8dcf9527b8045b85c0d343e\n"
    },
    {
      "commit": "9839e0f23e8ae8e31f8ccb6550737597122044ff",
      "tree": "bbf0b02ae00a8d4f450c8f00157b39f88a0983fd",
      "parents": [
        "eae51d647d3da8bbb4ab8ab2ef1276bffd785437"
      ],
      "author": {
        "name": "Jason Tsay",
        "email": "jasontsay@google.com",
        "time": "Fri Jul 15 10:27:45 2011 -0700"
      },
      "committer": {
        "name": "Jason Tsay",
        "email": "jasontsay@google.com",
        "time": "Fri Jul 15 10:29:58 2011 -0700"
      },
      "message": "Turns on multiline matching for regex_compile\n\nNow the pattern generated from regex_compile will match on a\nline-by-line basis, useful for matching a pattern in a multi-line\ncommit message.\n\nChange-Id: I3db9ac5f9597c360fc7600ce3b33dfe0cda7d90e\n"
    },
    {
      "commit": "eae51d647d3da8bbb4ab8ab2ef1276bffd785437",
      "tree": "5ff072eb2b87ce47ba4c19d7fa6251f4a5b286de",
      "parents": [
        "ba3b8414a98c81371cffa65ec8769d29c46d6b8a"
      ],
      "author": {
        "name": "Jason Tsay",
        "email": "jasontsay@google.com",
        "time": "Thu Jul 14 14:38:38 2011 -0700"
      },
      "committer": {
        "name": "Jason Tsay",
        "email": "jasontsay@google.com",
        "time": "Thu Jul 14 14:49:35 2011 -0700"
      },
      "message": "Renames regex to regex_matches in builtins.pl\n\nChange-Id: I24b3d734983fd5f98a64c435b20f2b647c4d3bf6\n"
    },
    {
      "commit": "ba3b8414a98c81371cffa65ec8769d29c46d6b8a",
      "tree": "14aad5361a861700af3860e13abc44e48910a898",
      "parents": [
        "7844ba4f55af24adc7a7dd074891b243650e7fca"
      ],
      "author": {
        "name": "Jason Tsay",
        "email": "jasontsay@google.com",
        "time": "Fri Jul 01 16:19:15 2011 -0700"
      },
      "committer": {
        "name": "Jason Tsay",
        "email": "jasontsay@google.com",
        "time": "Mon Jul 11 12:01:57 2011 -0700"
      },
      "message": "Add regex/2,3 predicate\n\nregex/3 predicate takes a pattern term in the form of a regular\nexpression and either a single term or a list of terms to match the\npattern against. Returns each match.\n\nregex/2 predicate takes the pattern and term(s) to match and returns\ntrue if any match exists.\n\nChange-Id: I20e18a84ea22f9c508aac9beb3136798b9c88eee\n"
    },
    {
      "commit": "7844ba4f55af24adc7a7dd074891b243650e7fca",
      "tree": "44208455c6d41b94c721206614447da61d49b772",
      "parents": [
        "dbaf960696bae679fec66440fbcd5a1bf3b9a799"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Mon Jun 20 16:15:06 2011 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Mon Jun 20 16:15:33 2011 -0700"
      },
      "message": "Fix Compiler to load from its own ClassLoader\n\nThe compiler class needs to ensure the PrologClassLoader that will\nbe run to perform the Prolog-\u003eJava translation can actually see the\nProlog predicates containing the compiler. By default the ClassLoader\nwill be the system ClassLoader, which might not contain the Compiler.\n"
    },
    {
      "commit": "dbaf960696bae679fec66440fbcd5a1bf3b9a799",
      "tree": "19df34c55a5e7ba669e09ae06d0bb64afc6215f3",
      "parents": [
        "6a2c73d3107b63d3469bd434e88e4b8d65c44812"
      ],
      "author": {
        "name": "Jason Tsay",
        "email": "jasontsay@google.com",
        "time": "Mon Jun 20 11:46:47 2011 -0700"
      },
      "committer": {
        "name": "Jason Tsay",
        "email": "jasontsay@google.com",
        "time": "Mon Jun 20 11:46:47 2011 -0700"
      },
      "message": "Add classloader to engine from PrologMachineCopy\n"
    },
    {
      "commit": "6a2c73d3107b63d3469bd434e88e4b8d65c44812",
      "tree": "3a492087d04fbcb2fd7827d3636d0def19e995f1",
      "parents": [
        "12896d16ce1007165528a0ff55aac93163695822"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 11:25:57 2011 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 12:40:28 2011 -0700"
      },
      "message": "Fix consult/1 to report loading time to current output\n\nA misplaced \u0027.\u0027 prevented all parts of the predicate from going\ntogether into a single sequence of steps.\n"
    },
    {
      "commit": "12896d16ce1007165528a0ff55aac93163695822",
      "tree": "be241b4f0ad628c525528f0b73aabb494b36f230",
      "parents": [
        "f9b1cf451ceedfdcc3e6dd3c3260d85c0f277423"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 11:14:37 2011 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 12:40:28 2011 -0700"
      },
      "message": "Simplify the main execution loop of the interpreter\n\nMade the code easier to follow, and handle halt(N) as normally\nhappens in a Prolog implementation like SWI-Prolog.\n"
    },
    {
      "commit": "f9b1cf451ceedfdcc3e6dd3c3260d85c0f277423",
      "tree": "134f893b6b9f644033acc997e287ca2ec866deca",
      "parents": [
        "4d469334dca90261f9678738e254b62a962476c5"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 10:46:36 2011 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 12:40:28 2011 -0700"
      },
      "message": "Don\u0027t flush IO when starting evaluation\n\nAny pending output can remain pending until the buffer fills,\nor a later flush occurs.\n"
    },
    {
      "commit": "4d469334dca90261f9678738e254b62a962476c5",
      "tree": "7b5c1d4bf8e57e1413188fb102214008ab13500c",
      "parents": [
        "aadaf842c27da6ba948a48a0b76fb3e6aeb47dfe"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 10:45:31 2011 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 12:40:28 2011 -0700"
      },
      "message": "Only export statistics(runtime,_) for STATISTICS_RUNTIME\n\nThis avoids the need to access the system clock during initialization\nof an interpreter, and prevents code from getting the difference\nin wall clock time during execution.\n"
    },
    {
      "commit": "aadaf842c27da6ba948a48a0b76fb3e6aeb47dfe",
      "tree": "86f96b56c578b707b7035b93909fdbaa6f3c588e",
      "parents": [
        "82df66f59d071d963c2e15a1c3a0798ca43cfce2"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 10:40:47 2011 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 12:40:28 2011 -0700"
      },
      "message": "Make the disabled user IO streams constants\n\nThese don\u0027t change, ever.\n"
    },
    {
      "commit": "82df66f59d071d963c2e15a1c3a0798ca43cfce2",
      "tree": "8c79865e5642380bb35acbc46c44a1c0ded570a2",
      "parents": [
        "ee2b172e401c7ae0a07f50f0b1ede441a218a550"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 10:39:29 2011 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 12:40:28 2011 -0700"
      },
      "message": "Avoid allocating an empty register array\n\nIf the PrologControl has configured the maximum predicate arity\nto \u003c\u003d 8, the standard areg1..areg8 will handle these and there\nis no need for an overflow array. Use a constant empty array.\n"
    },
    {
      "commit": "ee2b172e401c7ae0a07f50f0b1ede441a218a550",
      "tree": "11c5bff7d8f6801af1a27e2fc584d0801ad10282",
      "parents": [
        "21c76f4d2861122087c5f695f441bbd012c36f9d"
      ],
      "author": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 10:33:41 2011 -0700"
      },
      "committer": {
        "name": "Shawn O. Pearce",
        "email": "sop@google.com",
        "time": "Fri Jun 17 12:40:12 2011 -0700"
      },
      "message": "Create PrologMachineCopy to reduce consult costs\n\nApplications that dynamically consult the same code file multiple\ntimes can benefit from performing the consult in an isolated\ninterpreter, then freezing that database using a PrologMachineCopy,\nand later restore it into a new machine.\n"
    }
  ],
  "next": "21c76f4d2861122087c5f695f441bbd012c36f9d"
}
