)]}'
{
  "log": [
    {
      "commit": "43c9cd7938a53265ea9899a604b409ce070cc2c5",
      "tree": "db084fcc115d6a68de25662bf1a5fae030bcf152",
      "parents": [
        "443fc8962db219177c34cd047d2071b5ee775468"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 10 15:09:19 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Mar 24 16:47:38 2021 +0000"
      },
      "message": "Improve nterp -\u003e compiled code transitions.\n\nUse an unused bit in the access flags of an ArtMethod (0x00200000) to store\nthe information a method only takes ints or references and returns an\nint, a reference, or a long. This avoids the need to fetch the shorty in nterp\nwhen doing a call.\n\nTest: test.py\nTest: 821-many-args\nBug: 112676029\n\nChange-Id: Ie657ccf69c17c1097dc2a97f18e3093ef3be391b\n"
    },
    {
      "commit": "40cd07c3e6717b28c0137e8d72a067a9f8663ec6",
      "tree": "45cced150c54d6798805882c10607f11b1be9b36",
      "parents": [
        "4924ea9ad98832f0ec7db841defca82331ee1b13"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Mar 15 18:33:23 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Mar 23 15:31:45 2021 +0000"
      },
      "message": "Add a fast path for nterp entrypoint to avoid fetching the shorty.\n\nWhen all parameters are references, we don\u0027t need to look at the shorty.\nUse the 0x00100000 flag in the modifiers which is free for non-native\nmethods.\n\nTest: test.py\nBug: 112676029\nChange-Id: Ied9a253f7f7230045dd13188a5b806fb1d6d019d\n"
    },
    {
      "commit": "e585964df42e9fd2fab6f209810cb03e1b261ab1",
      "tree": "35edc923e92389e4fcb0518289aacb72339f1247",
      "parents": [
        "1bcd7cd823826e95827ea2d666291f56fcccb368"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Fri Jan 08 18:09:36 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Jan 25 09:22:46 2021 +0000"
      },
      "message": "When entering nterp, take a fast path for instance calls with 1 argument.\n\nSuch methods only take \u0027this\u0027 as an argument and we don\u0027t need to fetch\nthe shorty.\n\nWe can make this optimization when doing nterp-\u003ecompiled as a follow-up,\nby checking that the next instruction after the invoke is not\nmove-result(-wide).\n\nTest: test.py\nBug: 112676029\nChange-Id: Ibc7b4d4ca1c636f4ad6572484e0990ccdbd63293\n"
    },
    {
      "commit": "d5a8695394f8f6e8f9a66752441623dc31b97660",
      "tree": "591ac4892304365282a57262c91e1945ac94c6a9",
      "parents": [
        "2fb37411e42455a00fdad90f0e612c3214e5bd1a"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 19 10:35:54 2021 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Thu Jan 21 14:07:57 2021 +0000"
      },
      "message": "Reland \"Improve invokeinterface for nterp.\"\n\nThis reverts commit f1d06474baa2f7c00761db39099b89ddab71bbe4.\n\nBug: 177554973\nBug: 112676029\n\nTest: test.py\nTest: 815-invokeinterface-default\nTest: enable text-to-speech on device, no crash\n\nReason for revert: Fixed issue with recursive default methods\n\nChange-Id: I2fb9336adb6c4fc920f39aa19bfe7f0a92ce059a\n"
    },
    {
      "commit": "f1d06474baa2f7c00761db39099b89ddab71bbe4",
      "tree": "9924ce87e34d1058a0d12e963e3a94fbd3d1539d",
      "parents": [
        "4c176b9de6c430422395017910633bcb001b2e84"
      ],
      "author": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Thu Jan 14 23:40:53 2021 +0000"
      },
      "committer": {
        "name": "Alex Light",
        "email": "allight@google.com",
        "time": "Fri Jan 15 00:36:13 2021 +0000"
      },
      "message": "Revert \"Improve invokeinterface for nterp.\"\n\nThis reverts commit c0d392be9172c4c60b3e81b0123489ec3036c401.\n\nBug: 177554973\nReason for revert: Fix crash when enabling \u0027Select to Speak\u0027\n\nChange-Id: If2865cc1dfc11e6bd27ed533da10f53521e3e613\n"
    },
    {
      "commit": "c0d392be9172c4c60b3e81b0123489ec3036c401",
      "tree": "13b77bab3a3a8a1acf26dc02d2ee09bcd3a51c36",
      "parents": [
        "c38d94449a0ccfefd396d2e01b571f3e804d9e48"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 29 20:41:43 2020 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Jan 12 09:39:41 2021 +0000"
      },
      "message": "Improve invokeinterface for nterp.\n\n- Remove bitwise negation of imt_index: the class linker already always\n  initializes the imt_index.\n- Special case the imt index of default methods: to simplify invocation\n  in nterp, mask the method_index to create the imt index.\n- Add arm64, arm, x64 support in nterp.\n\nTest: test.py\nBug: 112676029\nChange-Id: I815a4a4ec5c219921ab4ed1a20b02586aab19a46\n"
    },
    {
      "commit": "4717175e40a19e79af904dfb7b7dd13f046debd7",
      "tree": "426f040eacf5a8305f8bb8d504bd509824d984c8",
      "parents": [
        "1faacf59b9f74e9d2de4e0331ef0cdfcf132225d"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Aug 31 15:03:20 2020 +0100"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Mon Sep 07 07:29:59 2020 +0000"
      },
      "message": "Move code item to the data pointer and remove code_item_offset.\n\nThis saves 4 bytes on 32bit and 8 bytes on 64bit on ArtMethod.\n\nAlso update nterp to directly fetch the code item from the data pointer.\n\nTest: test.py\nBug: 112676029\n\nChange-Id: Ic01f43c7ccf2cbce1ec517478e81362232d36371\n"
    },
    {
      "commit": "a00b54b74bee06c006b8bebfbef85e2801de293c",
      "tree": "6edb2a96c1f89ae913e6b5f190b117cb290239e8",
      "parents": [
        "e571a283b73fb4621c401811f523503b3266564b"
      ],
      "author": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Tue Dec 03 14:36:42 2019 +0000"
      },
      "committer": {
        "name": "Nicolas Geoffray",
        "email": "ngeoffray@google.com",
        "time": "Wed Dec 04 12:04:36 2019 +0000"
      },
      "message": "Helpers and refactorings to prepare for interpreter optimizations (x64)\n\n- Add data structure offsets that will be used in assembly code.\n- Be explicit about a stack overflow in a fault handler.\n- Move assembly helper code in asm_support so interpreter can use it.\n- Support putting literals in InterpreterCache.\n- Fix artHandleFillArrayDataFromCode for x64.\n\nBug: 119800099\nTest: test.py\nChange-Id: I2729f87fe5d09c04ae2e7081636f0cd89ac14c21\n"
    },
    {
      "commit": "766e74f58312af149219473a691c6f2d9bcca428",
      "tree": "4c216f5ebd128075f20d0857afb383d31da20c5a",
      "parents": [
        "0adf4d80ca1c673e5f7c5249faabadccdc1ddbbd"
      ],
      "author": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Tue Oct 02 17:12:24 2018 +0100"
      },
      "committer": {
        "name": "David Srbecky",
        "email": "dsrbecky@google.com",
        "time": "Fri Oct 12 03:22:29 2018 +0100"
      },
      "message": "Cleanup the cpp-define-generator definitions.\n\nTest: test-art-host-gtest-arch_test\nChange-Id: Ifda7a51d19156b1eb62bc39b16ec559d609744e5\n"
    }
  ]
}
