)]}'
{
  "commit": "f1df280f53d7c3ce8613a3b25d1efe009b9860dd",
  "tree": "7b9d6d837355bd913fb5b41017556f1137adee18",
  "parents": [
    "ab483570a13be2a34c0502b166df8f8b26802103"
  ],
  "author": {
    "name": "Jan Blunck",
    "email": "jblunck@suse.de",
    "time": "Fri Oct 19 20:35:04 2007 +0200"
  },
  "committer": {
    "name": "Thomas Gleixner",
    "email": "tglx@linutronix.de",
    "time": "Fri Oct 19 20:35:04 2007 +0200"
  },
  "message": "x86: introduce frame_pointer() and stack_pointer()\n\nThis patch defines frame_pointer() and stack_pointer() similar to the\nalready defined instruction_pointer(). Thus the oprofile code can be\nwritten in a more readable fashion.\n\n[ tglx: arch/x86 adaptation ]\n\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dc59a808009fa7a8593d2fd85d5f1a309fef0ed9",
      "old_mode": 33188,
      "old_path": "arch/x86/oprofile/backtrace.c",
      "new_id": "0ed046a187f77fb1d29228780c395f4e8d4636a1",
      "new_mode": 33188,
      "new_path": "arch/x86/oprofile/backtrace.c"
    },
    {
      "type": "modify",
      "old_id": "6002597b9e12212b8e0986f9b7070d2d0b5ba041",
      "old_mode": 33188,
      "old_path": "include/asm-x86/ptrace_32.h",
      "new_id": "78d063dabe0ae6589dbbe1c0e8613d27058d4b10",
      "new_mode": 33188,
      "new_path": "include/asm-x86/ptrace_32.h"
    },
    {
      "type": "modify",
      "old_id": "7f166ccb0606786991e931c9995c6dfe9514809b",
      "old_mode": 33188,
      "old_path": "include/asm-x86/ptrace_64.h",
      "new_id": "7bfe61e1b7052c5c1e74b03ae72db585104feb9d",
      "new_mode": 33188,
      "new_path": "include/asm-x86/ptrace_64.h"
    }
  ]
}
