Re-enable rpmalloc

This speeds up "gn gen" for Fuchsia from 30s to 22s!

This uses a local patch until upstream rpmalloc lands
https://github.com/mjansson/rpmalloc/pull/246

The patch comes from:
https://fuchsia-review.googlesource.com/c/third_party/github.com/mjansson/rpmalloc/+/546001

Note that the real change is in infra/recipes/gn.py, all
other changes come from running "infra/recipes.py test train"
to fix the expectations file (no idea why they change so much,
assuming upstream infra changes)

Change-Id: Ia08686d3c78affe5f02164e2700fcb4004e86181
Reviewed-on: https://gn-review.googlesource.com/c/gn/+/11840
Reviewed-by: Petr Hosek <phosek@google.com>
Commit-Queue: David Turner <digit@google.com>
diff --git a/infra/README.recipes.md b/infra/README.recipes.md
index 02e4098..b4cb63d 100644
--- a/infra/README.recipes.md
+++ b/infra/README.recipes.md
@@ -93,7 +93,7 @@
 
 Recipe for building GN.
 
-&mdash; **def [RunSteps](/infra/recipes/gn.py#102)(api, repository):**
+&mdash; **def [RunSteps](/infra/recipes/gn.py#106)(api, repository):**
 ### *recipes* / [macos\_sdk:examples/full](/infra/recipe_modules/macos_sdk/examples/full.py)
 
 [DEPS](/infra/recipe_modules/macos_sdk/examples/full.py#5): [macos\_sdk](#recipe_modules-macos_sdk), [recipe\_engine/platform][recipe_engine/recipe_modules/platform], [recipe\_engine/properties][recipe_engine/recipe_modules/properties], [recipe\_engine/step][recipe_engine/recipe_modules/step]
@@ -110,15 +110,15 @@
 
 &mdash; **def [RunSteps](/infra/recipe_modules/windows_sdk/examples/full.py#13)(api):**
 
-[recipe_engine/recipe_modules/buildbucket]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-buildbucket
-[recipe_engine/recipe_modules/cipd]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-cipd
-[recipe_engine/recipe_modules/context]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-context
-[recipe_engine/recipe_modules/file]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-file
-[recipe_engine/recipe_modules/json]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-json
-[recipe_engine/recipe_modules/path]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-path
-[recipe_engine/recipe_modules/platform]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-platform
-[recipe_engine/recipe_modules/properties]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-properties
-[recipe_engine/recipe_modules/python]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-python
-[recipe_engine/recipe_modules/raw_io]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-raw_io
-[recipe_engine/recipe_modules/step]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/README.recipes.md#recipe_modules-step
-[recipe_engine/wkt/RecipeApi]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/0589a429cf3c164004dae4ced4c75784a50afd81/recipe_engine/recipe_api.py#838
+[recipe_engine/recipe_modules/buildbucket]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-buildbucket
+[recipe_engine/recipe_modules/cipd]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-cipd
+[recipe_engine/recipe_modules/context]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-context
+[recipe_engine/recipe_modules/file]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-file
+[recipe_engine/recipe_modules/json]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-json
+[recipe_engine/recipe_modules/path]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-path
+[recipe_engine/recipe_modules/platform]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-platform
+[recipe_engine/recipe_modules/properties]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-properties
+[recipe_engine/recipe_modules/python]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-python
+[recipe_engine/recipe_modules/raw_io]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-raw_io
+[recipe_engine/recipe_modules/step]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/README.recipes.md#recipe_modules-step
+[recipe_engine/wkt/RecipeApi]: https://chromium.googlesource.com/infra/luci/recipes-py.git/+/d31ba13ede8c21e60116ae61e4490d53ba77fcbd/recipe_engine/recipe_api.py#856
diff --git a/infra/recipe_modules/macos_sdk/examples/full.expected/linux.json b/infra/recipe_modules/macos_sdk/examples/full.expected/linux.json
index 40db66c..5b0f352 100644
--- a/infra/recipe_modules/macos_sdk/examples/full.expected/linux.json
+++ b/infra/recipe_modules/macos_sdk/examples/full.expected/linux.json
@@ -16,7 +16,6 @@
     "name": "ninja"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipe_modules/macos_sdk/examples/full.expected/mac.json b/infra/recipe_modules/macos_sdk/examples/full.expected/mac.json
index 1fb8aba..ab278fd 100644
--- a/infra/recipe_modules/macos_sdk/examples/full.expected/mac.json
+++ b/infra/recipe_modules/macos_sdk/examples/full.expected/mac.json
@@ -7,6 +7,8 @@
       "[CACHE]/macos_sdk",
       "-ensure-file",
       "infra/tools/mac_toolchain/${platform} git_revision:e9b1fe29fe21a1cd36428c43ea2aba244bd31280",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -76,7 +78,6 @@
     "name": "reset XCode"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipe_modules/macos_sdk/examples/full.expected/win.json b/infra/recipe_modules/macos_sdk/examples/full.expected/win.json
index 40db66c..5b0f352 100644
--- a/infra/recipe_modules/macos_sdk/examples/full.expected/win.json
+++ b/infra/recipe_modules/macos_sdk/examples/full.expected/win.json
@@ -16,7 +16,6 @@
     "name": "ninja"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipe_modules/target/examples/full.expected/linux.json b/infra/recipe_modules/target/examples/full.expected/linux.json
index 947f5d2..fa6f615 100644
--- a/infra/recipe_modules/target/examples/full.expected/linux.json
+++ b/infra/recipe_modules/target/examples/full.expected/linux.json
@@ -16,7 +16,6 @@
     ]
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipe_modules/target/examples/full.expected/mac.json b/infra/recipe_modules/target/examples/full.expected/mac.json
index 947f5d2..fa6f615 100644
--- a/infra/recipe_modules/target/examples/full.expected/mac.json
+++ b/infra/recipe_modules/target/examples/full.expected/mac.json
@@ -16,7 +16,6 @@
     ]
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipe_modules/target/examples/full.expected/win.json b/infra/recipe_modules/target/examples/full.expected/win.json
index 947f5d2..fa6f615 100644
--- a/infra/recipe_modules/target/examples/full.expected/win.json
+++ b/infra/recipe_modules/target/examples/full.expected/win.json
@@ -16,7 +16,6 @@
     ]
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipe_modules/windows_sdk/examples/full.expected/linux.json b/infra/recipe_modules/windows_sdk/examples/full.expected/linux.json
index 40db66c..5b0f352 100644
--- a/infra/recipe_modules/windows_sdk/examples/full.expected/linux.json
+++ b/infra/recipe_modules/windows_sdk/examples/full.expected/linux.json
@@ -16,7 +16,6 @@
     "name": "ninja"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipe_modules/windows_sdk/examples/full.expected/mac.json b/infra/recipe_modules/windows_sdk/examples/full.expected/mac.json
index 40db66c..5b0f352 100644
--- a/infra/recipe_modules/windows_sdk/examples/full.expected/mac.json
+++ b/infra/recipe_modules/windows_sdk/examples/full.expected/mac.json
@@ -16,7 +16,6 @@
     "name": "ninja"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipe_modules/windows_sdk/examples/full.expected/win.json b/infra/recipe_modules/windows_sdk/examples/full.expected/win.json
index f8b2b71..f6c937f 100644
--- a/infra/recipe_modules/windows_sdk/examples/full.expected/win.json
+++ b/infra/recipe_modules/windows_sdk/examples/full.expected/win.json
@@ -7,6 +7,8 @@
       "[CACHE]\\windows_sdk",
       "-ensure-file",
       "chrome_internal/third_party/sdk/windows uploaded:2019-09-06",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -101,7 +103,6 @@
     "name": "taskkill mspdbsrv"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipes/gn.expected/ci_linux.json b/infra/recipes/gn.expected/ci_linux.json
index 61b1fa7..071bfb7 100644
--- a/infra/recipes/gn.expected/ci_linux.json
+++ b/infra/recipes/gn.expected/ci_linux.json
@@ -52,7 +52,6 @@
     "cwd": "[START_DIR]/gn",
     "infra_step": true,
     "name": "git.rev-parse",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -65,6 +64,8 @@
       "[START_DIR]/cipd",
       "-ensure-file",
       "infra/ninja/${platform} version:1.8.2\nfuchsia/third_party/clang/${platform} integration\n@Subdir sysroot\nfuchsia/third_party/sysroot/linux git_revision:c912d089c3d46d8982fdef76a50514cca79b6132",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -115,7 +116,7 @@
       "fetch",
       "--tags",
       "https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
-      "6bb6ca97a8d6a72d626153fd8431ef8477a21145"
+      "60f7c6701d41c4452848bf0002cb27664aac0146"
     ],
     "cwd": "[START_DIR]/rpmalloc",
     "infra_step": true,
