1. 01 Mar, 2016 1 commit
  2. 20 Feb, 2016 1 commit
  3. 11 Feb, 2016 1 commit
  4. 09 Feb, 2016 2 commits
    • bmeurer's avatar
      Revert of [builtins] Remove bunch of uses of %_Arguments and... · dca275ba
      bmeurer authored
      Revert of [builtins] Remove bunch of uses of %_Arguments and %_ArgumentsLength. (patchset #1 id:1 of https://codereview.chromium.org/1678953004/ )
      
      Reason for revert:
      Breaks tree
      
      Original issue's description:
      > [builtins] Remove bunch of uses of %_Arguments and %_ArgumentsLength.
      >
      > There are a bunch of places in our builtins where we use %_Arguments and
      > %_ArgumentsLength for no good reason, as arguments object and/or rest
      > parameter is as good and performant in these cases. Now the only uses
      > of %_Arguments and %_ArgumentsLength left are in string.js, which
      > requires dedicated investigation.
      >
      > R=yangguo@chromium.org
      >
      > Committed: https://crrev.com/2160429fd458e3c095475e718c97f77ac90d906f
      > Cr-Commit-Position: refs/heads/master@{#33834}
      
      TBR=yangguo@chromium.org
      # Skipping CQ checks because original CL landed less than 1 days ago.
      NOPRESUBMIT=true
      NOTREECHECKS=true
      NOTRY=true
      
      Review URL: https://codereview.chromium.org/1677063005
      
      Cr-Commit-Position: refs/heads/master@{#33835}
      dca275ba
    • bmeurer's avatar
      [builtins] Remove bunch of uses of %_Arguments and %_ArgumentsLength. · 2160429f
      bmeurer authored
      There are a bunch of places in our builtins where we use %_Arguments and
      %_ArgumentsLength for no good reason, as arguments object and/or rest
      parameter is as good and performant in these cases. Now the only uses
      of %_Arguments and %_ArgumentsLength left are in string.js, which
      requires dedicated investigation.
      
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1678953004
      
      Cr-Commit-Position: refs/heads/master@{#33834}
      2160429f
  5. 12 Jan, 2016 3 commits
  6. 08 Jan, 2016 1 commit
    • bmeurer's avatar
      [builtins] Migrate Object.keys to C++. · 50e1e751
      bmeurer authored
      Everything necessary to implement Object.keys efficiently is already
      available in C++ land for quite some time now, and only the thin
      JavaScript wrapper was left, so get rid of that as well and move the
      whole builtin to C++ instead.
      
      R=yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1567963002
      
      Cr-Commit-Position: refs/heads/master@{#33167}
      50e1e751
  7. 22 Dec, 2015 2 commits
  8. 21 Dec, 2015 1 commit
    • cbruni's avatar
      [proxies] Better print for proxies in d8 · 8bfb7189
      cbruni authored
      Function proxies would not be printed so far since they ended up in Function.prototype.toString which only works with Function as a receiver but no Proxy. Additionally added support for more gracefully dealing with recursive __proto__ structures introduced by proxies.
      
      BUG=v8:1543
      LOG=n
      
      Review URL: https://codereview.chromium.org/1530293004
      
      Cr-Commit-Position: refs/heads/master@{#32985}
      8bfb7189
  9. 17 Dec, 2015 1 commit
  10. 14 Dec, 2015 1 commit
    • neis's avatar
      [proxies] Support proxies in JSON.parse and JSON.stringify. · 1596b015
      neis authored
      This CL tries to correctly support the following:
      - stringifying a proxy,
      - stringifying with a proxy as replacer (callable or arraylike),
      - stringifying with a replacer that returns a proxy,
      - parsing with a callable proxy as reviver,
      - parsing with a reviver that inserts proxies into the object,
      - and whatever else you can imagine.
      
      This also fixes some bugs observable without proxies.
      
      BUG=v8:3139,v8:1543
      LOG=n
      
      Review URL: https://codereview.chromium.org/1515133002
      
      Cr-Commit-Position: refs/heads/master@{#32843}
      1596b015
  11. 10 Dec, 2015 1 commit
    • neis's avatar
      JSON.parse: properly deal with reviver result · a5380fe9
      neis authored
      When the reviver returns undefined, the property in question must be deleted
      even for arrays.  So far this only happened for non-array objects.
      
      Also change the property enumeration to be spec-conformant, which is observable when the reviver modifies its "this" object directly.  There are a few further issues that need to be addressed in a separate CL.
      
      R=yangguo@chromium.org
      BUG=
      
      Review URL: https://codereview.chromium.org/1506933003
      
      Cr-Commit-Position: refs/heads/master@{#32750}
      a5380fe9
  12. 02 Nov, 2015 1 commit
  13. 22 Oct, 2015 1 commit
  14. 20 Oct, 2015 1 commit
  15. 13 Oct, 2015 1 commit
    • mstarzinger's avatar
      Move builtin JavaScript sources into own directory. · e5320d8a
      mstarzinger authored
      This moves JavaScript source files that are bundled with V8 into a
      separate directory. The goal is to improve code readability and also
      being able to formalize ideal reviewers by subsequently adding the
      OWNERS file. These files almost exclusively contain implementations
      of methods fully specified by ES6.
      
      Note that files in the "debug" directory as well as the "d8.js" file
      aren't affected by this change.
      
      R=rossberg@chromium.org
      
      Review URL: https://codereview.chromium.org/1398733002
      
      Cr-Commit-Position: refs/heads/master@{#31230}
      e5320d8a
  16. 08 Oct, 2015 1 commit
  17. 07 Oct, 2015 1 commit
  18. 01 Oct, 2015 1 commit
    • bmeurer's avatar
      [es6] Fix missing bits for full @@toPrimitive support. · 2a0759d3
      bmeurer authored
      Introduce %_ToNumber intrinsic, which just calls to the existing
      ToNumberStub, and remove all uses of our custom JavaScript plus
      intrinsics based ToNumber and friends.
      
      Also replace the TO_NUMBER_INLINE macro with TO_NUMBER,
      which is currently a wrapper for %_ToNumber. Newly written JS
      code should use TO_NUMBER (similar to TO_STRING, TO_INT32,
      and friends).
      
      Also finally remove the DefaultString/DefaultNumber builtins, which
      are basically the ES5 version of ToPrimitive. Now all code uses the
      ES6 version, which is implemented in Object::ToPrimitive and
      JSReceiver::ToPrimitive in C++.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
      R=jarin@chromium.org
      BUG=v8:4307
      LOG=n
      
      Review URL: https://codereview.chromium.org/1384443002
      
      Cr-Commit-Position: refs/heads/master@{#31054}
      2a0759d3
  19. 29 Sep, 2015 1 commit
    • bmeurer's avatar
      [es6] Introduce %ToInteger and %ToLength. · 93b2b262
      bmeurer authored
      This adds ES6 compliant Object::ToInteger, Object::ToInt32,
      Object::ToUint32 and Object::ToLength, and replaces the old
      Execution wrappers of those abstract operations (which were
      not using the correct ToPrimitive).
      
      This also introduces proper %ToInteger and %ToLength runtime
      entries, with a fast path %_ToInteger supported in fullcodegen
      and Crankshaft (for now). Internal JavaScript code should use
      TO_INTEGER and TO_LENGTH respectively.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
      BUG=v8:4307
      LOG=n
      
      Review URL: https://codereview.chromium.org/1378533002
      
      Cr-Commit-Position: refs/heads/master@{#30993}
      93b2b262
  20. 23 Sep, 2015 1 commit
    • bmeurer's avatar
      [runtime] Replace %to_string_fun with %_ToString. · 7a7b692b
      bmeurer authored
      Introduce a new macro TO_STRING that maps to %_ToString and use that
      instead of calling into any of the ToString/NonStringToString JavaScript
      builtins. Also remove the TO_STRING_INLINE macro, which is basically
      obsolete with %_ToString. We still have a few uses of ToString left (via
      the utils export mechanism), where we need to investigate whether we
      will tank badly if we replace them with TO_STRING as well.
      
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
      R=yangguo@chromium.org
      BUG=v8:4307
      LOG=n
      
      Review URL: https://codereview.chromium.org/1323543002
      
      Cr-Commit-Position: refs/heads/master@{#30895}
      7a7b692b
  21. 08 Sep, 2015 1 commit
    • bmeurer's avatar
      [runtime] Replace many buggy uses of %_CallFunction with %_Call. · db2ba190
      bmeurer authored
      The semantics of the %_CallFunction intrinsic seem to be very unclear,
      which resulted in a lot of bugs. Especially the combination with
      %IsSloppyModeFunction is always a bug, because the receiver would be
      wrapped in the wrong context. So the %IsSloppyModeFunction helper is
      gone now, and many of the buggy uses of %_CallFunction are also
      eliminated.
      
      If you ever need to call something with a different receiver, then
      %_Call is your friend now. It does what you want and implements the
      call sequence fully (and correct).
      
      BUG=v8:4413
      LOG=n
      
      Review URL: https://codereview.chromium.org/1325573004
      
      Cr-Commit-Position: refs/heads/master@{#30634}
      db2ba190
  22. 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
  23. 28 Aug, 2015 1 commit
  24. 26 Aug, 2015 1 commit
  25. 24 Aug, 2015 1 commit
  26. 19 Aug, 2015 1 commit
    • yangguo's avatar
      Native context: debug.js does not load from js builtins object anymore. · eb8c0928
      yangguo authored
      This mainly changes how we share ToBoolean, ToNumber and ToString between
      native scripts. Instead of putting them on the js builtins object, we now
      explicitly export and import those functions.
      
      I also had to change the import/export mechanism slightly. Previously,
      exports and imports are hooked up after all native scripts have been
      executed. This means that imported functions cannot be called at the time
      the native script is executed.
      
      However, since ToBoolean (and also e.g. ObjectDefineProperties) is called
      in v8natives.js, I changed the mechanism so that exports from previous
      native scripts (runtime.js for ToBoolean) is imported immediately and can
      be called.
      
      R=cbruni@chromium.org
      
      Review URL: https://codereview.chromium.org/1302533002
      
      Cr-Commit-Position: refs/heads/master@{#30244}
      eb8c0928
  27. 14 Aug, 2015 1 commit
  28. 25 Jun, 2015 1 commit
  29. 24 Jun, 2015 1 commit
  30. 26 May, 2015 1 commit
  31. 22 May, 2015 4 commits
  32. 21 May, 2015 1 commit
  33. 20 May, 2015 1 commit