1. 23 Feb, 2016 4 commits
    • zhengxing.li's avatar
      X87: Emit memory operands for cmp and test on ia32 and x64 when it makes sense. · e1b9058f
      zhengxing.li authored
        port 0e43ff56 (r34187)
      
        original commit message:
        The InstructionSelector now associates an effect level to every node in a block.
      
        The effect level of a node is the number of non-eliminatable nodes encountered from the beginning of the block to the node itself.
      
        With this change, on ia32 and x64, a load from memory into a register can be replaced by a memory operand if all of the following conditions hold:
      
        1. The only use of the load is in a 32 or 64 bit word comparison.
        2. The user node and the load node belong to the same block.
        3. The values of the operands have the same size (i.e., no need to zero-extend or sign-extend the result of the load).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1724473004
      
      Cr-Commit-Position: refs/heads/master@{#34204}
      e1b9058f
    • v8-autoroll's avatar
      Update V8 DEPS. · ced09a7b
      v8-autoroll authored
      Rolling v8/buildtools to 97b5c485707335dd2952c05bf11412ada3f4fb6f
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1723843002
      
      Cr-Commit-Position: refs/heads/master@{#34203}
      ced09a7b
    • zhengxing.li's avatar
      X87: Change the test case for X87 RunRoundUint32ToFloat32. · 2cd94856
      zhengxing.li authored
        The CL #33796 (https://codereview.chromium.org/1628133002) added the RunRoundUint32ToFloat32 test case and X87 failed at it.
      
        The reason is same as the CL #33630 (Issue 1649323002: X87: Change the test case for X87 RunRoundInt32ToFloat32), please refer: https://codereview.chromium.org/1649323002.
      
        Here is the key comments from CL #33630:
        Some new test cases use CheckFloatEq(...) and CheckDoubleEq(...) function for result check. When GCC compiling the CheckFloatEq() and CheckDoubleEq() function,
        those inlined functions has different behavior comparing with GCC ia32 build and x87 build.
        The major difference is sse float register still has single precision rounding semantic. While X87 register has no such rounding precsion semantic when directly use register value.
        The V8 turbofan JITTed has exactly same result in both X87 and IA32 port.
      
        For CHECK_EQ(a, b) function, if a and b are doubles, it will has similar behaviors like CheckFloatEq(...) and CheckDoubleEq(...) function when compiled by GCC and causes the test case
        fail.
      
        So we add the following sentence to do type case to keep the same precision for RunRoundUint32ToFloat32. Such as: volatile double expect = static_cast<float>(*i).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1714413002
      
      Cr-Commit-Position: refs/heads/master@{#34202}
      2cd94856
    • littledan's avatar
      ES2015 web compat workaround: RegExp.prototype.flags => "" · b22b2588
      littledan authored
      It turns out that some old polyfill library uses
      RegExp.prototype.flags as a way of feature testing. It's not clear
      how widespread this is. For now, as a minimal workaround, we can
      return undefined from getters like RegExp.prototype.global when
      the receiver is RegExp.prototype. This patch implements that strategy
      but omits a UseCounter to make backports easier.
      
      R=adamk
      CC=yangguo@chromium.org
      BUG=chromium:581577
      LOG=Y
      CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
      
      Review URL: https://codereview.chromium.org/1640803003
      
      Cr-Commit-Position: refs/heads/master@{#34201}
      b22b2588
  2. 22 Feb, 2016 20 commits
  3. 21 Feb, 2016 2 commits
  4. 20 Feb, 2016 7 commits
  5. 19 Feb, 2016 7 commits