@@ -500,7 +501,6 @@
     ]
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipes/gn.expected/ci_mac.json b/infra/recipes/gn.expected/ci_mac.json
index 5816d9c..90114ad 100644
--- a/infra/recipes/gn.expected/ci_mac.json
+++ b/infra/recipes/gn.expected/ci_mac.json
@@ -52,7 +52,6 @@
     "cwd": "[START_DIR]/gn",
     "infra_step": true,
     "name": "git.rev-parse",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -65,6 +64,8 @@
       "[START_DIR]/cipd",
       "-ensure-file",
       "infra/ninja/${platform} version:1.8.2\nfuchsia/third_party/clang/${platform} integration",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -96,6 +97,8 @@
       "[CACHE]/macos_sdk",
       "-ensure-file",
       "infra/tools/mac_toolchain/${platform} git_revision:e9b1fe29fe21a1cd36428c43ea2aba244bd31280",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -149,7 +152,6 @@
       "--show-sdk-path"
     ],
     "name": "debug.xcrun sdk-path",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
@@ -168,7 +170,6 @@
       "-"
     ],
     "name": "debug.xcrun toolchain",
-    "stderr": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[toolchain]@[CACHE]/macos_sdk/XCode.app/include/c++/v1@@@",
@@ -248,7 +249,6 @@
       "--show-sdk-path"
     ],
     "name": "release.xcrun sdk-path",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
