- 12 Jul, 2017 1 commit
-
-
Daniel Ehrenberg authored
In certain timezones, being at noon UTC doesn't guarantee that you'll be the same day in local time. This patch fixes that false assumption. Thanks to Holmes He for reporting the issue. Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I7432c0eb1e13fdf11c665e59dabaebeb79bff8c8 Reviewed-on: https://chromium-review.googlesource.com/568021Reviewed-by:
Ulan Degenbaev <ulan@chromium.org> Commit-Queue: Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46584}
-
- 29 Jun, 2017 1 commit
-
-
Jungshik Shin authored
icu-case-mapping was shipped a few months ago. By dropping the flag, unibrow's case conversion code won't be included by default because V8_INTL_SUPPORT is on by default. BUG=v8:4477, v8:4476 TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*, mjsunit/string-case, intl/general/case* Cq-Include-Trybots: master.tryserver.v8:v8_linux_noi18n_rel_ng Change-Id: I78be9cc64b4588bc5af79ecbbadf93af6e84a1df Reviewed-on: https://chromium-review.googlesource.com/534541 Commit-Queue: Jungshik Shin <jshin@chromium.org> Reviewed-by:
Benedikt Meurer <bmeurer@chromium.org> Reviewed-by:
Daniel Ehrenberg <littledan@chromium.org> Cr-Commit-Position: refs/heads/master@{#46304}
-
- 22 May, 2017 1 commit
-
-
Jochen Eisinger authored
R=danno@chromium.org CC=sshruthi@chromium.org TBR=verwaest@chromium.org,bmeurer@chromium.org,yangguo@chromium.org,rossberg@chromium.org Change-Id: I32e09193fa6e847ac3336eab62b6d85c46d71164 Reviewed-on: https://chromium-review.googlesource.com/509508 Commit-Queue: Jochen Eisinger <jochen@chromium.org> Reviewed-by:
Daniel Clifford <danno@chromium.org> Cr-Commit-Position: refs/heads/master@{#45447}
-
- 04 May, 2017 2 commits
-
-
Jungshik Shin authored
Bug=v8:6083 Test=intl/general/case-mapping.js Change-Id: I254c54520262298d6843948654d1dc4583b0c245 Reviewed-on: https://chromium-review.googlesource.com/496886Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Jungshik Shin <jshin@chromium.org> Cr-Commit-Position: refs/heads/master@{#45115}
-
Jungshik Shin authored
http://unicode.org/cldr/trac/ticket/9943 added a new separate timezone ID (Etc/UTC) distinct from "Etc/GMT" even though their behavior is identical. This CLDR change led v8 to violate Ecma 402 requirement that resolvedOptions().timeZone for DateTimeFormat be "UTC" for "Etc/UTC" , "Etc/GMT", "GMT" and "UTC". This CL made v8 compliant to Ecma 402 again. Bug=v8:6252 TEST=intl/date-format/timezone Change-Id: Ibe5d3a2a09680ae00de0d73d123a389710c15af0 Change-Id: Ibe5d3a2a09680ae00de0d73d123a389710c15af0 Reviewed-on: https://chromium-review.googlesource.com/496406Reviewed-by:
Daniel Ehrenberg <littledan@chromium.org> Commit-Queue: Jungshik Shin <jshin@chromium.org> Cr-Commit-Position: refs/heads/master@{#45114}
-
- 18 Apr, 2017 2 commits
-
-
Adam Klein authored
It succeeds on my machine, at least, so marking pass/fail to avoid unnecessary noise until the attached bug is resolved. TBR=machenbach@chromium.org Bug: v8:6252 Change-Id: I146eee0c464896e42058745096e929d221c04347 Reviewed-on: https://chromium-review.googlesource.com/480988Reviewed-by:
Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#44704}
-
Michael Achenbach authored
This rolls: https://chromium.googlesource.com/chromium/deps/icu/+log/450be73..b34251f Bug: v8:6252 Change-Id: I496f35bad1717105c8e450ce045f3e9929574e0f Reviewed-on: https://chromium-review.googlesource.com/475652Reviewed-by:
Adam Klein <adamk@chromium.org> Commit-Queue: Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#44672}
-
- 17 Apr, 2017 1 commit
-
-
Adam Klein authored
This flag was shipped with V8 5.7 (Chrome 57). Bug: v8:5244 Change-Id: I044edb8d7e74ea3c84bf46ec5cf81b8ff1b7a3de Reviewed-on: https://chromium-review.googlesource.com/477975Reviewed-by:
Daniel Ehrenberg <littledan@chromium.org> Commit-Queue: Adam Klein <adamk@chromium.org> Cr-Commit-Position: refs/heads/master@{#44667}
-
- 28 Mar, 2017 1 commit
-
-
Michael Starzinger authored
R=machenbach@chromium.org BUG=v8:6127 Change-Id: I19092232bc0de728ec37fa9188998ec9dbd94bed Reviewed-on: https://chromium-review.googlesource.com/459498 Commit-Queue: Michael Starzinger <mstarzinger@chromium.org> Reviewed-by:
Michael Achenbach <machenbach@chromium.org> Cr-Commit-Position: refs/heads/master@{#44170}
-
- 14 Mar, 2017 1 commit
-
-
Michael Achenbach authored
BUG=chromium:682617 R=mstarzinger@chromium.org,mvstanton@chromium.org,rmcilroy@chromium.org Change-Id: Id0c904e080bb09e4ac1a127a02b110459442f7f3 Reviewed-on: https://chromium-review.googlesource.com/452484 Commit-Queue: Michael Achenbach <machenbach@chromium.org> Reviewed-by:
Michael Starzinger <mstarzinger@chromium.org> Cr-Commit-Position: refs/heads/master@{#43771}
-
- 14 Feb, 2017 1 commit
-
-
vabr authored
CreateNumberFormat of src/js/i18n.js implements http://www.ecma-international.org/ecma-402/1.0/#sec-11.1.1.1, but has a typo in step 33a. The spec says that the default value for minimumSignificantDigits should be 1, while the script set it to 0. This CL fixes that typo and adds a test for that. BUG=v8:5554 Review-Url: https://codereview.chromium.org/2694673003 Cr-Commit-Position: refs/heads/master@{#43197}
-
- 13 Jan, 2017 1 commit
-
-
jshin authored
1. DCHECK in runtime-i18n.cc for case mapping was wrong to assume that the longest primary language tag is 3 characters. BCP 47 actually allows up to 8 characters. 2. GetFlatContent() was called to a string without flattening it first. BUG=680314,680464 TEST=intl/general/case-mapping (see also the bugs) Review-Url: https://codereview.chromium.org/2629763003 Cr-Commit-Position: refs/heads/master@{#42343}
-
- 09 Jan, 2017 1 commit
-
-
littledan authored
Previously, the Intl implementation tracked types two ways: - In the intl_initialized_marker_symbol - In various named properties of the intl_impl_object_symbol value As far as I can tell, these will never disagree with each other, modulo bugs in Intl itself. This patch removes the second type checking system. This reland includes a fixed type check for Intl.DateTimeFormat.prototype.formatToParts , which is the only Intl method which is not bound. All future methods will follow this pattern. The second reland ensures that a newly inserted test is only run if Intl is present. BUG=v8:5751,chromium:677055, v8:4962 CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng TBR=yangguo@chromium.org Review-Url: https://codereview.chromium.org/2623683002 Cr-Commit-Position: refs/heads/master@{#42152}
-
- 07 Jan, 2017 2 commits
-
-
machenbach authored
Revert of [intl] Remove redundant type checking system (patchset #4 id:60001 of https://codereview.chromium.org/2600913002/ ) Reason for revert: Breaks noi18n. Original issue's description: > [intl] Remove redundant type checking system > > Previously, the Intl implementation tracked types two ways: > - In the intl_initialized_marker_symbol > - In various named properties of the intl_impl_object_symbol value > > As far as I can tell, these will never disagree with each other, > modulo bugs in Intl itself. This patch removes the second type > checking system. > > This reland includes a fixed type check for > Intl.DateTimeFormat.prototype.formatToParts , which is the only Intl > method which is not bound. All future methods will follow this > pattern. > > BUG=v8:5751,chromium:677055, v8:4962 > CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng > > Review-Url: https://codereview.chromium.org/2600913002 > Cr-Commit-Position: refs/heads/master@{#42118} > Committed: https://chromium.googlesource.com/v8/v8/+/aa8a2d2789f79c2c367db406e453b9044e594e25 TBR=yangguo@chromium.org,adamk@chromium.org,littledan@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5751,chromium:677055, v8:4962 Review-Url: https://codereview.chromium.org/2617323002 Cr-Commit-Position: refs/heads/master@{#42119}
-
littledan authored
Previously, the Intl implementation tracked types two ways: - In the intl_initialized_marker_symbol - In various named properties of the intl_impl_object_symbol value As far as I can tell, these will never disagree with each other, modulo bugs in Intl itself. This patch removes the second type checking system. This reland includes a fixed type check for Intl.DateTimeFormat.prototype.formatToParts , which is the only Intl method which is not bound. All future methods will follow this pattern. BUG=v8:5751,chromium:677055, v8:4962 CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng Review-Url: https://codereview.chromium.org/2600913002 Cr-Commit-Position: refs/heads/master@{#42118}
-
- 27 Dec, 2016 2 commits
-
-
littledan authored
This patch moves the creation of the Intl constructors from JavaScript to C++ in bootstrapper.cc, to match all of the other builtins exposed to the web. BUG=v8:5751 Review-Url: https://codereview.chromium.org/2586763002 Cr-Commit-Position: refs/heads/master@{#41959}
-
littledan authored
Revert of [intl] Remove redundant type checking system (patchset #3 id:40001 of https://codereview.chromium.org/2591203002/ ) Reason for revert: Issue https://bugs.chromium.org/p/chromium/issues/detail?id=677055 . I'll send out a follow-on reland, as it should still be possible to eliminate the redundant type system. Original issue's description: > [intl] Remove redundant type checking system > > Previously, the Intl implementation tracked types two ways: > - In the intl_initialized_marker_symbol > - In various named properties of the intl_impl_object_symbol value > > As far as I can tell, these will never disagree with each other, > modulo bugs in Intl itself. This patch removes the second type > checking system. > > BUG=v8:5751 > > Review-Url: https://codereview.chromium.org/2591203002 > Cr-Commit-Position: refs/heads/master@{#41941} > Committed: https://chromium.googlesource.com/v8/v8/+/0d5561b64d34129e6546947255e543c219c61655 TBR=yangguo@chromium.org # Not skipping CQ checks because original CL landed more than 1 days ago. BUG=v8:5751 Review-Url: https://codereview.chromium.org/2601783002 Cr-Commit-Position: refs/heads/master@{#41958}
-
- 23 Dec, 2016 2 commits
-
-
littledan authored
ECMA 402 v2 made Intl constructors more strict in terms of how they would initialize objects, refusing to initialize objects which have already been constructed. However, when Chrome tried to ship these semantics, we ran into web compatibility issues. This patch tries to square the circle and implement the simpler v2 object semantics while including a compatibility workaround to allow objects to sort of be initialized later, storing the real underlying Intl object in a symbol-named property. The new semantics are described in this PR against the ECMA 402 spec: https://github.com/tc39/ecma402/pull/84 BUG=v8:4360, v8:4870 LOG=Y Review-Url: https://codereview.chromium.org/2582993002 Cr-Commit-Position: refs/heads/master@{#41943}
-
littledan authored
Previously, the Intl implementation tracked types two ways: - In the intl_initialized_marker_symbol - In various named properties of the intl_impl_object_symbol value As far as I can tell, these will never disagree with each other, modulo bugs in Intl itself. This patch removes the second type checking system. BUG=v8:5751 Review-Url: https://codereview.chromium.org/2591203002 Cr-Commit-Position: refs/heads/master@{#41941}
-
- 20 Dec, 2016 1 commit
-
-
littledan authored
The Intl implementation included manual checks to see if they were being called as a constructor. However, these checks are redundant, as %FunctionRemovePrototype has already marked the functions as un-constructable. This path removes the unnecessary checks. R=yangguo Review-Url: https://codereview.chromium.org/2587713002 Cr-Commit-Position: refs/heads/master@{#41867}
-
- 19 Dec, 2016 2 commits
-
-
littledan authored
Previously, the Intl.DateTimeFormat constructor and other related paths had a bug where the options bag passed in would be modified in place. This patch makes V8's Intl implementation follow the specification's logic to avoid such a modification. BUG=v8:4219 Review-Url: https://codereview.chromium.org/2587703002 Cr-Commit-Position: refs/heads/master@{#41826}
-
jshin authored
Use FastAsciiConvert (as used by Unibrow) for i18n-aware case conversion with --icu_case_mapping. Move FastAsciiConvert to src/string-case.cc so that it can be used by both runtime-{string,i18n}. Add more tests. BUG=v8:4477,v8:4476 TEST=intl/general/case* Review-Url: https://codereview.chromium.org/2533983006 Cr-Commit-Position: refs/heads/master@{#41821}
-
- 28 Nov, 2016 1 commit
-
-
jshin authored
Due to a typo in runtime-i18n.js, 'ç'(U+00E7) was not uppercased while '÷'(U+00F7) was incorrectly uppercased to '×'(U+00D7). Add a comprehensive test for Latin-1 supplemental block (U+00A0 ~ U+00FF). (they're special-cased for speed-up and needs to have a test for the range.). TEST=intl/general/case-mapping BUG=v8:5681 Review-Url: https://codereview.chromium.org/2533033003 Cr-Commit-Position: refs/heads/master@{#41331}
-
- 17 Nov, 2016 1 commit
-
-
eholk authored
With this change, WebAssembly.Memory objects have backing stores allocated as an 8GB region where everything beyond the size of the Wasm heap is inaccessible. GrowMemory is now implemented by changing the protection on the guard regions to make the new portions of the heap accessible. Guard pages are not enabled by default, but this change adds a flag and a test variant to make sure we get test coverage on them. BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5277 Review-Url: https://codereview.chromium.org/2396433008 Cr-Commit-Position: refs/heads/master@{#41089}
-
- 15 Nov, 2016 1 commit
-
-
jshin authored
ICU now supports uppercasing in Greek via its regular uppercasing API. So, there's no need to use a slow transliteration API for uppercasing in Greek. This CL includes rolling ICU to ICU 58.1. Besides, drop intl402/Intl/getCanonicalLocales/weird-cases from test262.status because it passes now with ICU 58.1. BUG=chromium:637001,v8:5012 Review-Url: https://codereview.chromium.org/2491333003 Cr-Commit-Position: refs/heads/master@{#41009}
-
- 19 Sep, 2016 1 commit
-
-
bradnelson authored
BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203 BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5406 LOG=N R=mstarzinger@chromium.org,machenbach@chromium.org Review-Url: https://codereview.chromium.org/2309833003 Cr-Commit-Position: refs/heads/master@{#39521}
-
- 15 Sep, 2016 1 commit
-
-
littledan authored
This flag has been flipped off since 52, so it is due for removal. R=adamk@chromium.org,caitp@igalia.com BUG=v8:3785 CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng Review-Url: https://codereview.chromium.org/2268633002 Cr-Commit-Position: refs/heads/master@{#39435}
-
- 06 Sep, 2016 1 commit
-
-
jshin authored
Spec discussion: https://github.com/tc39/ecma402/issues/30 It's in stage 4 and Firefox has already implemented it. For now, it's added to HARMONY_IN_PROGRESS bucket behind '--datetime-format-to-parts' flag. BUG=v8:5244 TEST=intl/date-format/date-format-to-parts.js TEST=test262/intl402/DateTimeFormat/prototype/formatToParts/* Review-Url: https://codereview.chromium.org/2273953003 Cr-Commit-Position: refs/heads/master@{#39225}
-
- 18 Aug, 2016 1 commit
-
-
jshin authored
Also add a test for the return object of getCanonicalLocaleList(). See https://github.com/tc39/test262/issues/745 for more details. BUG=v8:5012 TEST=test262/intl402/Intl/getCanonicalLocales/* TEST=intl/general/getCanonicalLocales Review-Url: https://codereview.chromium.org/2239523002 Cr-Commit-Position: refs/heads/master@{#38733}
-
- 17 Aug, 2016 1 commit
-
-
jshin authored
Language tags with Unicode extensions can have multiple subtags for a key (e.g. -ca-ismalic-civil has 'islamic-civi' for 'ca'). BUG=v8:4749 TEST=intl/date-format/calendar-with-multiple-type-subtags.js Review-Url: https://codereview.chromium.org/2248563003 Cr-Commit-Position: refs/heads/master@{#38692}
-
- 11 Aug, 2016 1 commit
-
-
machenbach authored
Revert of Throw when case mapping result > max string length (patchset #3 id:40001 of https://codereview.chromium.org/2236593002/ ) Reason for revert: The test is very flaky and made it on many configurations into the top 10 of the slowest tests: https://build.chromium.org/p/client.v8.ports/builders/V8%20Arm/builds/845 https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/15418 https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/12369/steps/Check/logs/durations Original issue's description: > Throw when case mapping result > max string length > > Throw 'Range Error: invalid string length' when the result of > case mapping is longer than the max string length (kMaxLength in > objects.h = 1 << 28 - 16). > > This is for case mapping with ICU. > > BUG=v8:5271 > TEST=intl/general/case-mapping.js with --icu_case_mapping > > Committed: https://crrev.com/c7a2046670468b900b9dbbb4ce45beb5e0e717fd > Cr-Commit-Position: refs/heads/master@{#38565} TBR=littledan@chromium.org,jshin@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:5271 Review-Url: https://codereview.chromium.org/2236393002 Cr-Commit-Position: refs/heads/master@{#38582}
-
- 10 Aug, 2016 1 commit
-
-
jshin authored
Throw 'Range Error: invalid string length' when the result of case mapping is longer than the max string length (kMaxLength in objects.h = 1 << 28 - 16). This is for case mapping with ICU. BUG=v8:5271 TEST=intl/general/case-mapping.js with --icu_case_mapping Review-Url: https://codereview.chromium.org/2236593002 Cr-Commit-Position: refs/heads/master@{#38565}
-
- 09 Aug, 2016 1 commit
-
-
mstarzinger authored
R=machenbach@chromium.org Review-Url: https://codereview.chromium.org/2228853002 Cr-Commit-Position: refs/heads/master@{#38494}
-
- 08 Jul, 2016 1 commit
-
-
littledan authored
The Intl code previously called the initial value of String.prototype.split for some internal operations. However, this did not have the intended effect as Intl only needs to split strings by strings, but String.prototype.split has integration with Symbol.split for RegExps. This patch replaces the calls of StringSplit in the Intl implementation with direct calls to the %StringSplit runtime function to avoid the issue. R=yangguo@chromium.org BUG=v8:5179 Review-Url: https://codereview.chromium.org/2126073002 Cr-Commit-Position: refs/heads/master@{#37615}
-
- 27 May, 2016 1 commit
-
-
jshin authored
intl/number-format/parse-percent.js intl/date-format/parse-mdyhms.js intl/number-format/parse-decimal.js intl/date-format/parse-MMMdy.js Also added a few more test cases. BUG=v8:3454 TEST=The tests listed above. Review-Url: https://codereview.chromium.org/1988073003 Cr-Commit-Position: refs/heads/master@{#36555}
-
- 18 May, 2016 1 commit
-
-
littledan authored
This patch ensures that Intl bound method getters can't be retargeted to other Intl types. If that were to happen, then a RUNTIME_ASSERT would trigger later. This patch throws a TypeError instead, as the specification requires. BUG=v8:4870 Review-Url: https://codereview.chromium.org/1986763003 Cr-Commit-Position: refs/heads/master@{#36330}
-
- 12 May, 2016 1 commit
-
-
littledan authored
This patch removes the following properties, as their use count is very low, they are V8-only, and not on a standards track. - v8Parse - resolved - pattern v8BreakIterator is left in as it has significantly more usage. BUG=v8:3785 R=adamk,jshin@chromium.org Review-Url: https://codereview.chromium.org/1968893002 Cr-Commit-Position: refs/heads/master@{#36190}
-
- 11 May, 2016 1 commit
-
-
jshin authored
When I18N is enabled, use ICU's case conversion API and transliteration API [1] to implement String.prototype.to{Upper,Lower}Case and String.prototype.toLocale{Upper,Lower}Case. * ICU-based case conversion was implemented in runtime-i18n.cc/i18n.js * The above 4 functions are overridden with those in i18n.js when --icu_case_mapping flag is turned on. To control the override by the flag, they're overriden in icu-case-mapping.js Previously, toLocale{U,L}Case just called to{U,L}Case so that they didn't support locale-sensitive case conversion for Turkic languages (az, tr), Greek (el) and Lithuanian (lt). Before ICU APIs for the most general case are called, a fast-path for Latin-1 is tried. It's taken from Blink and adopted as necessary. This fast path is always tried for to{U,L}Case. For toLocale{U,L}Case, it's only taken when a locale (explicitly specified or default) is not in {az, el, lt, tr}. With these changes, a build with --icu_case_mapping=true passes a bunch of tests in test262/intl402/Strings/* and intl/* that failed before. Handling of pure ASCII strings (aligned at word boundary) are not as fast as Unibrow's implementation that uses word-by-word case conversion. OTOH, Latin-1 input handling is faster than Unibrow. General Unicode input handling is slower but more accurate. See https://docs.google.com/spreadsheets/d/1KJCJxKc1FxFXjwmYqABS0_2cNdPetvnd8gY8_HGSbrg/edit?usp=sharing for the benchmark. This CL started with http://crrev.com/1544023002#ps200001 by littledan@, but has changed significantly since. [1] See why transliteration API is needed for uppercasing in Greek. http://bugs.icu-project.org/trac/ticket/10582 R=yangguo BUG=v8:4476,v8:4477 LOG=Y TEST=test262/{built-ins,intl402}/Strings/*, webkit/fast/js/*, mjsunit/string-case, intl/general/case* Review-Url: https://codereview.chromium.org/1812673005 Cr-Commit-Position: refs/heads/master@{#36187}
-
- 02 May, 2016 1 commit
-
-
machenbach authored
BUG=v8:4280 LOG=N TBR=rmcilroy@chromium.org, rmcilroy@chromium.org NOTRY=true Review-Url: https://codereview.chromium.org/1934283002 Cr-Commit-Position: refs/heads/master@{#35931}
-
- 29 Apr, 2016 1 commit
-
-
machenbach authored
This prepares for pulling chromium's build as dependency for gn. After this, the files in build and gypfiles need to stay in sync until chromium is updated. BUG=chromium:474921 LOG=n Review-Url: https://codereview.chromium.org/1848553003 Cr-Commit-Position: refs/heads/master@{#35898}
-