)]}'
{
  "commit": "14e62f8388e9b88452bdc0aba0fdb29858e4e3a0",
  "tree": "49a683e66601733976b81dfc99881b4e3b006417",
  "parents": [
    "77bdbcfc65d3d934e157ad7a40aaae98bf2ab877"
  ],
  "author": {
    "name": "Ian Zerny",
    "email": "zerny@google.com",
    "time": "Fri Nov 20 07:49:07 2020 +0100"
  },
  "committer": {
    "name": "Ian Zerny",
    "email": "zerny@google.com",
    "time": "Fri Nov 20 07:49:07 2020 +0100"
  },
  "message": "Optimize sorting in the DEX application writer.\n\nThis CL introduces threaded timing to the DEX application writer\nand implements two derived sorting visitors to take advantage of\nalready sorted string and type tables. In addition the sorting\nof DexString is short-circuted to sort directly without a\nvisitor to avoid abstraction overhead.\n\nBug: 173525343\nChange-Id: Ie26228f368e59568d61648d28c190936d7b412e0",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8e56a8ecc927db15e15c1b99c6e971d73424a7cf",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/D8.java",
      "new_id": "8a88d3dbf647ef969e894dcd1b56c457ad85490b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/D8.java"
    },
    {
      "type": "modify",
      "old_id": "8b5d01100b1822bf31de7cdde4832e934a1e54cf",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/DexSplitterHelper.java",
      "new_id": "02307295b83ebd08c0649e5654dde5a436c7d4d1",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/DexSplitterHelper.java"
    },
    {
      "type": "modify",
      "old_id": "2ad440978bc921d710bf9e115a20b3a1bf9f36d1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/dex/ApplicationWriter.java",
      "new_id": "ab72b04c9a463fd1a872b58e56b43574d7409fcb",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/dex/ApplicationWriter.java"
    },
    {
      "type": "modify",
      "old_id": "108df1d323578f44d72f21aed26d81c66c3800d1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/dex/VirtualFile.java",
      "new_id": "bce34ff77c43c6853c502cf01e0f3c6233842505",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/dex/VirtualFile.java"
    },
    {
      "type": "modify",
      "old_id": "7a50fe16bbe26323eb1c4995666336bd205af7f6",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/graph/DexString.java",
      "new_id": "264a7aa944475f5bcd0e5cee0a7e6fdebb2aa26b",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/graph/DexString.java"
    },
    {
      "type": "modify",
      "old_id": "b5ce56a751b7622798b2467ce07e1a429e9dd131",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/graph/ObjectToOffsetMapping.java",
      "new_id": "61d9439828165f0135b24b96d6762c124db4e056",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/graph/ObjectToOffsetMapping.java"
    },
    {
      "type": "modify",
      "old_id": "17946cdfa98e8df331b95de1c15c8cceff905984",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/utils/structural/CompareToVisitor.java",
      "new_id": "32221a0f5f57dbecc80dc3c81a61025d97d63aaa",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/utils/structural/CompareToVisitor.java"
    },
    {
      "type": "modify",
      "old_id": "72ec2b5ca711e916a6aed17a3c701a1f6affb9e1",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/utils/structural/CompareToVisitorBase.java",
      "new_id": "1f517d08b78262d522ea185377f60800a6bf4524",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/utils/structural/CompareToVisitorBase.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "dfd9fa014ece43da323bad79ecc4428abca90e57",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/utils/structural/CompareToVisitorWithStringTable.java"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "94fb1f98c673e97430ca7ea1ad97b0f312719647",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/utils/structural/CompareToVisitorWithTypeTable.java"
    },
    {
      "type": "modify",
      "old_id": "3abe853c580872c2142441f079e215b9826a3195",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmptyDesugaredLibrary.java",
      "new_id": "5b706e8da3bdf6c0cfbc566bc1d93755bb2aa176",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/desugar/desugaredlibrary/EmptyDesugaredLibrary.java"
    },
    {
      "type": "modify",
      "old_id": "0fe19bcd76de705d7ff58aa812f4014a678b2c03",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/dex/DebugByteCodeWriterTest.java",
      "new_id": "7ea911074386bba93102c2bdc6dcf572ee13b470",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/dex/DebugByteCodeWriterTest.java"
    }
  ]
}
