1. 25 Apr, 2016 3 commits
    • v8-autoroll's avatar
      Update V8 DEPS. · fed8f3a5
      v8-autoroll authored
      Rolling v8/tools/clang to db76f9f1d1ed7f4c4db1bf10f530506614375db3
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1912413002
      
      Cr-Commit-Position: refs/heads/master@{#35746}
      fed8f3a5
    • zhengxing.li's avatar
      X87: [turbofan] Introduce TruncateTaggedToWord32 simplified operator. · c6312774
      zhengxing.li authored
        port 0231a7ef (r35743)
      
        original commit message:
        This allows us to get rid of the "push TruncateFloat64ToInt32 into Phi"
        trick that was used in the MachineOperatorReducer to combine the
        ChangeTaggedToFloat64 and TruncateFloat64ToInt32 operations. Instead of
        doing that later, we can just introduce the proper operator during the
        representation selection directly.
      
        Also separate the TruncateFloat64ToInt32 machine operator, which had two
        different meanings depending on a flag (either JavaScript truncation or
        C++ style round to zero). Now there's a TruncateFloat64ToWord32 which
        represents the JavaScript truncation (implemented via TruncateDoubleToI
        macro + code stub) and the RoundFloat64ToInt32, which implements the C++
        round towards zero operation (in the same style as the other WebAssembly
        driven Round* machine operators).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1912403002
      
      Cr-Commit-Position: refs/heads/master@{#35745}
      c6312774
    • zhengxing.li's avatar
      X87: [interpreter] Heal closures when bytecode array is gone. · eb921c8a
      zhengxing.li authored
        port 5c8609de (r35724)
      
        original commit message:
        This ensures the InterpreterEntryTrampoline heals code entry fields
        inside closures when being called without a valid bytecode array. This
        is preparatory work to allow removal of bytecode when switching some
        functions to other types of code.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1920713002
      
      Cr-Commit-Position: refs/heads/master@{#35744}
      eb921c8a
  2. 24 Apr, 2016 1 commit
    • bmeurer's avatar
      [turbofan] Introduce TruncateTaggedToWord32 simplified operator. · 0231a7ef
      bmeurer authored
      This allows us to get rid of the "push TruncateFloat64ToInt32 into Phi"
      trick that was used in the MachineOperatorReducer to combine the
      ChangeTaggedToFloat64 and TruncateFloat64ToInt32 operations. Instead of
      doing that later, we can just introduce the proper operator during the
      representation selection directly.
      
      Also separate the TruncateFloat64ToInt32 machine operator, which had two
      different meanings depending on a flag (either JavaScript truncation or
      C++ style round to zero). Now there's a TruncateFloat64ToWord32 which
      represents the JavaScript truncation (implemented via TruncateDoubleToI
      macro + code stub) and the RoundFloat64ToInt32, which implements the C++
      round towards zero operation (in the same style as the other WebAssembly
      driven Round* machine operators).
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1919513002
      
      Cr-Commit-Position: refs/heads/master@{#35743}
      0231a7ef
  3. 23 Apr, 2016 1 commit
    • mtrofin's avatar
      [turbofan] Single entry into deferred · 5ae587cf
      mtrofin authored
      If a deferred block has multiple predecessors, they have to be
      all deferred. Otherwise, we can run into a situation where if a range
      that spills only in deferred blocks inserts its spill in the block, and
      other ranges need moves inserted by ResolveControlFlow in the predecessors,
      the register of the range spilled in the deferred block may be clobbered.
      
      To avoid that, when a deferred block has multiple predecessors, and some
      are not deferred, we add a non-deferred block to collect all such edges.
      
      This CL addresses the validator assertion failure the referenced issue, as well
      as the greedy allocator failure - which was caused by the situation described
      above.
      
      BUG=v8:4940
      LOG=n
      
      Review URL: https://codereview.chromium.org/1912093005
      
      Cr-Commit-Position: refs/heads/master@{#35742}
      5ae587cf
  4. 22 Apr, 2016 30 commits
  5. 21 Apr, 2016 5 commits