1. 29 Jan, 2016 1 commit
    • littledan's avatar
      Fix Unicode string normalization with null bytes · f3e41d96
      littledan authored
      Previously, String.prototype.normalize constructed its ICU input
      string as a null-terminated string. This creates a bug for strings
      which contain a null byte, which is allowed in ECMAScript. This
      patch constructs the ICU string based on its length so that the
      entire string is normalized.
      
      R=jshin@chromium.org
      BUG=v8:4654
      LOG=Y
      
      Review URL: https://codereview.chromium.org/1645223003
      
      Cr-Commit-Position: refs/heads/master@{#33614}
      f3e41d96
  2. 07 Jan, 2016 1 commit
  3. 05 Jan, 2016 1 commit
    • bmeurer's avatar
      [runtime] Migrate several Date builtins to C++. · 065e9c53
      bmeurer authored
      Almost all of the Date builtins always call into C++ at least once
      anyway, so parsing, compiling and executing the JavaScript wrappers
      is just a waste of time.  The most important part here is the Date
      constructor itself, which is one of the blockers for new.target in
      TurboFan, because compiling the Date constructor takes too much time
      with TurboFan (for no reason since we end up in C++ anway).
      
      R=cbruni@chromium.org
      
      Review URL: https://codereview.chromium.org/1556333002
      
      Cr-Commit-Position: refs/heads/master@{#33109}
      065e9c53
  4. 10 Sep, 2015 1 commit
    • bmeurer's avatar
      [runtime] Move binary operator fallbacks into the runtime. · a1b2ec60
      bmeurer authored
      Replace the ADD, SUB, etc. builtins with proper runtime implementations,
      and expose them as runtime calls that can be used by the code stubs and
      the interpreter (for now).
      
      Also remove all the support runtime functions for ADD, SUB and friends,
      namely %NumberAdd, %NumberSub, and so on.
      
      R=mstarzinger@chromium.org
      CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
      
      Review URL: https://codereview.chromium.org/1333843002
      
      Cr-Commit-Position: refs/heads/master@{#30680}
      a1b2ec60
  5. 01 Sep, 2015 1 commit
  6. 28 Aug, 2015 1 commit
    • 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
  7. 18 Aug, 2015 1 commit
  8. 11 Aug, 2015 1 commit
    • saper's avatar
      Use static_cast<> for NULL (clang 3.7) · 75e43a66
      saper authored
      The following errors come up when compiling v8
       with clang 3.7 on FreeBSD/amd64:
      
      src/runtime/runtime-i18n.cc:629:37: error: reinterpret_cast from
      'nullptr_t' to 'v8::internal::Smi *' is not allowed
        local_object->SetInternalField(1, reinterpret_cast<Smi*>(NULL));
                                          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      test/cctest/test-heap.cc:131:20: error: reinterpret_cast from
            'nullptr_t' to 'v8::internal::Object *' is not allowed
        Handle<Object> n(reinterpret_cast<Object*>(NULL), isolate);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      test/cctest/test-heap.cc:1989:18: error: reinterpret_cast from
            'nullptr_t' to 'Address' (aka 'unsigned char *') is not
            allowed
        Address base = reinterpret_cast<Address>(NULL);
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      
      +add myself to the AUTHORS file.
      
      BUG=
      
      Review URL: https://codereview.chromium.org/1277353002
      
      Cr-Commit-Position: refs/heads/master@{#30103}
      75e43a66
  9. 20 May, 2015 1 commit
  10. 12 May, 2015 3 commits
  11. 04 Feb, 2015 1 commit
  12. 20 Oct, 2014 1 commit
  13. 01 Oct, 2014 3 commits
  14. 25 Sep, 2014 1 commit