)]}'
{
  "commit": "86aa4f362dd4d7b545dabfbb1da5cf374be2cddb",
  "tree": "8e945920a2a4265fba66d1f2f107709b7ee5e77c",
  "parents": [
    "c2e79e9af2a8661f7b31651dee72fd8cd6ff1d16"
  ],
  "author": {
    "name": "Christoffer Adamsen",
    "email": "christofferqa@google.com",
    "time": "Mon Dec 16 10:36:34 2024 +0100"
  },
  "committer": {
    "name": "Christoffer Adamsen",
    "email": "christofferqa@google.com",
    "time": "Mon Dec 16 03:45:45 2024 -0800"
  },
  "message": "Require instance fields are kept when instantiating classes using Unsafe\n\nThis effectively reverts 6250eeeafa351b13ef371e8a67f5b8c641459e1b.\n\nThe reason for the revert is that this causes +1% regressions in dex size. When sun.misc.Unsafe is used to instantiate a class without an instance initializer, the previous behavior can be restored by keeping the instance fields of the instantiated class. See also DefaultFieldValueAnalysisWithKeptSubclassTest.\n\nBug: b/379034741\nChange-Id: Ie3795040413e888691ae1316e1878da9f77f6707\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "4c9489a6744bd6c3cd6179ba3ae227594875220a",
      "old_mode": 33188,
      "old_path": "src/main/java/com/android/tools/r8/optimize/argumentpropagation/propagation/DefaultFieldValueJoiner.java",
      "new_id": "bd2fdb3a29dfd643eb8ae88f602f06fb71f9a976",
      "new_mode": 33188,
      "new_path": "src/main/java/com/android/tools/r8/optimize/argumentpropagation/propagation/DefaultFieldValueJoiner.java"
    },
    {
      "type": "modify",
      "old_id": "c28b92b4dc0fe330059c5113ab951699b5017b1b",
      "old_mode": 33188,
      "old_path": "src/test/examplesJava17/records/RecordBlogTest.java",
      "new_id": "1128f07dba6cc95ce6bebc287cfd265f039687b6",
      "new_mode": 33188,
      "new_path": "src/test/examplesJava17/records/RecordBlogTest.java"
    },
    {
      "type": "modify",
      "old_id": "dd9a58257da4eb81fdaf347a49a3e6c7b859fe63",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/optimize/argumentpropagation/DefaultFieldValueAnalysisWithKeptSubclassTest.java",
      "new_id": "9987908d26f8893801a9c03b5aa508ece43d00fa",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/optimize/argumentpropagation/DefaultFieldValueAnalysisWithKeptSubclassTest.java"
    },
    {
      "type": "modify",
      "old_id": "181a85aee05ccb321c75b4b326b895fee7d1e216",
      "old_mode": 33188,
      "old_path": "src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedFieldTypeTest.java",
      "new_id": "693a077f94fd1941a77079a12e2cb133d092bba2",
      "new_mode": 33188,
      "new_path": "src/test/java/com/android/tools/r8/shaking/ifrule/verticalclassmerging/MergedFieldTypeTest.java"
    }
  ]
}
