1. 17 Mar, 2015 16 commits
    • mstarzinger's avatar
      Delegate throwing in RegExpExecStub to CEntryStub. · 86b391ec
      mstarzinger authored
      This ensures that there is only one stub that deals with unwinding the
      stack. Having more than one place containing that logic is brittle and
      error prone, especially when it is a corner case only for RangeErrors.
      
      R=titzer@chromium.org
      TEST=mjsunit/regress/regress-crbug-467047
      BUG=chromium:467047
      LOG=N
      
      Review URL: https://codereview.chromium.org/1012103002
      
      Cr-Commit-Position: refs/heads/master@{#27243}
      86b391ec
    • ulan's avatar
      Mark mjsunit/debug-references as flaky in gc-stress. · 683f43d3
      ulan authored
      BUG=v8:3969
      LOG=NO
      TBR=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1016743003
      
      Cr-Commit-Position: refs/heads/master@{#27242}
      683f43d3
    • 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 24 commits