1. 11 Dec, 2015 2 commits
  2. 07 Dec, 2015 1 commit
  3. 30 Nov, 2015 1 commit
  4. 24 Nov, 2015 1 commit
  5. 19 Nov, 2015 1 commit
  6. 17 Nov, 2015 2 commits
  7. 30 Oct, 2015 1 commit
    • neis's avatar
      Refactor Object::SetSuperProperty and others. · 12736611
      neis authored
      This is in preparation of implementing Reflect.set.
      
      Besides making SetSuperProperty and others return Maybe<bool>, this CL
      also fixes some parts of my previous refactoring of SetProperty and
      others: It doesn't make sense to take both a language_mode and a
      should_throw argument.  A strict language_mode should imply
      THROW_ON_ERROR.
      
      R=rossberg, verwaest@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1431443003
      
      Cr-Commit-Position: refs/heads/master@{#31678}
      12736611
  8. 26 Oct, 2015 3 commits
  9. 23 Oct, 2015 1 commit
  10. 22 Oct, 2015 1 commit
  11. 09 Oct, 2015 1 commit
  12. 25 Sep, 2015 1 commit
    • bmeurer's avatar
      [es6] Remove left-overs from Function.prototype.toMethod. · ff2c9eac
      bmeurer authored
      The actual Function.prototype.toMethod was removed some time already,
      but there were some stuff (esp. %ToMethod) left in the tree, including
      tests for %ToMethod.  This code (and esp. the tests) cause trouble in
      the process of moving bound functions away from JSFunction; so since
      the code is unused anyway, we can as well remove it.
      
      The original removal of Function.prototype.toMethod was in February
      2015 in 68e48975.
      
      R=jarin@chromium.org
      BUG=v8:3330
      LOG=n
      
      Review URL: https://codereview.chromium.org/1366063002
      
      Cr-Commit-Position: refs/heads/master@{#30925}
      ff2c9eac
  13. 24 Sep, 2015 3 commits
    • bmeurer's avatar
      [es6] Introduce spec compliant IsConstructor. · 8fe3ac07
      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.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
      R=jarin@chromium.org, rossberg@chromium.org
      BUG=v8:4413, v8:4430
      LOG=n
      
      Committed: https://crrev.com/8de4d9351df4cf66c8a128d561a6e331d196be54
      Cr-Commit-Position: refs/heads/master@{#30900}
      
      Review URL: https://codereview.chromium.org/1358423002
      
      Cr-Commit-Position: refs/heads/master@{#30902}
      8fe3ac07
    • bmeurer's avatar
      Revert of [es6] Introduce spec compliant IsConstructor. (patchset #2 id:20001... · 656ebdce
      bmeurer authored
      Revert of [es6] Introduce spec compliant IsConstructor. (patchset #2 id:20001 of https://codereview.chromium.org/1358423002/ )
      
      Reason for revert:
      Failed on Fuzzer and MIPS bot.
      
      Original issue's description:
      > [es6] Introduce spec compliant IsConstructor.
      >
      > 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
      >
      > Committed: https://crrev.com/8de4d9351df4cf66c8a128d561a6e331d196be54
      > Cr-Commit-Position: refs/heads/master@{#30900}
      
      TBR=jarin@chromium.org,rossberg@chromium.org
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      BUG=v8:4430
      
      Review URL: https://codereview.chromium.org/1360403002
      
      Cr-Commit-Position: refs/heads/master@{#30901}
      656ebdce
    • 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
  14. 23 Sep, 2015 1 commit
    • bmeurer's avatar
      [builtin] Refactor Invoke to deal with any kind of callable. · 634d1d86
      bmeurer authored
      Now both Execution::Call and Execution::New can deal with any
      kind of target and will raise a proper exception if the target is not
      callable (which is not yet spec compliant for New, as we would
      have to check IsConstructor instead, which we don't have yet).
      
      Now we no longer need to do any of these weird call/construct
      delegate gymnastics in C++, and we finally have a single true
      bottleneck for Call/Construct abstract operations in the code
      base, with only a few special handlings left in the compilers to
      optimize the JSFunction case.
      
      R=jarin@chromium.org
      BUG=v8:4430, v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1360793002
      
      Cr-Commit-Position: refs/heads/master@{#30874}
      634d1d86
  15. 22 Sep, 2015 2 commits
    • conradw's avatar
      [strong] Implement revised strong class semantics · 24ec2a0b
      conradw authored
      Weak classes can inherit from strong ones again, a strong base class makes
      instances strong.
      
      BUG=v8:3956
      LOG=N
      
      Review URL: https://codereview.chromium.org/1347243004
      
      Cr-Commit-Position: refs/heads/master@{#30867}
      24ec2a0b
    • bmeurer's avatar
      [builtins] Add support for NewTarget to Execution::New. · 1dfac69f
      bmeurer authored
      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).
      
      MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com.
      
      R=jarin@chromium.org
      BUG=v8:4430
      LOG=n
      
      Review URL: https://codereview.chromium.org/1359583002
      
      Cr-Commit-Position: refs/heads/master@{#30857}
      1dfac69f
  16. 09 Sep, 2015 2 commits
  17. 03 Sep, 2015 1 commit
    • bmeurer's avatar
      [es6] Initial steps towards a correct implementation of IsCallable. · 8a378f46
      bmeurer authored
      This turns the has_instance_call_handler bit on Map into an is_callable
      bit, that matches the spec definition of IsCallable (i.e. instances have
      [[Call]] internal methods).
      
      Also fix the typeof operator to properly say "function" for everything
      that is callable.
      
      Also remove the (unused) premature %_GetPrototype optimization from
      Crankshaft, which just complicated the Map bit swap.
      
      R=mstarzinger@chromium.org, rossberg@chromium.org, yangguo@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg
      
      Review URL: https://codereview.chromium.org/1316933002
      
      Cr-Commit-Position: refs/heads/master@{#30552}
      8a378f46
  18. 02 Sep, 2015 1 commit
  19. 01 Sep, 2015 1 commit
  20. 27 Aug, 2015 1 commit
  21. 26 Aug, 2015 1 commit
  22. 18 Aug, 2015 1 commit
  23. 12 Aug, 2015 2 commits
  24. 05 Aug, 2015 2 commits
  25. 31 Jul, 2015 1 commit
  26. 30 Jul, 2015 1 commit
  27. 20 Jul, 2015 1 commit
  28. 16 Jul, 2015 1 commit
  29. 13 Jul, 2015 1 commit
  30. 07 Jul, 2015 1 commit