1. 13 Jun, 2017 36 commits
  2. 12 Jun, 2017 4 commits
    • Mircea Trofin's avatar
      [wasm] Initialize parallel jobs with less memory. · b29bfffd
      Mircea Trofin authored
      Avoid constructing zones and large zone objects when initializing
      WasmCompilationUnit. The main reason we did that is so we can cache
      the CEntryStub node, which requires a code object, obtainable only
      on the main thread. We need that value, however, on background threads,
      which is also where we need the aforementioned large objects. We only
      need that for the WasmCompilationUnits being currently compiled, which
      is a number proportional to the number of background threads provided
      by the embedder. Specifically, one zone is needed only for the duration
      of the background compilation, while the second zone needs to survive 
      past that, so the compilation results may be committed to the GC heap
      as Code objects.
      
      The problem with these large objects is that the first allocation
      in a Zone is at minimum 8KB. We used to allocate 2 zones. For
      modules with 200K functions, that means 3.2GB of memory pre-allocated
      before any of it is actually needed.
      
      This change attaches a Handle to the CEntryStub on the WasmCompilationUnits,
      and delays zone creation to when needed. The change also adds a way to 
      cache CEntryStubs in a JSGraph from a given Code handle - limited to the
      scenario needed by wasm (and removable once we get wasm off the GC heap,
      which subsumes removing this dependency on CEntryStubs)
      
      An additional constraint for this change is that we want it to be easily 
      back-mergeable to address chromium:723899.
      
      For the wasm payload in question, collecting the max memory used by d8
      using /usr/bin/time --format='(%Xtext+%Ddata %Mmax)', we get the 
      following numbers (in KB):
      
      - unchanged: 3307480
      - patch 1: 1807140 (45% reduction)
      - patch 3: 1230320 (62% reduction from first)
      - patch 5/6: 519368 (84% reduction from first)
      
      Bug: chomium:732010, chromium:723899
      Change-Id: I45b96792daf8a9c8dc47d45fb52da75945a41401
      Reviewed-on: https://chromium-review.googlesource.com/530193
      Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
      Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45880}
      b29bfffd
    • Adam Klein's avatar
      [parser|cleanup] Remove Variable* accessors from FunctionState · 57f0ca07
      Adam Klein authored
      These accessors are only called from the Parser, never ParserBase, so
      there's no need to expose them in parser-base.h. Instead, access them
      through FunctionState::scope().
      
      This also allows removal of the Types::Variable typedefs.
      
      Bug: v8:6460
      Change-Id: I01186c53d3cc2a2737f3c07169fdd122dff5b174
      Reviewed-on: https://chromium-review.googlesource.com/530034Reviewed-by: 's avatarSathya Gunasekaran <gsathya@chromium.org>
      Commit-Queue: Adam Klein <adamk@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#45879}
      57f0ca07
    • scottmg's avatar
      Fuchsia: implement OS::Allocate · 2094202b
      scottmg authored
      Fix v8 link errors (in component_build=true)
      https://build.chromium.org/p/chromium.fyi/builders/Fuchsia%20(dbg)
      
      BUG=chromium:731217
      
      Review-Url: https://codereview.chromium.org/2930343002
      Cr-Commit-Position: refs/heads/master@{#45878}
      2094202b
    • Jaideep Bajwa's avatar
      PPC: [runtime] Cleanup SharedFunctionInfo fields definitions (5). · dbe87c66
      Jaideep Bajwa authored
      Minor fix to original CL https://chromium-review.googlesource.com/528120
      
      R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      LOG=N
      
      Change-Id: If94e74e9ce97dfbddd578a60d1cfce1fe2b9265d
      Reviewed-on: https://chromium-review.googlesource.com/531524Reviewed-by: 's avatarJunliang Yan <jyan@ca.ibm.com>
      Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
      Cr-Commit-Position: refs/heads/master@{#45877}
      dbe87c66