)]}'
{
  "commit": "ca0cdfd1e380ab79c68c280bbd7ff6ae4ad1b6e5",
  "tree": "2398291fab32649b61042966bb437f4a85e4350b",
  "parents": [
    "658e78918e866b79bf6179f5e7f3ad2df680d068"
  ],
  "author": {
    "name": "Zachary Anderson",
    "email": "zra@google.com",
    "time": "Wed Nov 11 13:56:31 2015 -0800"
  },
  "committer": {
    "name": "Zachary Anderson",
    "email": "zra@google.com",
    "time": "Wed Nov 11 13:56:31 2015 -0800"
  },
  "message": "Dart: Use a RawReceivePort to receive events for Mojo handles.\n\nThis makes MojoEventStream more of an event handler, and\nMojoEventStreamListener more of the controller of the event handler, so\nI\u0027ve changed the names accordingly.\n\nSince handlers on RawReceivePorts don\u0027t throw exceptions into the current\nZone, but rather into the root Zone, errors thrown by event handlers are\nnow propagated to the event controller\u0027s onError function rather than\nrelying on clients using Zones.\n\nThis change has a noticible improvement in startup time due to avoiding\ncompiling Stream related functions. ~130ms -\u003e ~120ms on my machine, and\nso hopeuflly ~150ms -\u003e 130-140ms on the perf bot.\n\nBUG\u003d\nR\u003djohnmccutchan@google.com\n\nReview URL: https://codereview.chromium.org/1414483010 .\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "260836114aba5c80a670ca28465d5b153312350d",
      "old_mode": 33188,
      "old_path": "benchmarks/mojo_rtt_benchmark/lib/echo_server.dart",
      "new_id": "5134158830280083441adf52512240ded221da84",
      "new_mode": 33188,
      "new_path": "benchmarks/mojo_rtt_benchmark/lib/echo_server.dart"
    },
    {
      "type": "modify",
      "old_id": "668012e516b788b6529230c87721df08e7a33742",
      "old_mode": 33188,
      "old_path": "benchmarks/mojo_rtt_benchmark/lib/isolate.dart",
      "new_id": "5df9cf9a87aef8e5549f4758296e203fd8929f5c",
      "new_mode": 33188,
      "new_path": "benchmarks/mojo_rtt_benchmark/lib/isolate.dart"
    },
    {
      "type": "modify",
      "old_id": "c5537245e8a0e79121631314bcf070b9601f12c5",
      "old_mode": 33188,
      "old_path": "benchmarks/mojo_rtt_benchmark/lib/main.dart",
      "new_id": "7a2f8739c3b2fdd0719f9dcb25334b2c12499134",
      "new_mode": 33188,
      "new_path": "benchmarks/mojo_rtt_benchmark/lib/main.dart"
    },
    {
      "type": "modify",
      "old_id": "9e5cc20dd99dc6ba4d4abec8570cdc98a15f0d63",
      "old_mode": 33188,
      "old_path": "examples/dart/netcat/lib/main.dart",
      "new_id": "4cef6a6fd573971e7e2017b7c03f6aaeb16c7823",
      "new_mode": 33188,
      "new_path": "examples/dart/netcat/lib/main.dart"
    },
    {
      "type": "modify",
      "old_id": "d8a80fde6472aed86710f5211de0c214fff573a1",
      "old_mode": 33188,
      "old_path": "mojo/dart/embedder/io/socket_patch.dart",
      "new_id": "80b172c9b28339199bc76e54205c05bf84408097",
      "new_mode": 33188,
      "new_path": "mojo/dart/embedder/io/socket_patch.dart"
    },
    {
      "type": "modify",
      "old_id": "d58f94229fbd2780f13a4fbc8eb2ff955f5b4228",
      "old_mode": 33188,
      "old_path": "mojo/dart/embedder/test/run_dart_tests.cc",
      "new_id": "c6315af25e585daaaa66ced8e58f94ed3ff38661",
      "new_mode": 33188,
      "new_path": "mojo/dart/embedder/test/run_dart_tests.cc"
    },
    {
      "type": "modify",
      "old_id": "71559f2be991f92847b8f07e28e7778b7ba4203c",
      "old_mode": 33188,
      "old_path": "mojo/dart/test/bindings_generation_test.dart",
      "new_id": "293ea98598e10ffd00c5baf9395595d4fcb54f4b",
      "new_mode": 33188,
      "new_path": "mojo/dart/test/bindings_generation_test.dart"
    },
    {
      "type": "modify",
      "old_id": "8761879bd7f007570dc2c27be14b1b353d5067f3",
      "old_mode": 33188,
      "old_path": "mojo/dart/test/compile_all_interfaces_test.dart",
      "new_id": "c169fa376ed7ef197afef5a519d26ffd6cf333eb",
      "new_mode": 33188,
      "new_path": "mojo/dart/test/compile_all_interfaces_test.dart"
    },
    {
      "type": "modify",
      "old_id": "39a1522ffbb4fe7c9215ccc8b1d3ced4f4d1ec22",
      "old_mode": 33188,
      "old_path": "mojo/dart/test/handle_finalizer_test.dart",
      "new_id": "3c1e39fcdd7f41ff59d0310aeba80cdffddd9cbe",
      "new_mode": 33188,
      "new_path": "mojo/dart/test/handle_finalizer_test.dart"
    },
    {
      "type": "delete",
      "old_id": "9ae2b6ccac5dc633dd030a831b8f726a9cb2e178",
      "old_mode": 33188,
      "old_path": "mojo/dart/test/handle_watcher_test.dart",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "6b8d958d4451c4b4994bbb5fd5017e29274a4c9a",
      "old_mode": 33188,
      "old_path": "mojo/dart/test/ping_pong_test.dart",
      "new_id": "7701419b93276b9329b3b380e097a370d9b9ef3f",
      "new_mode": 33188,
      "new_path": "mojo/dart/test/ping_pong_test.dart"
    },
    {
      "type": "modify",
      "old_id": "d8456ded7ba772cfa6431d4bc9bbaa75dd38c400",
      "old_mode": 33188,
      "old_path": "mojo/dart/test/simple_handle_watcher_test.dart",
      "new_id": "b0c04014fa2c09e06cd40b91d9c338e8af016014",
      "new_mode": 33188,
      "new_path": "mojo/dart/test/simple_handle_watcher_test.dart"
    },
    {
      "type": "modify",
      "old_id": "4de347aadb4a19b40c88839146ecdd92ea8db83e",
      "old_mode": 33188,
      "old_path": "mojo/dart/test/validation_test.dart",
      "new_id": "0d344e2e25d6de68d5e3053342a152e4b5d21741",
      "new_mode": 33188,
      "new_path": "mojo/dart/test/validation_test.dart"
    },
    {
      "type": "modify",
      "old_id": "7d6cfbb9b53a4f804f7bde0d372edf213d7fa4b2",
      "old_mode": 33188,
      "old_path": "mojo/public/dart/mojo/lib/src/application.dart",
      "new_id": "01380a7bb5d2d79193ff663d5eedc9e427fe0996",
      "new_mode": 33188,
      "new_path": "mojo/public/dart/mojo/lib/src/application.dart"
    },
    {
      "type": "modify",
      "old_id": "2e80fc1a914db6288a68ca040d95f9ed1e157337",
      "old_mode": 33188,
      "old_path": "mojo/public/dart/mojo/lib/src/application_connection.dart",
      "new_id": "6106bf4c178afd71db04196f62553ee88a620f70",
      "new_mode": 33188,
      "new_path": "mojo/public/dart/mojo/lib/src/application_connection.dart"
    },
    {
      "type": "modify",
      "old_id": "66b7464ec91e877300ff77902a7735f2f4bdb37b",
      "old_mode": 33188,
      "old_path": "mojo/public/dart/mojo/lib/src/codec.dart",
      "new_id": "b53ec4c24fe16e761dbd9a7d57aa59f6eeb97237",
      "new_mode": 33188,
      "new_path": "mojo/public/dart/mojo/lib/src/codec.dart"
    },
    {
      "type": "modify",
      "old_id": "b5929e567a3191f1582a32bcc011bb28a9a43549",
      "old_mode": 33188,
      "old_path": "mojo/public/dart/mojo/lib/src/drain_data.dart",
      "new_id": "dc630bfbdc7c1a2fc73b72023bcebd4af8a2fe6a",
      "new_mode": 33188,
      "new_path": "mojo/public/dart/mojo/lib/src/drain_data.dart"
    },
    {
      "type": "modify",
      "old_id": "0ff091ee571c34f31e256879970b417ce9fa797d",
      "old_mode": 33188,
      "old_path": "mojo/public/dart/mojo/lib/src/event_stream.dart",
      "new_id": "ceb0e0ea0d5042b54cec6f03c9f05105caf56bec",
      "new_mode": 33188,
      "new_path": "mojo/public/dart/mojo/lib/src/event_stream.dart"
    },
    {
      "type": "modify",
      "old_id": "848efc2db81e043857fa61b3db39cfb0c779d555",
      "old_mode": 33188,
      "old_path": "mojo/public/dart/mojo/lib/src/fill_data.dart",
      "new_id": "c139a7c3c4c2182d70c4fcf6159c8108a7483f4e",
      "new_mode": 33188,
      "new_path": "mojo/public/dart/mojo/lib/src/fill_data.dart"
    },
    {
      "type": "modify",
      "old_id": "583877f9c24073dcd876e088692fb32ddfc5d093",
      "old_mode": 33188,
      "old_path": "mojo/public/dart/mojo/lib/src/handle.dart",
      "new_id": "24a93221db0a9787d847e834d5a42c410c0a7e33",
      "new_mode": 33188,
      "new_path": "mojo/public/dart/mojo/lib/src/handle.dart"
    },
    {
      "type": "modify",
      "old_id": "2e5b93e209a82496f78b24e8424bfae49965295f",
      "old_mode": 33188,
      "old_path": "mojo/public/dart/mojo/lib/src/proxy.dart",
      "new_id": "72ef13daa575db2121467655da7eee67f0098ae2",
      "new_mode": 33188,
      "new_path": "mojo/public/dart/mojo/lib/src/proxy.dart"
    },
    {
      "type": "modify",
      "old_id": "a8c9ee8e55b3e8970a210397ca741536c8fadfbb",
      "old_mode": 33188,
      "old_path": "mojo/public/dart/mojo/lib/src/stub.dart",
      "new_id": "dce10388d67af4bda2dd89967035932d768378c6",
      "new_mode": 33188,
      "new_path": "mojo/public/dart/mojo/lib/src/stub.dart"
    },
    {
      "type": "modify",
      "old_id": "4b5cce07ded9e8a708388d76d7b6654210c717f9",
      "old_mode": 33188,
      "old_path": "services/dart/test/echo/lib/main.dart",
      "new_id": "92f2771f35f0a2b675ffffb842a8b0d96ec95ae4",
      "new_mode": 33188,
      "new_path": "services/dart/test/echo/lib/main.dart"
    },
    {
      "type": "modify",
      "old_id": "f14f9cf4c7a51de451ff9a4c05c544069c143b37",
      "old_mode": 33188,
      "old_path": "services/dart/test/pingpong/lib/main.dart",
      "new_id": "baa8c46297b74b4e9c4503f69a780680edf68095",
      "new_mode": 33188,
      "new_path": "services/dart/test/pingpong/lib/main.dart"
    },
    {
      "type": "modify",
      "old_id": "0d83133a4cb73294dc9e4a908967cd611bcd1f24",
      "old_mode": 33188,
      "old_path": "services/dart/test/pingpong_target/lib/main.dart",
      "new_id": "54d3a5325991020e5bdc03b4d1eb0cdf20e30305",
      "new_mode": 33188,
      "new_path": "services/dart/test/pingpong_target/lib/main.dart"
    }
  ]
}
