- 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}
-
- 19 Apr, 2016 1 commit
-
-
machenbach authored
BUG=v8:4437,v8:2899,chromium:604310 LOG=n Review URL: https://codereview.chromium.org/1402373002 Cr-Commit-Position: refs/heads/master@{#35614}
-
- 07 Apr, 2016 1 commit
-
-
clemensh authored
Nothing too important, but it helps localizing the cause of an error much faster. By the way, I also changed the output for assertThrows and assertDoesNotThrow a bit. All new arguments are optional, so everything is backwards compatible. R=jfb@chromium.org, titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/1866693002 Cr-Commit-Position: refs/heads/master@{#35322}
-
- 29 Mar, 2016 1 commit
-
-
yangguo authored
R=jochen@chromium.org BUG=v8:4361 LOG=N Review URL: https://codereview.chromium.org/1819313002 Cr-Commit-Position: refs/heads/master@{#35099}
-
- 24 Feb, 2016 1 commit
-
-
littledan authored
The Intl object used to keep around functions which are bound to the receiver and memoized in the object (as required by the ECMA-402 spec) in ordinary properties with names like __boundformat__. This patch instead stores those methods in private symbol properties, so they are not exposed to users. A search in GitHub didn't find any uses of __boundformat__ (whereas the same search found plenty of usages of other V8 Intl features), so I think this should be fine in terms of web compatibility. BUG=v8:3785 R=adamk LOG=Y Review URL: https://codereview.chromium.org/1728823002 Cr-Commit-Position: refs/heads/master@{#34230}
-
- 12 Dec, 2015 1 commit
-
-
littledan authored
A couple of the Intl tests made calls to getDefaultTimeZone(), which doesn't exist in V8; however, these were not core to the test. Rather than marking the whole test as failing, just comment out that unimportant part of the test. R=adamk Review URL: https://codereview.chromium.org/1522533003 Cr-Commit-Position: refs/heads/master@{#32819}
-
- 08 Dec, 2015 1 commit
-
-
littledan authored
ECMAScript dates act as if the Gregorian changeover happened at the beginning of time. This patch fixes up internationalized date formatting to set that changeover properly, as opposed to the ICU default which is in the 16th century. BUG=chromium:537382 R=adamk,cira LOG=Y Review URL: https://codereview.chromium.org/1501113002 Cr-Commit-Position: refs/heads/master@{#32669}
-
- 22 Oct, 2015 1 commit
-
-
littledan authored
The patch in https://crrev.com/ddb5c2d999c5ee6e31c4a9599bb3ddb293cc3f49 moved all fractional digit settings to default values due to a coding error. These were not even correct default values, and users observed errors where percentages were written as "23.0%" instead of "23%". This patch fixes the setting propagation when appropriate and it changes the default max fractional digits of a percentage to 0, per spec. BUG=chromium:544122 R=mnita,jochen CC=hichris123,adamk LOG=Y Review URL: https://codereview.chromium.org/1420883002 Cr-Commit-Position: refs/heads/master@{#31468}
-
- 14 Oct, 2015 1 commit
-
-
machenbach authored
BUG=v8:2899 LOG=n TBR=jochen@chromium.org NOTRY=true Review URL: https://codereview.chromium.org/1396293006 Cr-Commit-Position: refs/heads/master@{#31248}
-
- 07 Oct, 2015 1 commit
-
-
machenbach authored
NOTRY=true Review URL: https://codereview.chromium.org/1395503002 Cr-Commit-Position: refs/heads/master@{#31151}
-