{
  "_class" : "hudson.model.FreeStyleBuild",
  "actions" : [
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "com.cloudbees.jenkins.GitHubPushCause",
          "shortDescription" : "Started by GitHub push by xavierleroy"
        }
      ]
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "origin/trunk" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 193,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "5f4542862f384a63a988db1dbd49c1e6b1ebf217",
            "branch" : [
              {
                "SHA1" : "5f4542862f384a63a988db1dbd49c1e6b1ebf217",
                "name" : "origin/trunk"
              }
            ]
          },
          "revision" : {
            "SHA1" : "5f4542862f384a63a988db1dbd49c1e6b1ebf217",
            "branch" : [
              {
                "SHA1" : "5f4542862f384a63a988db1dbd49c1e6b1ebf217",
                "name" : "origin/trunk"
              }
            ]
          }
        },
        "origin/4.11" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 188,
          "buildResult" : None,
          "marked" : {
            "SHA1" : "ee89787b21127aaaab2f379f7fc289df2eafa204",
            "branch" : [
              {
                "SHA1" : "ee89787b21127aaaab2f379f7fc289df2eafa204",
                "name" : "origin/4.11"
              }
            ]
          },
          "revision" : {
            "SHA1" : "ee89787b21127aaaab2f379f7fc289df2eafa204",
            "branch" : [
              {
                "SHA1" : "ee89787b21127aaaab2f379f7fc289df2eafa204",
                "name" : "origin/4.11"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "5f4542862f384a63a988db1dbd49c1e6b1ebf217",
        "branch" : [
          {
            "SHA1" : "5f4542862f384a63a988db1dbd49c1e6b1ebf217",
            "name" : "origin/trunk"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/ocaml/ocaml"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.GitTagAction"
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    }
  ],
  "artifacts" : [
    
  ],
  "building" : False,
  "description" : None,
  "displayName" : "#193",
  "duration" : 2571815,
  "estimatedDuration" : 2534434,
  "executor" : None,
  "fullDisplayName" : "Risc-V-legacy #193",
  "id" : "193",
  "inProgress" : False,
  "keepLog" : False,
  "number" : 193,
  "queueId" : 54912,
  "result" : "SUCCESS",
  "timestamp" : 1592728181524,
  "url" : "https://ci.inria.fr/ocaml/view/all/job/Risc-V-legacy/193/",
  "builtOn" : "olive",
  "changeSet" : {
    "_class" : "hudson.plugins.git.GitChangeSetList",
    "items" : [
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "runtime/callback.c"
        ],
        "commitId" : "f8970c4b15df1a05b4b2b70d069cba930c96a3bd",
        "timestamp" : 1592485584000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "callback.c: register the bytecode fragment used for callbacks\u000a\u000aSo that the return address pushed on the bytecode interpreter stack\u000ais correctly recognized as a code pointer.\u000a",
        "date" : "2020-06-18 15:06:24 +0200",
        "id" : "f8970c4b15df1a05b4b2b70d069cba930c96a3bd",
        "msg" : "callback.c: register the bytecode fragment used for callbacks",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "runtime/callback.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "runtime/caml/stacks.h",
          "runtime/stacks.c",
          "runtime/backtrace_byt.c",
          "runtime/interp.c"
        ],
        "commitId" : "53d55f252204f8537ed5014e1896328df5652049",
        "timestamp" : 1592485584000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "Revised linking of trap frames in bytecode interpreter stack\u000a\u000aRather than storing a pointer to the previous frame in the Trap_link\u000afield of the current frame, store the distance (pointer difference)\u000abetween the current frame and the previous frame, tagged as an OCaml\u000ainteger.\u000a\u000aUsing a tagged integer instead of a raw pointer means fever problems\u000alater with strict no-naked-pointer support.\u000a\u000aUsing a distance rather than an absolute address simplifies\u000athe code that resizes the stack.\u000a",
        "date" : "2020-06-18 15:06:24 +0200",
        "id" : "53d55f252204f8537ed5014e1896328df5652049",
        "msg" : "Revised linking of trap frames in bytecode interpreter stack",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "runtime/caml/stacks.h"
          },
          {
            "editType" : "edit",
            "file" : "runtime/stacks.c"
          },
          {
            "editType" : "edit",
            "file" : "runtime/backtrace_byt.c"
          },
          {
            "editType" : "edit",
            "file" : "runtime/interp.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "runtime/roots_byt.c"
        ],
        "commitId" : "9476d5d2329820a52eba9659ae96af5b9da3c424",
        "timestamp" : 1592485940000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "Revised scanning of bytecode interpreter stack\u000a\u000aIn no-naked-pointers mode, recognize and skip code pointers present in\u000athe stack of the bytecode interpreter.  This is needed only for\u000athe scan at beginning of a major GC cycle, not for the scan done\u000aat every minor GC.\u000a",
        "date" : "2020-06-18 15:12:20 +0200",
        "id" : "9476d5d2329820a52eba9659ae96af5b9da3c424",
        "msg" : "Revised scanning of bytecode interpreter stack",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "runtime/roots_byt.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "runtime/major_gc.c"
        ],
        "commitId" : "4a953a2b135a7fb6096197c4e10a90e5fd735c58",
        "timestamp" : 1592485982000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "major_gc.c: use no-naked-pointers mode even in bytecode\u000a\u000aEarlier, no-naked-pointers mode was effective only in native code.\u000a",
        "date" : "2020-06-18 15:13:02 +0200",
        "id" : "4a953a2b135a7fb6096197c4e10a90e5fd735c58",
        "msg" : "major_gc.c: use no-naked-pointers mode even in bytecode",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "runtime/major_gc.c"
          }
        ]
      },
      {
        "_class" : "hudson.plugins.git.GitChangeSet",
        "affectedPaths" : [
          "runtime/interp.c"
        ],
        "commitId" : "552bc3e77c53bf3aba0d9a6f1dbfb5271dd8b88f",
        "timestamp" : 1592485990000,
        "author" : {
          "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
          "fullName" : "xavier.leroy"
        },
        "authorEmail" : "xavier.leroy@college-de-france.fr",
        "comment" : "interp.c: remove two assertions that cannot be checked without the page table\u000a\u000a`!Is_in_value_area(pc)` is always false if we turn the page table off.\u000aA better check would be `caml_find_code_fragment_by_pc(pc) != NULL`,\u000abut I feel this is too costly even for the debug mode of the interpreter.\u000a",
        "date" : "2020-06-18 15:13:10 +0200",
        "id" : "552bc3e77c53bf3aba0d9a6f1dbfb5271dd8b88f",
        "msg" : "interp.c: remove two assertions that cannot be checked without the page table",
        "paths" : [
          {
            "editType" : "edit",
            "file" : "runtime/interp.c"
          }
        ]
      }
    ],
    "kind" : "git"
  },
  "culprits" : [
    {
      "absoluteUrl" : "https://ci.inria.fr/ocaml/user/xavier.leroy",
      "fullName" : "xavier.leroy"
    }
  ]
}