Go to file
Jungshik Shin 831bc23303 Intl.DateTimeFormat: throw RangeError for non-finite input
intl.js throws an exception when datetime-value to format is
Infinity or NaN, but there was a way to thwart the check.

Moreover, intl.js and runtime-intl.cc have unnecessary conversions
of 'Number->Date->Number'. I removed the unnecessary conversion
and made 'Number' be passed to %InternalDateFormat.  With this
streamlining, the work-around mentioned above does not work
anymore.

Add a check in runtime_intl.cc for Infinity/NaN and throw a
RangeError.

Add invalid-time test for invalid datetime-values passed to
Intl.DateTimeFormat.format().

Bug: chromium:774833
Test: intl/date-format/invalid-time.js
Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng
Change-Id: Idc575e532a86ee110dc4bb945ae023d6516650ee
Reviewed-on: https://chromium-review.googlesource.com/724860
Commit-Queue: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#48765}
2017-10-19 23:25:52 +00:00
benchmarks
build_overrides
docs
gni [test] Fix isolate for auto-detect in gyp 2017-10-19 11:52:11 +00:00
gypfiles [test] Fix isolate for auto-detect in gyp 2017-10-19 11:52:11 +00:00
include Add JSSpecialApiObjectType to fast path 2017-10-19 17:30:52 +00:00
infra [CQ] Migrate more builders to LUCI CQ experiment 2017-10-19 06:23:39 +00:00
samples
src Intl.DateTimeFormat: throw RangeError for non-finite input 2017-10-19 23:25:52 +00:00
test Intl.DateTimeFormat: throw RangeError for non-finite input 2017-10-19 23:25:52 +00:00
testing
third_party Roll third_party/inspector_protocol to 8cb7a4f50ff7d5b1b7f2e5df0542dc577c88bdc3 2017-10-11 22:52:17 +00:00
tools Reenable readability/check cpplint check 2017-10-19 16:08:15 +00:00
.clang-format
.editorconfig
.git-blame-ignore-revs [build] Add DEPS formatting to hyper-blame 2017-10-09 14:08:45 +00:00
.gitignore [wasm] Add uma stat for wasm lazy throughput 2017-10-11 21:00:22 +00:00
.gn
.ycm_extra_conf.py
AUTHORS fix compile error when use PersistentValueMap. 2017-10-13 10:23:57 +00:00
BUILD.gn [builtins] Port String.raw to CPP 2017-10-19 13:47:33 +00:00
ChangeLog
CODE_OF_CONDUCT.md
codereview.settings
DEPS Add a name for the regyp hook 2017-10-19 20:56:17 +00:00
LICENSE
LICENSE.fdlibm
LICENSE.strongtalk
LICENSE.v8
LICENSE.valgrind
Makefile
Makefile.android
OWNERS
PRESUBMIT.py
README.md
snapshot_toolchain.gni
WATCHLISTS

V8 JavaScript Engine

V8 is Google's open source JavaScript engine.

V8 implements ECMAScript as specified in ECMA-262.

V8 is written in C++ and is used in Google Chrome, the open source browser from Google.

V8 can run standalone, or can be embedded into any C++ application.

V8 Project page: https://github.com/v8/v8/wiki

Getting the Code

Checkout depot tools, and run

    fetch v8

This will checkout V8 into the directory v8 and fetch all of its dependencies. To stay up to date, run

    git pull origin
    gclient sync

For fetching all branches, add the following into your remote configuration in .git/config:

    fetch = +refs/branch-heads/*:refs/remotes/branch-heads/*
    fetch = +refs/tags/*:refs/tags/*

Contributing

Please follow the instructions mentioned on the V8 wiki.