@@ -267,7 +267,6 @@
       "-"
     ],
     "name": "release.xcrun toolchain",
-    "stderr": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[toolchain]@[CACHE]/macos_sdk/XCode.app/include/c++/v1@@@",
@@ -384,7 +383,6 @@
       "--show-sdk-path"
     ],
     "name": "release.xcrun sdk-path (2)",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
@@ -403,7 +401,6 @@
       "-"
     ],
     "name": "release.xcrun toolchain (2)",
-    "stderr": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[toolchain]@[CACHE]/macos_sdk/XCode.app/include/c++/v1@@@",
@@ -507,7 +504,6 @@
     "name": "reset XCode"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipes/gn.expected/ci_win.json b/infra/recipes/gn.expected/ci_win.json
index 842f015..fcdc658 100644
--- a/infra/recipes/gn.expected/ci_win.json
+++ b/infra/recipes/gn.expected/ci_win.json
@@ -52,7 +52,6 @@
     "cwd": "[START_DIR]\\gn",
     "infra_step": true,
     "name": "git.rev-parse",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -65,6 +64,8 @@
       "[START_DIR]\\cipd",
       "-ensure-file",
       "infra/ninja/${platform} version:1.8.2",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -92,6 +93,8 @@
       "[CACHE]\\windows_sdk",
       "-ensure-file",
       "chrome_internal/third_party/sdk/windows uploaded:2019-09-06",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -336,7 +339,6 @@
     "name": "taskkill mspdbsrv"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipes/gn.expected/cipd_exists.json b/infra/recipes/gn.expected/cipd_exists.json
index e7d6a03..495c5c3 100644
--- a/infra/recipes/gn.expected/cipd_exists.json
+++ b/infra/recipes/gn.expected/cipd_exists.json
@@ -52,7 +52,6 @@
     "cwd": "[START_DIR]/gn",
     "infra_step": true,
     "name": "git.rev-parse",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -65,6 +64,8 @@
       "[START_DIR]/cipd",
       "-ensure-file",
       "infra/ninja/${platform} version:1.8.2\nfuchsia/third_party/clang/${platform} integration\n@Subdir sysroot\nfuchsia/third_party/sysroot/linux git_revision:c912d089c3d46d8982fdef76a50514cca79b6132",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -115,7 +116,7 @@
       "fetch",
       "--tags",
       "https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
