)]}'
{
  "commit": "61dca94e107170d2ff3beb13bb9fa5ce49d8d6fd",
  "tree": "83dadbcc4200dbb0e014f366cf07302a25011ed3",
  "parents": [
    "b36ed9056ff57c04c34240f2dc6b1bb59e84d0c7"
  ],
  "author": {
    "name": "Keith Randall",
    "email": "khr@golang.org",
    "time": "Mon Jun 16 23:03:03 2014 -0700"
  },
  "committer": {
    "name": "Keith Randall",
    "email": "khr@golang.org",
    "time": "Mon Jun 16 23:03:03 2014 -0700"
  },
  "message": "runtime: implement string ops in Go\n\nAlso implement go:nosplit annotation.  Not really needed\nfor now, but we\u0027ll definitely need it for other conversions.\n\nbenchmark                 old ns/op     new ns/op     delta\nBenchmarkRuneIterate      534           474           -11.24%\nBenchmarkRuneIterate2     535           470           -12.15%\n\nLGTM\u003dbradfitz\nR\u003dgolang-codereviews, dave, bradfitz, minux\nCC\u003dgolang-codereviews\nhttps://golang.org/cl/93380044\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b5f8a834f1620e55b5f9ebfd6601303dc0f85fb1",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/fmt.c",
      "new_id": "8c2f8b98f1fbc871b18318b5ee63250665a85ae2",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/fmt.c"
    },
    {
      "type": "modify",
      "old_id": "413e71069deb4fa7286c4499d7377174962c09f2",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/go.h",
      "new_id": "a5a464e23d32ccab982b4873c13f2bc068cfd7ea",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/go.h"
    },
    {
      "type": "modify",
      "old_id": "2f354f723fa54c750f2d2688a8ab9c6bc218674b",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/go.y",
      "new_id": "e351fa731c7920c53e1520b877360b71981c0d08",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/go.y"
    },
    {
      "type": "modify",
      "old_id": "a50101c4299c5278377a962d13760474b6198211",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/lex.c",
      "new_id": "c90cbef890bcb50437cd9b813838033508606a41",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/lex.c"
    },
    {
      "type": "modify",
      "old_id": "40620c3dad90faa8dac1cb2ceeb7e1a540f09d77",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/pgen.c",
      "new_id": "cabba6824ec78ce519d34fbca45235e48312f718",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/pgen.c"
    },
    {
      "type": "modify",
      "old_id": "08d8ecff20708e38d93a2d34e7f6d7f38ff692bb",
      "old_mode": 33188,
      "old_path": "src/cmd/gc/y.tab.c",
      "new_id": "c389f2324d522041671a9e5c416b8db698943eda",
      "new_mode": 33188,
      "new_path": "src/cmd/gc/y.tab.c"
    },
    {
      "type": "modify",
      "old_id": "088eecfd33e38c3b36888b7ee75e1be47b69a855",
      "old_mode": 33188,
      "old_path": "src/pkg/runtime/asm_386.s",
      "new_id": "2009a6019ad381a6a7ab4b8f44554a21a98aa6ae",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/asm_386.s"
    },
    {
      "type": "modify",
      "old_id": "b352a5075253a24dc7ddcd7d02389c55727868cc",
      "old_mode": 33188,
      "old_path": "src/pkg/runtime/asm_amd64.s",
      "new_id": "d15b37210f3b123067347a79c656bb836c07019c",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/asm_amd64.s"
    },
    {
      "type": "modify",
      "old_id": "afe57340cea4caf25daa9c340024c0042cfd3615",
      "old_mode": 33188,
      "old_path": "src/pkg/runtime/asm_amd64p32.s",
      "new_id": "4e1fb0a5d5cae1d496e150c6e5fbc648599c0a2d",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/asm_amd64p32.s"
    },
    {
      "type": "modify",
      "old_id": "2b43ac41bbeda5b9408b0329c0bc4566da5a7c77",
      "old_mode": 33188,
      "old_path": "src/pkg/runtime/asm_arm.s",
      "new_id": "5af58954770608e56ce384b165832efe74235cd9",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/asm_arm.s"
    },
    {
      "type": "modify",
      "old_id": "e704ff8726be1d9745004c6a35ec3a212eafb7ef",
      "old_mode": 33188,
      "old_path": "src/pkg/runtime/error.go",
      "new_id": "12fd09eaf95e904a7af4f263429aa49b178295c7",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/error.go"
    },
    {
      "type": "modify",
      "old_id": "2a9124d642dc4caa286378de1f029f226aecc3e2",
      "old_mode": 33188,
      "old_path": "src/pkg/runtime/race.go",
      "new_id": "2fe524058d676d0fad29a1457cd5ff6a31380d93",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/race.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e9f72a45f3d2c87d9487662ecec2a0a037094f51",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/race0.go"
    },
    {
      "type": "delete",
      "old_id": "ed867269d8c104391b9526b2b669e2e3504d4ddb",
      "old_mode": 33188,
      "old_path": "src/pkg/runtime/rune.c",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "a9f6835818d22d53142bfca868dc97ef7fd330e2",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/rune.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "d5b668bd614ff2073d20deec92762d158498a9c4",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/string.c"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "9805dd51282dd57eeeb85dcba0d3f65a1de235e5",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/string.go"
    },
    {
      "type": "delete",
      "old_id": "64a1d9064b2bb34789fb5dbee9f2c10e737e5f05",
      "old_mode": 33188,
      "old_path": "src/pkg/runtime/string.goc",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "df3ff06a7dd812bc2b1e6554520688833ea863e4",
      "old_mode": 33188,
      "old_path": "src/pkg/runtime/string_test.go",
      "new_id": "dbccc24a5bc20c79218e38737ed5993792d769e8",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/string_test.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "b19b0e0a49a1c76b14ed8c83cef3e579dcbb388b",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/stubs.go"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "bd493d44ae07817dcfcecdeb2a22ffee387753dc",
      "new_mode": 33188,
      "new_path": "src/pkg/runtime/stubs.goc"
    }
  ]
}
