1. 02 Feb, 2016 6 commits
    • jarin's avatar
      Remove the template magic from types.(h|cc), remove types-inl.h. · ef35f11c
      jarin authored
      This CL removes the Config templatization from the types. It is not
      necessary anymore, after the HeapTypes have been removed.
      
      The CL also changes the type hierarchy - the specific type kinds are
      not inner classes of the Type class and they do not inherit from Type.
      This is partly because it seems impossible to make this work without
      templates. Instead, a new TypeBase class is introduced and all the
      structural (i.e., non-bitset) types inherit from it.
      
      The bitset type still requires the bit-munging hack and some nasty
      reinterpret-casts to pretend bitsets are of type Type*. Additionally,
      there is now the same hack for TypeBase - all pointers to the sub-types
      of TypeBase are reinterpret-casted to Type*. This is to keep the type
      constructors in inline method definitions (although it is unclear how
      much that actually buys us).
      
      In future, we would like to move to a model where we encapsulate Type*
      into a class (or possibly use Type where we used to use Type*). This
      would loosen the coupling between bitset size and pointer size, and
      eventually we would be able to have more bits.
      
      TBR=bradnelson@chromium.org
      
      Review URL: https://codereview.chromium.org/1655833002
      
      Cr-Commit-Position: refs/heads/master@{#33656}
      ef35f11c
    • yangguo's avatar
      [regexp] implement /ui to mirror the implementation for /i. · eea1a4c0
      yangguo authored
      R=erik.corry@gmail.com, erikcorry@chromium.org
      
      Review URL: https://codereview.chromium.org/1641613002
      
      Cr-Commit-Position: refs/heads/master@{#33655}
      eea1a4c0
    • bmeurer's avatar
      [turbofan] Constant-fold ToNumber conversions. · 1f85ff07
      bmeurer authored
      We can constant-fold JSToNumber conversions during typed lowering
      if the input is a known primitive constant (i.e. a string, oddball
      or number). I.e. JSToNumber("123") can be constant-folded to 123.
      
      R=jarin@chromium.org
      
      Review URL: https://codereview.chromium.org/1657213002
      
      Cr-Commit-Position: refs/heads/master@{#33654}
      1f85ff07
    • v8-autoroll's avatar
      Update V8 DEPS. · 0211c634
      v8-autoroll authored
      Rolling v8/third_party/icu to 2b12f8775d66568f2b2e2bd8246efcfdff40d563
      
      Rolling v8/tools/clang to fc5dab2a77e5a2c69f0095faba5f903d520f0bb5
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1653153003
      
      Cr-Commit-Position: refs/heads/master@{#33653}
      0211c634
    • zhengxing.li's avatar
      X87: [builtins] Make Math.max and Math.min fast by default. · 8944d36f
      zhengxing.li authored
        port cb9b8010 (r33582)
      
        original commit message:
        The previous versions of Math.max and Math.min made it difficult to
        optimize those (that's why we already have custom code in Crankshaft),
        and due to lack of ideas what to do about the variable number of
        arguments, we will probably need to stick in special code in TurboFan
        as well; so inlining those builtins is off the table, hence there's no
        real advantage in having them around as "not quite JS" with extra work
        necessary in the optimizing compilers to still make those builtins
        somewhat fast in cases where we cannot inline them (also there's a
        tricky deopt loop in Crankshaft related to Math.min and Math.max, but
        that will be dealt with later).
      
        So to sum up: Instead of trying to make Math.max and Math.min semi-fast
        in the optimizing compilers with weird work-arounds support %_Arguments
        %_ArgumentsLength, we do provide the optimal code as native builtins
        instead and call it a day (which gives a nice performance boost on some
        benchmarks).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1659623003
      
      Cr-Commit-Position: refs/heads/master@{#33652}
      8944d36f
    • caitpotter88's avatar
      [parser] report invalid rest parameter errors in Arrow functions · 15da9843
      caitpotter88 authored
      Based on vogelheim's CL at https://codereview.chromium.org/1657783002/
      
      BUG=chromium:582626, v8:2700
      LOG=N
      R=adamk@chromium.org, rossberg@chromium.org, vogelheim@chromium.org
      
      Review URL: https://codereview.chromium.org/1656993002
      
      Cr-Commit-Position: refs/heads/master@{#33651}
      15da9843
  2. 01 Feb, 2016 25 commits
  3. 31 Jan, 2016 1 commit
  4. 30 Jan, 2016 2 commits
  5. 29 Jan, 2016 6 commits
    • bradnelson's avatar
      Accurately type foreign functions, and variables (attempt 2). · 43be9698
      bradnelson authored
      Associate a type with foreign functions at their callsite.
      Associate a type with foreign variables.
      More pervasively forbid computation in the module body.
      Confirm foreign call arguments are exports.
      
      Pass zone to more Type constructors, for consistency.
      
      BUG= https://code.google.com/p/v8/issues/detail?id=4203
      TEST=test-asm-validator
      R=aseemgarg@chromium.org,titzer@chromium.org
      LOG=N
      
      Review URL: https://codereview.chromium.org/1643003004
      
      Cr-Commit-Position: refs/heads/master@{#33622}
      43be9698
    • thestig's avatar
      Change .gitignore to ignore /base instead of /base/trace_event/common. · bb96455b
      thestig authored
      BUG=581960
      LOG=N
      
      Review URL: https://codereview.chromium.org/1642143004
      
      Cr-Commit-Position: refs/heads/master@{#33621}
      bb96455b
    • mbrandy's avatar
      PPC: Refactor checks for minus zero. · 21bb9c6a
      mbrandy authored
      R=joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1650593002
      
      Cr-Commit-Position: refs/heads/master@{#33620}
      21bb9c6a
    • mbrandy's avatar
      PPC: Fix "Implement the function.sent proposal." · ceb2d18d
      mbrandy authored
      StoreP needs a scratch register for unaligned immediate offset.
      
      R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:4700
      LOG=n
      
      Review URL: https://codereview.chromium.org/1644863005
      
      Cr-Commit-Position: refs/heads/master@{#33619}
      ceb2d18d
    • mbrandy's avatar
      PPC: [builtins] Make Math.max and Math.min fast by default. · 3641a448
      mbrandy authored
      Port cb9b8010
      
      Original commit message:
          The previous versions of Math.max and Math.min made it difficult to
          optimize those (that's why we already have custom code in Crankshaft),
          and due to lack of ideas what to do about the variable number of
          arguments, we will probably need to stick in special code in TurboFan
          as well; so inlining those builtins is off the table, hence there's no
          real advantage in having them around as "not quite JS" with extra work
          necessary in the optimizing compilers to still make those builtins
          somewhat fast in cases where we cannot inline them (also there's a
          tricky deopt loop in Crankshaft related to Math.min and Math.max, but
          that will be dealt with later).
      
          So to sum up: Instead of trying to make Math.max and Math.min semi-fast
          in the optimizing compilers with weird work-arounds support %_Arguments
          %_ArgumentsLength, we do provide the optimal code as native builtins
          instead and call it a day (which gives a nice performance boost on some
          benchmarks).
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=
      
      Review URL: https://codereview.chromium.org/1648353002
      
      Cr-Commit-Position: refs/heads/master@{#33618}
      3641a448
    • mbrandy's avatar
      PPC: [for-in] Ensure that we learn from deopts within for-in loop bodies. · 0dc1e186
      mbrandy authored
      Port 0637f5f6
      
      Original commit message:
          If we deoptimize from TurboFan or Crankshaft into the body of a for-in
          loop and that for-in mode then switches to slow mode (i.e. has to call
          %ForInFilter), we have to record that feedback, because otherwise we
          might actually OSR into that loop assuming that it's fast mode still,
          or even worse recompile the function later when we call it again w/o
          having rerun the for-in loop in fullcodegen from the beginning (where
          was previously the only place we could learn).
      
      R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
      BUG=v8:3650
      LOG=n
      
      Review URL: https://codereview.chromium.org/1644383002
      
      Cr-Commit-Position: refs/heads/master@{#33617}
      0dc1e186