-      "6bb6ca97a8d6a72d626153fd8431ef8477a21145"
+      "60f7c6701d41c4452848bf0002cb27664aac0146"
     ],
     "cwd": "[START_DIR]/rpmalloc",
     "infra_step": true,
@@ -578,7 +579,6 @@
     ]
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipes/gn.expected/cipd_register.json b/infra/recipes/gn.expected/cipd_register.json
index 6eebe17..b80f07a 100644
--- a/infra/recipes/gn.expected/cipd_register.json
+++ b/infra/recipes/gn.expected/cipd_register.json
@@ -52,7 +52,6 @@
     "cwd": "[START_DIR]/gn",
     "infra_step": true,
     "name": "git.rev-parse",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -65,6 +64,8 @@
       "[START_DIR]/cipd",
       "-ensure-file",
       "infra/ninja/${platform} version:1.8.2\nfuchsia/third_party/clang/${platform} integration\n@Subdir sysroot\nfuchsia/third_party/sysroot/linux git_revision:c912d089c3d46d8982fdef76a50514cca79b6132",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -115,7 +116,7 @@
       "fetch",
       "--tags",
       "https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
-      "6bb6ca97a8d6a72d626153fd8431ef8477a21145"
+      "60f7c6701d41c4452848bf0002cb27664aac0146"
     ],
     "cwd": "[START_DIR]/rpmalloc",
     "infra_step": true,
@@ -469,7 +470,8 @@
       "@@@STEP_LOG_LINE@json.output@    \"package\": \"gn/gn/linux-amd64\"@@@",
       "@@@STEP_LOG_LINE@json.output@  }@@@",
       "@@@STEP_LOG_LINE@json.output@}@@@",
-      "@@@STEP_LOG_END@json.output@@@"
+      "@@@STEP_LOG_END@json.output@@@",
+      "@@@STEP_LINK@gn/gn/linux-amd64@https://chrome-infra-packages.appspot.com/p/gn/gn/linux-amd64/+/40-chars-fake-of-the-package-instance_id@@@"
     ]
   },
   {
@@ -600,7 +602,6 @@
     ]
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipes/gn.expected/cq_linux.json b/infra/recipes/gn.expected/cq_linux.json
index 7ac4cfc..22c9f50 100644
--- a/infra/recipes/gn.expected/cq_linux.json
+++ b/infra/recipes/gn.expected/cq_linux.json
@@ -52,7 +52,6 @@
     "cwd": "[START_DIR]/gn",
     "infra_step": true,
     "name": "git.rev-parse",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -92,6 +91,8 @@
       "[START_DIR]/cipd",
       "-ensure-file",
       "infra/ninja/${platform} version:1.8.2\nfuchsia/third_party/clang/${platform} integration\n@Subdir sysroot\nfuchsia/third_party/sysroot/linux git_revision:c912d089c3d46d8982fdef76a50514cca79b6132",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -142,7 +143,7 @@
       "fetch",
       "--tags",
       "https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc",
-      "6bb6ca97a8d6a72d626153fd8431ef8477a21145"
+      "60f7c6701d41c4452848bf0002cb27664aac0146"
     ],
     "cwd": "[START_DIR]/rpmalloc",
     "infra_step": true,
@@ -447,7 +448,6 @@
     ]
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipes/gn.expected/cq_mac.json b/infra/recipes/gn.expected/cq_mac.json
index 3965438..908c60d 100644
--- a/infra/recipes/gn.expected/cq_mac.json
+++ b/infra/recipes/gn.expected/cq_mac.json
@@ -52,7 +52,6 @@
     "cwd": "[START_DIR]/gn",
     "infra_step": true,
     "name": "git.rev-parse",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -92,6 +91,8 @@
       "[START_DIR]/cipd",
       "-ensure-file",
       "infra/ninja/${platform} version:1.8.2\nfuchsia/third_party/clang/${platform} integration",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -123,6 +124,8 @@
       "[CACHE]/macos_sdk",
       "-ensure-file",
       "infra/tools/mac_toolchain/${platform} git_revision:e9b1fe29fe21a1cd36428c43ea2aba244bd31280",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -176,7 +179,6 @@
       "--show-sdk-path"
     ],
     "name": "debug.xcrun sdk-path",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
