1. 17 Mar, 2015 14 commits
    • mvstanton's avatar
      Feedback vector: ASAN found memory leaks during AST Numbering pass. · 7478c5a0
      mvstanton authored
      The cause was dynamic allocation of an accounting structure used to
      create/initialize the type feedback vector, done at the end of the
      numbering pass. The solution is to Zone-allocate the structure to
      bring it's lifetime in line with the compilation unit.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1014793003
      
      Cr-Commit-Position: refs/heads/master@{#27241}
      7478c5a0
    • mstarzinger's avatar
      [turbofan] Follow-up to evaluation order in AstGraphBuilder. · 7f7cff33
      mstarzinger authored
      The evaluation order of receiver versus arguments is not properly
      defined by C++. This caused issues with Clang where the environment
      changed after the receiveing environment was already loaded.
      
      R=jarin@chromium.org
      BUG=chromium:467531
      LOG=N
      
      Review URL: https://codereview.chromium.org/1011123002
      
      Cr-Commit-Position: refs/heads/master@{#27240}
      7f7cff33
    • dcarney's avatar
      correctly invalidate global cells · d3fb7bf8
      dcarney authored
      additionally, remove unnecessary deopts when transitioning to global accessor properties from data properties
      
      R=verwaest@chromium.org
      
      BUG=
      
      Review URL: https://codereview.chromium.org/996133002
      
      Cr-Commit-Position: refs/heads/master@{#27239}
      d3fb7bf8
    • mstarzinger's avatar
      [turbofan] Fix C++ evaluation order in AstGraphBuilder. · 7e8a62e3
      mstarzinger authored
      The evaluation order of receiver versus arguments is not properly
      defined by C++. This caused issues with Clang where the environment
      changed after the receiveing environment was already loaded.
      
      R=jarin@chromium.org
      BUG=chromium:467531
      TEST=mjsunit/regress/regress-crbug-467531
      LOG=N
      
      Review URL: https://codereview.chromium.org/1015683002
      
      Cr-Commit-Position: refs/heads/master@{#27238}
      7e8a62e3
    • bmeurer's avatar
      [turbofan] Fix obsolete workaround for type system in simplified lowering. · 77b6a076
      bmeurer authored
      Ranges and bitset types now work together, so we don't need these weird
      hacks anymore.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/994283005
      
      Cr-Commit-Position: refs/heads/master@{#27237}
      77b6a076
    • dcarney's avatar
      convert String::New functions to maybe · 85a0e807
      dcarney authored
      R=svenpanne@chromium.org
      BUG=v8:3929
      LOG=n
      
      Review URL: https://codereview.chromium.org/1010803008
      
      Cr-Commit-Position: refs/heads/master@{#27236}
      85a0e807
    • mvstanton's avatar
      Use platform specific stubs for vector-based Load/KeyedLoad. · 34a1a76d
      mvstanton authored
      A hydrogen code stub is not the best approach because it builds a frame
      and doesn't have the technology to discard roots at tail call exits.
      Platform-specific stubs provide much better performance at this point.
      
      R=verwaest@chromium.org
      
      BUG=
      
      Review URL: https://codereview.chromium.org/988653003
      
      Cr-Commit-Position: refs/heads/master@{#27235}
      34a1a76d
    • yangguo's avatar
      Serializer: Cache FlagList::Hash result. · d74f5c6f
      yangguo authored
      R=vogelheim@chromium.org
      
      Review URL: https://codereview.chromium.org/1011703003
      
      Cr-Commit-Position: refs/heads/master@{#27234}
      d74f5c6f
    • ulan's avatar
      Retain maps that have live prototypes. · d4cd05e6
      ulan authored
      BUG=v8:3664
      LOG=NO
      
      Review URL: https://codereview.chromium.org/1009343002
      
      Cr-Commit-Position: refs/heads/master@{#27233}
      d4cd05e6
    • jarin's avatar
      [turbofan] Variable liveness analysis for deopt. · ca3abde2
      jarin authored
      This change introduces a liveness analyzer for local variables in frame states.
      
      The main idea is to use the AstGraphBuilder::Environment class to build the control flow graph, and record local variable loads, stores and checkpoints in the CFG basic blocks (LivenessAnalyzerBlock class).
      
      After the graph building finishes, we run a simple data flow analysis over the CFG to figure out liveness of each local variable at each checkpoint. Finally, we run a pass over all the checkpoints and replace dead local variables in the frame states with the 'undefined' value.
      
      Performance numbers for Embenchen are below.
      
      ----------- box2d.js
      Current --turbo-deoptimization: EmbenchenBox2d(RunTime): 11265 ms.
      d8-master --turbo-deoptimization: EmbenchenBox2d(RunTime): 11768 ms.
      d8-master: EmbenchenBox2d(RunTime): 10996 ms.
      ----------- bullet.js
      Current --turbo-deoptimization: EmbenchenBullet(RunTime): 17049 ms.
      d8-master --turbo-deoptimization: EmbenchenBullet(RunTime): 17384 ms.
      d8-master: EmbenchenBullet(RunTime): 16153 ms.
      ----------- copy.js
      Current --turbo-deoptimization: EmbenchenCopy(RunTime): 4877 ms.
      d8-master --turbo-deoptimization: EmbenchenCopy(RunTime): 4938 ms.
      d8-master: EmbenchenCopy(RunTime): 4940 ms.
      ----------- corrections.js
      Current --turbo-deoptimization: EmbenchenCorrections(RunTime): 7068 ms.
      d8-master --turbo-deoptimization: EmbenchenCorrections(RunTime): 6718 ms.
      d8-master: EmbenchenCorrections(RunTime): 6858 ms.
      ----------- fannkuch.js
      Current --turbo-deoptimization: EmbenchenFannkuch(RunTime): 4167 ms.
      d8-master --turbo-deoptimization: EmbenchenFannkuch(RunTime): 4608 ms.
      d8-master: EmbenchenFannkuch(RunTime): 4149 ms.
      ----------- fasta.js
      Current --turbo-deoptimization: EmbenchenFasta(RunTime): 9981 ms.
      d8-master --turbo-deoptimization: EmbenchenFasta(RunTime): 9848 ms.
      d8-master: EmbenchenFasta(RunTime): 9640 ms.
      ----------- lua_binarytrees.js
      Current --turbo-deoptimization: EmbenchenLuaBinaryTrees(RunTime): 11571 ms.
      d8-master --turbo-deoptimization: EmbenchenLuaBinaryTrees(RunTime): 13089 ms.
      d8-master: EmbenchenLuaBinaryTrees(RunTime): 10957 ms.
      ----------- memops.js
      Current --turbo-deoptimization: EmbenchenMemOps(RunTime): 7766 ms.
      d8-master --turbo-deoptimization: EmbenchenMemOps(RunTime): 7346 ms.
      d8-master: EmbenchenMemOps(RunTime): 7738 ms.
      ----------- primes.js
      Current --turbo-deoptimization: EmbenchenPrimes(RunTime): 7459 ms.
      d8-master --turbo-deoptimization: EmbenchenPrimes(RunTime): 7453 ms.
      d8-master: EmbenchenPrimes(RunTime): 7451 ms.
      ----------- skinning.js
      Current --turbo-deoptimization: EmbenchenSkinning(RunTime): 15564 ms.
      d8-master --turbo-deoptimization: EmbenchenSkinning(RunTime): 15611 ms.
      d8-master: EmbenchenSkinning(RunTime): 15583 ms.
      ----------- zlib.js
      Current --turbo-deoptimization: EmbenchenZLib(RunTime): 10825 ms.
      d8-master --turbo-deoptimization: EmbenchenZLib(RunTime): 11180 ms.
      d8-master: EmbenchenZLib(RunTime): 10823 ms.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/949743002
      
      Cr-Commit-Position: refs/heads/master@{#27232}
      ca3abde2
    • loislo's avatar
      CpuProfiler: extract DeoptInfo fill in code into a static function. · 55d05404
      loislo authored
      the third part of the patch https://codereview.chromium.org/1012633002
      
      this patch
      1) moves DeoptInfo builder code to platform independent file lithium-codegen.cc
      2) adds inlining_id property to HEnterInlined so we can use it on lithium level.
      
      BUG=chromium:452067
      LOG=n
      
      Review URL: https://codereview.chromium.org/1011733005
      
      Cr-Commit-Position: refs/heads/master@{#27231}
      55d05404
    • yangguo's avatar
      Serializer: micro-optimizations for the deserializer. · 773f2977
      yangguo authored
      R=vogelheim@chromium.org
      
      Review URL: https://codereview.chromium.org/1008923003
      
      Cr-Commit-Position: refs/heads/master@{#27230}
      773f2977
    • dcarney's avatar
      add missing dcheck to ToLocalChecked · 4a99e6f4
      dcarney authored
      R=svenpanne@chromium.org
      BUG=v8:3929
      LOG=n
      
      Review URL: https://codereview.chromium.org/1017663002
      
      Cr-Commit-Position: refs/heads/master@{#27229}
      4a99e6f4
    • v8-autoroll's avatar
      Update V8 DEPS. · 140b40c2
      v8-autoroll authored
      Rolling v8/build/gyp to d174d75bf69c682cb62af9187879e01513b35e52
      
      TBR=machenbach@chromium.org
      
      Review URL: https://codereview.chromium.org/1014683004
      
      Cr-Commit-Position: refs/heads/master@{#27228}
      140b40c2
  2. 16 Mar, 2015 26 commits