1. 01 Dec, 2015 1 commit
  2. 19 Nov, 2015 1 commit
  3. 05 Nov, 2015 1 commit
  4. 22 Oct, 2015 1 commit
  5. 15 Oct, 2015 1 commit
  6. 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
  7. 07 Oct, 2015 1 commit
    • littledan's avatar
      TimeClip converts -0 to +0, following ES2015 spec · eeaf80cd
      littledan authored
      In ES2015, section 20.3.1.15, TimeClip (an internal algorihtm which is
      called when normalizing Date representations) is specified to add 0
      to its result, which converts -0 into +0. This patch adds that conversion
      to the Date code. It is verified by the test262 test
      built-ins/Date/TimeClip_negative_zero
      
      R=adamk
      
      Review URL: https://codereview.chromium.org/1387293002
      
      Cr-Commit-Position: refs/heads/master@{#31159}
      eeaf80cd
  8. 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
  9. 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
  10. 18 Sep, 2015 1 commit
  11. 31 Aug, 2015 2 commits
  12. 28 Aug, 2015 2 commits
    • yangguo's avatar
      Native context: do not put public symbols and flags on the js builtins object. · cde62571
      yangguo authored
      R=cbruni@chromium.org,mlippautz@chromium.org
      
      Review URL: https://codereview.chromium.org/1318043002
      
      Cr-Commit-Position: refs/heads/master@{#30438}
      cde62571
    • bmeurer's avatar
      [es6] Implement spec compliant ToPrimitive in the runtime. · f6c6d713
      bmeurer authored
      This is the first step towards a spec compliant ToPrimitive
      implementation (and therefore spec compliant ToNumber, ToString,
      ToName, and friends).  It adds support for the @@toPrimitive
      symbol that was introduced with ES2015, and also adds the new
      Symbol.prototype[@@toPrimitive] and Date.prototype[@@toPrimitive]
      initial properties.
      
      There are now runtime functions for %ToPrimitive, %ToNumber and
      %ToString, which do the right thing and should be used as fallbacks
      instead of the hairy runtime.js implementations.  I will do the
      same for the other conversion operations mentioned by the spec in
      follow up CLs.  Once everything is in place we can look into
      optimizing things further, so that we don't always call into the
      runtime.
      
      Also fixed Date.prototype.toJSON to be spec compliant.
      
      R=mstarzinger@chromium.org, yangguo@chromium.org
      BUG=v8:4307
      LOG=y
      
      Review URL: https://codereview.chromium.org/1306303003
      
      Cr-Commit-Position: refs/heads/master@{#30434}
      f6c6d713
  13. 26 Aug, 2015 1 commit
  14. 24 Aug, 2015 1 commit
  15. 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
  16. 14 Aug, 2015 1 commit
  17. 31 Jul, 2015 1 commit
    • bmeurer's avatar
      [stubs] Unify (and optimize) implementation of ToObject. · 4fc6f547
      bmeurer authored
      This is the initial (big) step towards a more uniform implementation of
      the ToObject abstract operation (ES6 7.1.13), where we have a fallback
      implementation in JSReceiver::ToObject() and a fast (hydrogen) CodeStub
      to deal with the fast case (we should be able to do more cleanup on this
      in a followup CL).  For natives we expose the abstract operation via a
      %_ToObject intrinsic, also exposed via a macro TO_OBJECT, that unifies
      the previous confusion with TO_OBJECT_INLINE, ToObject, TO_OBJECT,
      $toObject and %$toObject.  Now the whole implementation of the abstract
      operation is context independent, meaning we don't need any magic in the
      builtins object nor the native context.
      
      R=mvstanton@chromium.org,yangguo@chromium.org
      
      Review URL: https://codereview.chromium.org/1266013006
      
      Cr-Commit-Position: refs/heads/master@{#29953}
      4fc6f547
  18. 23 Jun, 2015 2 commits
  19. 03 Jun, 2015 1 commit
    • bmeurer's avatar
      [date] Refactor the %_DateField intrinsic to be optimizable. · e4782a9b
      bmeurer authored
      Previously the %_DateField intrinsic would also check the object and
      throw an exception if you happen to pass something that is not a valid
      JSDate, which (a) violates our policy for instrinsics and (b) is hard to
      optimize in TurboFan (even Crankshaft has a hard time, but there we will
      never inline the relevant builtins, so it doesn't show up). The throwing
      part is now a separate intrinsics %_ThrowIfNotADate that throws an
      exception in full codegen and deoptimizes in Crankshaft, which means the
      code for the current use cases is roughly the same (modulo some register
      renamings/gap moves).
      
      R=jkummerow@chromium.org
      
      Review URL: https://codereview.chromium.org/1167813003
      
      Cr-Commit-Position: refs/heads/master@{#28782}
      e4782a9b
  20. 26 May, 2015 1 commit
  21. 22 May, 2015 4 commits
  22. 21 May, 2015 1 commit
  23. 20 May, 2015 2 commits
  24. 12 May, 2015 3 commits
  25. 11 May, 2015 1 commit
  26. 07 May, 2015 1 commit
  27. 06 May, 2015 2 commits
  28. 05 May, 2015 1 commit
  29. 04 May, 2015 2 commits