1. 14 May, 2016 1 commit
    • v8-autoroll's avatar
      Update V8 DEPS. · 29611a95
      v8-autoroll authored
      Rolling v8/base/trace_event/common to 54b8455be9505c2cb0cf5c26bb86739c236471aa
      
      Rolling v8/build to 93c1eb80b485df02249b83452a42b7a13b3bde28
      
      Rolling v8/buildtools to e9fb74175ea7c3f251baad24d9ebe03c01ed5aba
      
      Rolling v8/tools/gyp to bce1c7793010574d88d7915e2d55395213ac63d1
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review-Url: https://codereview.chromium.org/1980813002
      Cr-Commit-Position: refs/heads/master@{#36256}
      29611a95
  2. 13 May, 2016 33 commits
  3. 12 May, 2016 6 commits
    • vogelheim's avatar
      Remove Expression::bounds_, in order to conserve memory during parsing. · bb04e124
      vogelheim authored
      Expression::bounds_ is used only by a subset of compile passes, but the
      data structure occupies space for every Expression node ever parsed. This
      unneccessarily increases memory consumption. Particularly, peak memory
      consumption during startup, which may cause out-of-memory errors.
      
      This CL
      - removes Expression::bounds_;
      - introduces an AstTypeBounds container, which mappes Expression* to Bounds;
      - modifies the code that actually requires bounds information, namely
        Crankshaft compile and AsmWasmBuilder, to instantiate such an AstTypeBounds
        container before typing and to pass it to the code that consumes this
        information; and
      - modifies all accesses to Expression::bounds_ to instead access the bounds
        via the container instead.
      
      Additionally, this rewrites test-ast-expression-visitor. The reason is that
      this code attempted to test AstExpressionVisitor but did so exclusively
      through its subclass ExpressionTypeCollector, meaning that the test dealt
      almost exclusively with type bounds despite the class-under-test having
      no knowledge or functionality related to it. Worse, the test was written
      in a way to assume that type bounds were available outside & after
      compilation, which is something this change changes.
      
      BUG=v8:4947
      
      Review-Url: https://codereview.chromium.org/1968383002
      Cr-Commit-Position: refs/heads/master@{#36222}
      bb04e124
    • jwolfe's avatar
      In parallel to the strict octal check that would reject `012` in strict mode,... · d0b6686c
      jwolfe authored
      In parallel to the strict octal check that would reject `012` in strict mode, this patch collects UseCounters for `089` in strict mode. The spec says this should be an error, but this patch does not report it as such.
      
      BUG=v8:4973
      LOG=y
      
      Review-Url: https://codereview.chromium.org/1948403002
      Cr-Commit-Position: refs/heads/master@{#36221}
      d0b6686c
    • oth's avatar
      [interpreter] Introduce bytecode generation pipeline. · 02b7373a
      oth authored
      This change introduces a pipeline for the final stages of
      bytecode generation.
      
      The peephole optimizer is made distinct from the BytecodeArrayBuilder.
      
      A new BytecodeArrayWriter is responsible for writing bytecode. It
      also keeps track of the maximum register seen and offers a potentially
      smaller frame size.
      
      R=rmcilroy@chromium.org
      LOG=N
      BUG=v8:4280
      
      Review-Url: https://codereview.chromium.org/1947403002
      Cr-Commit-Position: refs/heads/master@{#36220}
      02b7373a
    • bmeurer's avatar
      [turbofan] Fix optimized lowering of Math.imul. · fa7460ad
      bmeurer authored
      We eagerly inserted Int32Mul for Math.imul during builtin lowering and
      messed up with the types, which confused the representation selection.
      This adds a proper NumberImul operator, and fixes the builtin reducer to
      do the right thing according to the spec.
      
      R=mstarzinger@chromium.org
      BUG=v8:5006
      LOG=n
      
      Review-Url: https://codereview.chromium.org/1971163002
      Cr-Commit-Position: refs/heads/master@{#36219}
      fa7460ad
    • jacob.bramley's avatar
      [arm] Clean up handling of usat. · 83b9e1be
      jacob.bramley authored
      The usat instruction is available from ARMv6, so there's no need to
      check for the ARMv7 feature before using it. ARMv6 is the oldest
      supported architecture in V8.
      
      Correcting this allows the removal of a special case for predictable
      code size.
      
      BUG=
      
      Review-Url: https://codereview.chromium.org/1974903002
      Cr-Commit-Position: refs/heads/master@{#36218}
      83b9e1be
    • rmcilroy's avatar
      Add V8.Execute histogram to measure time spent executing JS code. · e8f5a272
      rmcilroy authored
      Adds a V8.Execute histogram to measure the amount of time spent executing
      JS code.
      
      BUG=v8:4865
      LOG=N
      
      Review-Url: https://codereview.chromium.org/1974003002
      Cr-Commit-Position: refs/heads/master@{#36217}
      e8f5a272