@@ -195,7 +197,6 @@
       "-"
     ],
     "name": "debug.xcrun toolchain",
-    "stderr": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[toolchain]@[CACHE]/macos_sdk/XCode.app/include/c++/v1@@@",
@@ -275,7 +276,6 @@
       "--show-sdk-path"
     ],
     "name": "release.xcrun sdk-path",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
@@ -294,7 +294,6 @@
       "-"
     ],
     "name": "release.xcrun toolchain",
-    "stderr": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[toolchain]@[CACHE]/macos_sdk/XCode.app/include/c++/v1@@@",
@@ -371,7 +370,6 @@
       "--show-sdk-path"
     ],
     "name": "release.xcrun sdk-path (2)",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[sdk-path]@/some/xcode/path@@@",
@@ -390,7 +388,6 @@
       "-"
     ],
     "name": "release.xcrun toolchain (2)",
-    "stderr": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@",
       "@@@STEP_LOG_LINE@raw_io.output[toolchain]@[CACHE]/macos_sdk/XCode.app/include/c++/v1@@@",
@@ -454,7 +451,6 @@
     "name": "reset XCode"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipes/gn.expected/cq_win.json b/infra/recipes/gn.expected/cq_win.json
index 7e4424b..5612924 100644
--- a/infra/recipes/gn.expected/cq_win.json
+++ b/infra/recipes/gn.expected/cq_win.json
@@ -52,7 +52,6 @@
     "cwd": "[START_DIR]\\gn",
     "infra_step": true,
     "name": "git.rev-parse",
-    "stdout": "/path/to/tmp/",
     "~followup_annotations": [
       "@@@STEP_NEST_LEVEL@1@@@"
     ]
@@ -92,6 +91,8 @@
       "[START_DIR]\\cipd",
       "-ensure-file",
       "infra/ninja/${platform} version:1.8.2",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -119,6 +120,8 @@
       "[CACHE]\\windows_sdk",
       "-ensure-file",
       "chrome_internal/third_party/sdk/windows uploaded:2019-09-06",
+      "-max-threads",
+      "0",
       "-json-output",
       "/path/to/tmp/json"
     ],
@@ -322,7 +325,6 @@
     "name": "taskkill mspdbsrv"
   },
   {
-    "jsonResult": null,
     "name": "$result"
   }
 ]
\ No newline at end of file
diff --git a/infra/recipes/gn.py b/infra/recipes/gn.py
index 28bf229..37c99d7 100644
--- a/infra/recipes/gn.py
+++ b/infra/recipes/gn.py
@@ -27,8 +27,12 @@
 }
 
 # On select platforms, link the GN executable against rpmalloc for a small 10% speed boost.
+# TODO: This uses a local patch on the Fuchsia github mirror, switch back to
+# upstream revision once https://github.com/mjansson/rpmalloc/pull/246 has
+# landed. The current revision comes from:
+# https://fuchsia-review.googlesource.com/c/third_party/github.com/mjansson/rpmalloc/+/546001
 RPMALLOC_GIT_URL = 'https://fuchsia.googlesource.com/third_party/github.com/mjansson/rpmalloc'
-RPMALLOC_REVISION = '6bb6ca97a8d6a72d626153fd8431ef8477a21145'
+RPMALLOC_REVISION = '60f7c6701d41c4452848bf0002cb27664aac0146'
 
 # Used to convert os and arch strings to rpmalloc format
 RPMALLOC_MAP = {
@@ -159,9 +163,7 @@
           'args': ['--use-lto', '--use-icf'],
           'targets': release_targets(),
           # TODO: Enable this for OS X and Windows.
-          # TODO: Enable back when https://github.com/mjansson/rpmalloc/pull/246
-          # has landed (using `api.platform.is_linux`).
-          'use_rpmalloc': False,
+          'use_rpmalloc': api.platform.is_linux,
       },
   ]