1. 24 Sep, 2015 5 commits
    • bmeurer's avatar
      [es6] Introduce spec compliant IsConstructor. · 8de4d935
      bmeurer authored
      There was already a bit on the Map named "function with prototype",
      which basically meant that the Map was a map for a JSFunction that could
      be used as a constructor. Now this CL generalizes that bit to
      IsConstructor, which says that whatever (Heap)Object you are looking at
      can be used as a constructor (i.e. the bit is also set for bound
      functions that can be used as constructors and proxies that have a
      [[Construct]] internal method).
      
      This way we have a single chokepoint for IsConstructor checking, which
      allows us to get rid of the various ways in which we tried to guess
      whether something could be used as a constructor or not.
      
      Drive-by-fix: Renamed IsConstructor on FunctionKind to
      IsClassConstructor to resolve the weird name clash, and the
      IsClassConstructor name also matches the spec.
      
      R=jarin@chromium.org, rossberg@chromium.org
      BUG=v8:4430
      LOG=n
      
      Review URL: https://codereview.chromium.org/1358423002
      
      Cr-Commit-Position: refs/heads/master@{#30900}
      8de4d935
    • chunyang.dai's avatar
      X87: [builtins] Add support for NewTarget to Execution::New. · 5ced12c1
      chunyang.dai authored
      port 1dfac69f (r30857).
      
      original commit message:
      
          Introduce new builtins Construct and ConstructFunction (in line
          with the Call and CallFunction builtins that we already have) as
          proper bottleneck for Construct and [[Construct]] on JSFunctions.
          Use these builtins to support passing NewTarget from C++ to
          JavaScript land.
      
          Long-term we want the CallConstructStub to be used for
          gathering feedback on entry to construction chain (i.e. the
          initial new Foo), and use the Construct builtins to do the
          actual work inside the construction chain (i.e. calling into
          super and stuff).
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1362573002
      
      Cr-Commit-Position: refs/heads/master@{#30899}
      5ced12c1
    • chunyang.dai's avatar
      X87: [turbofan] Add support for reinterpreting integers as floating point and vice versa. · b785daa7
      chunyang.dai authored
      port c610a222 (r30849).
      
      original commit message:
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1362783003
      
      Cr-Commit-Position: refs/heads/master@{#30898}
      b785daa7
    • chunyang.dai's avatar
      X87: [ic] Also collect known map for relational comparison. · 687ef62e
      chunyang.dai authored
      port e56f265f (r30852).
      
      original commit message:
      
          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.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1342243005
      
      Cr-Commit-Position: refs/heads/master@{#30897}
      687ef62e
    • v8-autoroll's avatar
      Update V8 DEPS. · 5e6f7a6c
      v8-autoroll authored
      Rolling v8/tools/clang to 1cde9025c16dfc3e23be2db010b24f657c255b4c
      
      TBR=machenbach@chromium.org,vogelheim@chromium.org,hablich@chromium.org
      
      Review URL: https://codereview.chromium.org/1359983006
      
      Cr-Commit-Position: refs/heads/master@{#30896}
      5e6f7a6c
  2. 23 Sep, 2015 23 commits
  3. 22 Sep, 2015 12 commits