1. 21 Sep, 2015 11 commits
    • bmeurer's avatar
      [ic] Also collect known map for relational comparison. · e56f265f
      bmeurer authored
      Previously we only collected the known map for equality comparisons. But
      if we also collect it for relational comparisons, we can inline a fast
      path of ToPrimitive on the objects, which is especially interesting
      since both sides have the same map.
      
      For now we only inline a very limited subset of ToPrimitive in
      Crankshaft, which is when the receiver map (and its prototype chain)
      doesn't have @@toPrimitive, and both valueOf and toString are the
      default versions on the %ObjectPrototype%. In this case the relational
      comparison would reduce to a string comparison of "[object CLASS]" with
      itself and so we can reduce that to a boolean constant plus map checks
      on both left and right hand side, plus code dependencies on the
      prototype chain. This repairs the regression on box2d.
      
      R=jkummerow@chromium.org
      BUG=chromium:534200
      LOG=n
      
      Review URL: https://codereview.chromium.org/1355113002
      
      Cr-Commit-Position: refs/heads/master@{#30852}
      e56f265f
    • Michael Achenbach's avatar
      Whitespace change to test infra changes. · c7a67900
      Michael Achenbach authored
      Cr-Commit-Position: refs/heads/master@{#30851}
      c7a67900
    • mlippautz's avatar
      [heap] Sort declarations for MemoryChunk. · 41b8e10e
      mlippautz authored
      R=hpayer@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1360553003
      
      Cr-Commit-Position: refs/heads/master@{#30850}
      41b8e10e
    • titzer's avatar
      [turbofan] Add support for reinterpreting integers as floating point and vice versa. · c610a222
      titzer authored
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1356913002
      
      Cr-Commit-Position: refs/heads/master@{#30849}
      c610a222
    • hpayer's avatar
      [heap] Add timer scopes to process weak cells and clear non-live references. · efc3fa02
      hpayer authored
      BUG=
      
      Review URL: https://codereview.chromium.org/1345273004
      
      Cr-Commit-Position: refs/heads/master@{#30848}
      efc3fa02
    • bmeurer's avatar
      [crankshaft] Generalize PropertyAccessInfo to Name (so it can deal with symbols). · 704e3d80
      bmeurer authored
      This doesn't fix the performance regression mentioned by the bug yet,
      but is necessary cleanup to land the fix, and should be separated from
      the actual fix.
      
      R=jkummerow@chromium.org
      BUG=chromium:534200
      LOG=n
      
      Review URL: https://codereview.chromium.org/1345313005
      
      Cr-Commit-Position: refs/heads/master@{#30847}
      704e3d80
    • mythria's avatar
      Continuing removing deprecated function from cctest · 41111e3d
      mythria authored
      Removes deprecated functions from the following files:
      
      test/cctest/compiler/function-tester.h
      test/cctest/test-thread-termination.cc
      test/cctest/test-threads.cc
      test/cctest/test-transitions.cc
      test/cctest/test-typedarrays.cc
      test/cctest/test-types.cc
      test/cctest/test-typing-reset.cc
      test/cctest/test-unbound-queue.cc
      test/cctest/test-unboxed-doubles.cc
      
      BUG=v8:4134
      LOG=n
      
      Review URL: https://codereview.chromium.org/1344583002
      
      Cr-Commit-Position: refs/heads/master@{#30846}
      41111e3d
    • chunyang.dai's avatar
      X87: [stubs] Refactor StringCompareStub and use it for HStringCompareAndBranch. · be04dd5c
      chunyang.dai authored
      port 8016547c (r30818).
      
      original commit message:
      
          The StringCompareStub used to take its parameters on the (JavaScript)
          stack, which made it impossible to use in TurboFan. Actually
          StringCompareStub was currently completely unused. This changes the
          calling convention to something TurboFan compatible and introduces a
          CallInterfaceDescriptor for StringCompareStub. It also changes
          HStringCompareAndBranch to use the StringCompareStub instead of using
          the full blown CompareICStub for a stupid string comparison.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1355983003
      
      Cr-Commit-Position: refs/heads/master@{#30845}
      be04dd5c
    • chunyang.dai's avatar
      X87: [runtime] Replace COMPARE/COMPARE_STRONG with proper Object::Compare. · 9155967e
      chunyang.dai authored
      port 593c655a (r30816).
      
      original commit message:
      
          This removes the weird COMPARE and COMPARE_STRONG JavaScript builtins
          and replaces them with a proper C++ implementation in Object::Compare
          and appropriate wrappers Object::LessThan, Object::GreaterThan, and
          friends that are intended to be used by a true/false returning CompareIC
          in the future, as well as the interpreter.  As a short-term solution we
          provide %Compare and %Compare_Strong entry points for the current
          CompareIC that return the appropriate integer values expected by
          fullcodegen currently.
      
          Now the Abstract Relational Comparison is also using the correct
          ToPrimitive implementation, which properly supports @@toPrimitive.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1353343002
      
      Cr-Commit-Position: refs/heads/master@{#30844}
      9155967e
    • julien.gilli's avatar
      Add ScopeInfo constants to post-mortem metadata · 357e6b99
      julien.gilli authored
      mdb_v8, a post-mortem debugging tool for Node.js, allows users to
      inspect ScopeInfo structures in order to get more information about
      closures.
      
      Currently, it hardcodes the metadata it uses to find this information.
      This change allows it to get this metadata from the node binary itself,
      and thus to adapt to future changes made to the layout of the ScopeInfo
      data structure.
      
      BUG=
      
      R=bmeurer@chromium.org
      
      Review URL: https://codereview.chromium.org/1350843003
      
      Cr-Commit-Position: refs/heads/master@{#30843}
      357e6b99
    • littledan's avatar
      Implement sloppy-mode block-defined functions (Annex B 3.3) · e5ff10d7
      littledan authored
      ES2015 specifies very particular semantics for functions defined in blocks.
      In strict mode, it is simply a lexical binding scoped to that block. In sloppy
      mode, in addition to that lexical binding, there is a var-style binding in
      the outer scope, which is overwritten with the local binding when the function
      declaration is evaluated, *as long as* introducing ths var binding would not
      create a var/let conflict in the outer scope.
      
      This patch implements the semantics by introducing a DelegateStatement, which
      is initially filled in with the EmptyStatement and overwritten with the
      assignment when the scope is closed out and it can be checked that there is
      no conflict.
      
      This patch is tested with a new mjsunit test, and I tried staging it and running
      test262, finding that the tests that we have disabled due to lack of Annex B
      support now pass.
      
      R=adamk,rossberg
      LOG=Y
      BUG=v8:4285
      
      Review URL: https://codereview.chromium.org/1332873003
      
      Cr-Commit-Position: refs/heads/master@{#30842}
      e5ff10d7
  2. 20 Sep, 2015 1 commit
    • alph's avatar
      Reland of Make profiler no frame region detection code more robust [ia86/x64] · 4962bbb1
      alph authored
      Upon collection of the stack trace if the current PC falls into
      the frame building code, the top frame might be in a non-consistent
      state. That leads to some of the frames could be missing from the
      stack trace.
      
      The patch makes it check instructions under current PC and if they
      look like the frame setup/destroy code, it skips the entire sample.
      
      Support for x86/x64
      
      CG_INCLUDE_TRYBOTS=tryserver.v8:v8_linux64_msan_rel
      BUG=chromium:529931
      LOG=N
      
      Review URL: https://codereview.chromium.org/1348533005
      
      Cr-Commit-Position: refs/heads/master@{#30841}
      4962bbb1
  3. 19 Sep, 2015 1 commit
    • v8-autoroll's avatar
      Update V8 DEPS. · d44588a9
      v8-autoroll authored
      Rolling v8/build/gyp to cf3170e30578d600b8ec8cd68553cc5e606d42eb
      
      Rolling v8/tools/clang to 76e743dc622478312b66661ad48997b318628cbb
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1357793002
      
      Cr-Commit-Position: refs/heads/master@{#30840}
      d44588a9
  4. 18 Sep, 2015 26 commits
  5. 17 Sep, 2015 1 commit
    • mbrandy's avatar
      PPC: [runtime] Initial step towards switching Execution::Call to callable. · 05c804fc
      mbrandy authored
      Port d5bbd45f
      
      Original commit message:
          Currently Execution::Call (and friends) still duplicate a lot of the
          Call sequence logic that should be encapsulated in the Call and
          CallFunction builtins. So the plan now is to switch Execution::Call
          to accept any Callable and just pass that through to the Call builtin.
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, dstence@us.ibm.com
      BUG=v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1347213003
      
      Cr-Commit-Position: refs/heads/master@{#30813}
      05c804fc