New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 5751 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Nov 30
Cc:
Components:
HW: ----
NextAction: ----
OS: ----
Priority: 2
Type: Bug

Blocked on:
issue 7800
issue 7954
issue 7955
issue 7958
issue 8065
issue 8111
issue 8428

Blocking:
issue 7624



Sign in to add a comment

Clean up Intl

Project Member Reported by littledan@chromium.org, Dec 18 2016

Issue description

To allow new Intl APIs to be implemented in a reasonable way (e.g., PluralRules, Segmenter, NumberFormat.prototype.formatToParts), the Intl code could use some refactoring. Its structure is a bit different from other V8 builtins, even from the ones implemented in JavaScript. Intl should be rewritten in C++, and as a first step towards that, it should be brought in alignment with the rest of the builtins that are partly in JavaScript.
 
Showing comments 11 - 110 of 110 Older
Project Member

Comment 11 by bugdroid1@chromium.org, Apr 3 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2474b73472bbe5313ed043b348e93b96167423dd

commit 2474b73472bbe5313ed043b348e93b96167423dd
Author: Josh Wolfe <jwolfe@igalia.com>
Date: Mon Apr 03 08:40:26 2017

Convert String.prototype.normalize from JS to CPP builtin

* When V8_I18N_SUPPORT, completely omit the Unibrow no-op placeholder,
  and instead use the CPP builtin that uses ICU.
* Remove %StringNormalize() runtime function.

Bug:  v8:5751 
CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng
Change-Id: I3499fa4305d421859253a226f4f09794abe94f4c

Change-Id: I3499fa4305d421859253a226f4f09794abe94f4c
Reviewed-on: https://chromium-review.googlesource.com/462405
Reviewed-by: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44328}
[modify] https://crrev.com/2474b73472bbe5313ed043b348e93b96167423dd/src/bootstrapper.cc
[modify] https://crrev.com/2474b73472bbe5313ed043b348e93b96167423dd/src/builtins/builtins-definitions.h
[modify] https://crrev.com/2474b73472bbe5313ed043b348e93b96167423dd/src/builtins/builtins-intl.cc
[modify] https://crrev.com/2474b73472bbe5313ed043b348e93b96167423dd/src/builtins/builtins-string.cc
[modify] https://crrev.com/2474b73472bbe5313ed043b348e93b96167423dd/src/heap-symbols.h
[modify] https://crrev.com/2474b73472bbe5313ed043b348e93b96167423dd/src/js/i18n.js
[modify] https://crrev.com/2474b73472bbe5313ed043b348e93b96167423dd/src/runtime/runtime-i18n.cc
[modify] https://crrev.com/2474b73472bbe5313ed043b348e93b96167423dd/src/runtime/runtime.h

Project Member

Comment 12 by bugdroid1@chromium.org, Apr 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2f8cae53f8e29980337ba5c111a05ac66bb882cc

commit 2f8cae53f8e29980337ba5c111a05ac66bb882cc
Author: Daniel Ehrenberg <littledan@chromium.org>
Date: Mon Apr 24 13:54:15 2017

[intl] Reorganize code

- Split out code for Intl objects into src/objects/
- Rename i18n to intl (except for the name of the build flag)
- Use build system more broadly to turn on/off Intl code
- Delete a little bit of dead code

Bug:  v8:5751 
Change-Id: I41bf2825a5cb0df20824922b17c24cae637984da
Reviewed-on: https://chromium-review.googlesource.com/481284
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44801}
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/BUILD.gn
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/gypfiles/features.gypi
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/OWNERS
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/bootstrapper.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/builtins/builtins-definitions.h
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/builtins/builtins-intl.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/builtins/builtins-string.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/char-predicates.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/date.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/flag-definitions.h
[delete] https://crrev.com/f06db79c67b9b1e66f24d92170c4e87b387965f8/src/i18n.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/icu_util.cc
[add] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/intl.cc
[add] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/intl.h
[rename] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/js/intl.js
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/messages.h
[add] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/objects/intl-objects.cc
[rename] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/objects/intl-objects.h
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/arm/regexp-macro-assembler-arm.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/arm64/regexp-macro-assembler-arm64.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/ia32/regexp-macro-assembler-ia32.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/interpreter-irregexp.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/jsregexp.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/mips/regexp-macro-assembler-mips.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/mips64/regexp-macro-assembler-mips64.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/ppc/regexp-macro-assembler-ppc.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/regexp-macro-assembler.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/regexp-parser.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/s390/regexp-macro-assembler-s390.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/x64/regexp-macro-assembler-x64.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/regexp/x87/regexp-macro-assembler-x87.cc
[rename] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/runtime/runtime-intl.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/runtime/runtime.h
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/src/v8.gyp
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/test/cctest/test-date.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/test/unittests/char-predicates-unittest.cc
[modify] https://crrev.com/2f8cae53f8e29980337ba5c111a05ac66bb882cc/tools/gcmole/gcmole.lua

Project Member

Comment 13 by bugdroid1@chromium.org, Apr 24 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1

commit 4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1
Author: Daniel Ehrenberg <littledan@chromium.org>
Date: Mon Apr 24 14:03:38 2017

[intl] Switch to using declared accessors

This patch cleans up the Intl code by switching to using declared
accessors, rather than embedder fields, for holding references to
ICU objects. Additionally:
- Rename classes to be more similar to how other classes are named
- Make some unreachable paths into check-fails, rather than throwing
  JS exceptions
- Move some macros from objects-inl.h into object-macros.h, to allow
  the implementation here to not touch objects.h
- Some setup logic is moved from runtime-i18n.cc to i18n.cc.

This patch leaves type tags as they are; a future patch should move
from a special Intl type tagging system to object types as other system
objects use. Future patches should also move more logic to i18n.cc

BUG=v8:5402, v8:5751 , v8:6057 
CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng

Change-Id: Ia9cbb25cf8f52662e3deb15e64179d792c10842c
Reviewed-on: https://chromium-review.googlesource.com/479651
Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44804}
[modify] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/BUILD.gn
[modify] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/src/bootstrapper.cc
[modify] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/src/objects-inl.h
[add] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/src/objects/intl-objects-inl.h
[modify] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/src/objects/intl-objects.cc
[modify] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/src/objects/intl-objects.h
[modify] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/src/objects/object-macros-undef.h
[modify] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/src/objects/object-macros.h
[modify] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/src/runtime/runtime-intl.cc
[modify] https://crrev.com/4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1/src/v8.gyp

Project Member

Comment 14 by bugdroid1@chromium.org, Apr 29 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0ca84d06f5bea390a37774da1cff7a4f5179fa22

commit 0ca84d06f5bea390a37774da1cff7a4f5179fa22
Author: Daniel Ehrenberg <littledan@chromium.org>
Date: Sat Apr 29 00:21:27 2017

Revert "[intl] Switch to using declared accessors"

This reverts commit 4968b2c4d1692cc18f2d8cca5b9b24bd038ea8f1.

Reason for revert: Speculative revert for severe perf regression
https://bugs.chromium.org/p/chromium/issues/detail?id=716468#c3

Original change's description:
> [intl] Switch to using declared accessors
> 
> This patch cleans up the Intl code by switching to using declared
> accessors, rather than embedder fields, for holding references to
> ICU objects. Additionally:
> - Rename classes to be more similar to how other classes are named
> - Make some unreachable paths into check-fails, rather than throwing
>   JS exceptions
> - Move some macros from objects-inl.h into object-macros.h, to allow
>   the implementation here to not touch objects.h
> - Some setup logic is moved from runtime-i18n.cc to i18n.cc.
> 
> This patch leaves type tags as they are; a future patch should move
> from a special Intl type tagging system to object types as other system
> objects use. Future patches should also move more logic to i18n.cc
> 
> BUG=v8:5402, v8:5751 , v8:6057 
> CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng
> 
> Change-Id: Ia9cbb25cf8f52662e3deb15e64179d792c10842c
> Reviewed-on: https://chromium-review.googlesource.com/479651
> Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
> Reviewed-by: Adam Klein <adamk@chromium.org>
> Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#44804}

TBR=adamk@chromium.org,marja@chromium.org,mstarzinger@chromium.org,littledan@chromium.org,jwolfe@igalia.com
# Not skipping CQ checks because original CL landed > 1 day ago.
BUG=v8:5402, v8:5751 , v8:6057 
CQ_INCLUDE_TRYBOTS=master.tryserver.v8:v8_linux_noi18n_rel_ng

Change-Id: I7a45d7def1f1de0f21e3efb7de9b31f6bcfea46d
Reviewed-on: https://chromium-review.googlesource.com/490328
Reviewed-by: Daniel Ehrenberg <littledan@chromium.org>
Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44992}
[modify] https://crrev.com/0ca84d06f5bea390a37774da1cff7a4f5179fa22/BUILD.gn
[modify] https://crrev.com/0ca84d06f5bea390a37774da1cff7a4f5179fa22/src/bootstrapper.cc
[modify] https://crrev.com/0ca84d06f5bea390a37774da1cff7a4f5179fa22/src/objects-inl.h
[delete] https://crrev.com/1f629aace86210e2935496bcd1b173718456c470/src/objects/intl-objects-inl.h
[modify] https://crrev.com/0ca84d06f5bea390a37774da1cff7a4f5179fa22/src/objects/intl-objects.cc
[modify] https://crrev.com/0ca84d06f5bea390a37774da1cff7a4f5179fa22/src/objects/intl-objects.h
[modify] https://crrev.com/0ca84d06f5bea390a37774da1cff7a4f5179fa22/src/objects/object-macros-undef.h
[modify] https://crrev.com/0ca84d06f5bea390a37774da1cff7a4f5179fa22/src/objects/object-macros.h
[modify] https://crrev.com/0ca84d06f5bea390a37774da1cff7a4f5179fa22/src/runtime/runtime-intl.cc
[modify] https://crrev.com/0ca84d06f5bea390a37774da1cff7a4f5179fa22/src/v8.gyp

Project Member

Comment 15 by bugdroid1@chromium.org, May 4 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c384448724da9de54b7ad2b5185ae0d73b4bd916

commit c384448724da9de54b7ad2b5185ae0d73b4bd916
Author: Daniel Ehrenberg <littledan@chromium.org>
Date: Thu May 04 10:37:11 2017

[intl] Remove getOptimalLanguageTag logic

It's not clear what this logic is there for; ICU seems to already
preserve the locale in the way that the comment mentions. There
appear to be tests in test/intl/general/mapped-locale.js which
remain passing.

Bug:  v8:5751 
Change-Id: Ib9c64f00b982711ae0eab078252a88f44b81b894
Reviewed-on: https://chromium-review.googlesource.com/485780
Commit-Queue: Daniel Ehrenberg <littledan@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45080}
[modify] https://crrev.com/c384448724da9de54b7ad2b5185ae0d73b4bd916/src/js/intl.js

Cc: littledan@chromium.org jgruber@chromium.org bmeu...@chromium.org
 Issue 7034  has been merged into this issue.
Blockedon: 7800
Blocking: 7624
Owner: gsat...@chromium.org
Project Member

Comment 20 by bugdroid1@chromium.org, Jun 11 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/294dbf49bcbd7d66a00ca7fe87d456325fcc6e03

commit 294dbf49bcbd7d66a00ca7fe87d456325fcc6e03
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Mon Jun 11 22:19:22 2018

[intl] Add GetOption

This patch ports over the spec defined operation `GetOption` from
JavaScript to C++:
https://tc39.github.io/ecma402/#sec-getoption

The JS implementation will be deleted once all it's
users are migrated.

Refactors LocaleConstructor to use this method which fixes some test262
tests. The test262 test status file is updated to reflect this.

Bug:  v8:5751 , v8:7684
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ief5eae9b69dcea50062825163ca7658ed20bd0cf
Reviewed-on: https://chromium-review.googlesource.com/1094201
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53652}
[modify] https://crrev.com/294dbf49bcbd7d66a00ca7fe87d456325fcc6e03/src/objects.cc
[modify] https://crrev.com/294dbf49bcbd7d66a00ca7fe87d456325fcc6e03/src/objects.h
[modify] https://crrev.com/294dbf49bcbd7d66a00ca7fe87d456325fcc6e03/src/objects/js-locale.cc
[modify] https://crrev.com/294dbf49bcbd7d66a00ca7fe87d456325fcc6e03/test/cctest/test-intl.cc
[modify] https://crrev.com/294dbf49bcbd7d66a00ca7fe87d456325fcc6e03/test/test262/test262.status

Project Member

Comment 21 by bugdroid1@chromium.org, Jun 19 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/bc43c8e8fc464a73db9a2384d738dbbe70593ef4

commit bc43c8e8fc464a73db9a2384d738dbbe70593ef4
Author: Brian Stell <bstell@chromium.org>
Date: Tue Jun 19 19:52:38 2018

[intl] Port getAvailableLocales to C++

R=gsathya@chromium.org
Bug:  v8:5751 

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: If842ab4850fc8d75bebb5331188ee237c5f1e9d7
Reviewed-on: https://chromium-review.googlesource.com/1097419
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Nebojša Ćirić <cira@chromium.org>
Commit-Queue: Brian Stell <bstell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53850}
[modify] https://crrev.com/bc43c8e8fc464a73db9a2384d738dbbe70593ef4/src/intl.h
[modify] https://crrev.com/bc43c8e8fc464a73db9a2384d738dbbe70593ef4/src/objects/intl-objects.cc
[modify] https://crrev.com/bc43c8e8fc464a73db9a2384d738dbbe70593ef4/src/objects/intl-objects.h
[modify] https://crrev.com/bc43c8e8fc464a73db9a2384d738dbbe70593ef4/test/cctest/BUILD.gn
[modify] https://crrev.com/bc43c8e8fc464a73db9a2384d738dbbe70593ef4/test/cctest/test-intl.cc

Project Member

Comment 22 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f03a754c25327211f8042d915307e23264a13246

commit f03a754c25327211f8042d915307e23264a13246
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Mon Jul 02 17:30:25 2018

[intl] Refactor instance type checks

Adds Intl::IsObjectOfType method to do type checks. This will make it
easier to port the methods using the runtime type check calls as we
won't have to create a v8::string for type checks.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I0babdc8709564be693ce808e2ef3ffef7b24ceec
Reviewed-on: https://chromium-review.googlesource.com/1121943
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54143}
[modify] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/BUILD.gn
[modify] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/src/builtins/builtins-intl.cc
[modify] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/src/js/intl.js
[modify] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/src/js/macros.py
[add] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/src/objects/intl-objects-inl.h
[modify] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/src/objects/intl-objects.cc
[modify] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/src/objects/intl-objects.h
[modify] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/src/runtime/runtime-intl.cc
[modify] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/src/runtime/runtime.h
[modify] https://crrev.com/f03a754c25327211f8042d915307e23264a13246/test/cctest/test-intl.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Jul 2

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e04b1986f610bb4097881a0d5a9ecbd65396dfc0

commit e04b1986f610bb4097881a0d5a9ecbd65396dfc0
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Mon Jul 02 17:50:06 2018

[intl] Port receiver unwrapping logic to c++

Removes JS version and creates a runtime functions for now to
interface with existing JS uses.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I150701d338a0951a5e5da1aca667c65f941850d9
Reviewed-on: https://chromium-review.googlesource.com/1122024
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54145}
[modify] https://crrev.com/e04b1986f610bb4097881a0d5a9ecbd65396dfc0/src/js/intl.js
[modify] https://crrev.com/e04b1986f610bb4097881a0d5a9ecbd65396dfc0/src/objects/intl-objects.cc
[modify] https://crrev.com/e04b1986f610bb4097881a0d5a9ecbd65396dfc0/src/objects/intl-objects.h
[modify] https://crrev.com/e04b1986f610bb4097881a0d5a9ecbd65396dfc0/src/runtime/runtime-intl.cc
[modify] https://crrev.com/e04b1986f610bb4097881a0d5a9ecbd65396dfc0/src/runtime/runtime.h

Project Member

Comment 24 by bugdroid1@chromium.org, Jul 5

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b96129c932af0c5df7bfdaad52c034a152df6f6c

commit b96129c932af0c5df7bfdaad52c034a152df6f6c
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Thu Jul 05 13:17:49 2018

[intl] Specialize GetOption

Creates two different functions specialized for string and boolean
types.

Gets rid of several allocations and keeps the C++ <-> JS type
conversions to a minimum. Improves the API as we don't have to create
the fallback or V8 Strings unnecessarily.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I788e43e6ef23f3e9144ff719f01d6334fe6cb9ce
Reviewed-on: https://chromium-review.googlesource.com/1126750
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54259}
[modify] https://crrev.com/b96129c932af0c5df7bfdaad52c034a152df6f6c/src/isolate.h
[modify] https://crrev.com/b96129c932af0c5df7bfdaad52c034a152df6f6c/src/objects.cc
[modify] https://crrev.com/b96129c932af0c5df7bfdaad52c034a152df6f6c/src/objects.h
[modify] https://crrev.com/b96129c932af0c5df7bfdaad52c034a152df6f6c/src/objects/intl-objects.cc
[modify] https://crrev.com/b96129c932af0c5df7bfdaad52c034a152df6f6c/src/objects/intl-objects.h
[modify] https://crrev.com/b96129c932af0c5df7bfdaad52c034a152df6f6c/src/objects/js-locale.cc
[modify] https://crrev.com/b96129c932af0c5df7bfdaad52c034a152df6f6c/test/cctest/test-intl.cc

Project Member

Comment 25 by bugdroid1@chromium.org, Jul 5

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f248584b68f6b3b6ea849f424f304298f37954d3

commit f248584b68f6b3b6ea849f424f304298f37954d3
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Thu Jul 05 14:57:33 2018

[intl] Store resolveLocale on the context

This unblocks new feature work that require this operation from C++,
whilst the porting to C++ is underway.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Icb7f05bbea42ecfa1abc3cefb6d1bf8542ed921b
Reviewed-on: https://chromium-review.googlesource.com/1127082
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54265}
[modify] https://crrev.com/f248584b68f6b3b6ea849f424f304298f37954d3/src/contexts.h
[modify] https://crrev.com/f248584b68f6b3b6ea849f424f304298f37954d3/src/js/intl.js
[modify] https://crrev.com/f248584b68f6b3b6ea849f424f304298f37954d3/src/objects/intl-objects.cc
[modify] https://crrev.com/f248584b68f6b3b6ea849f424f304298f37954d3/src/objects/intl-objects.h

Project Member

Comment 26 by bugdroid1@chromium.org, Jul 6

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4afd39c3a9979493979e0ec11a82e7a935c1be12

commit 4afd39c3a9979493979e0ec11a82e7a935c1be12
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Fri Jul 06 05:45:16 2018

[intl] Set null proto for internal objects

Makes it safer to access from C++

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ib435382bd5568a62976a32b1ff4ca67c8413ddf2
Reviewed-on: https://chromium-review.googlesource.com/1127081
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54278}
[modify] https://crrev.com/4afd39c3a9979493979e0ec11a82e7a935c1be12/src/js/intl.js

Project Member

Comment 27 by bugdroid1@chromium.org, Jul 9

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/3ba5445b8a0e31a0f45d9268286216da0c8dfe89

commit 3ba5445b8a0e31a0f45d9268286216da0c8dfe89
Author: Brian Stell <bstell@chromium.org>
Date: Mon Jul 09 19:40:17 2018

Port BuildLanguageTagREs from Javascript to C++.


Bug:  v8:5751 
Test: None (no caller yet)

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ifbe243b945ae6e1750e9db8430da178ae137e34f
Reviewed-on: https://chromium-review.googlesource.com/1117303
Commit-Queue: Brian Stell <bstell@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54336}
[modify] https://crrev.com/3ba5445b8a0e31a0f45d9268286216da0c8dfe89/BUILD.gn
[modify] https://crrev.com/3ba5445b8a0e31a0f45d9268286216da0c8dfe89/src/isolate.cc
[modify] https://crrev.com/3ba5445b8a0e31a0f45d9268286216da0c8dfe89/src/isolate.h
[modify] https://crrev.com/3ba5445b8a0e31a0f45d9268286216da0c8dfe89/src/objects/intl-objects.cc

Project Member

Comment 28 by bugdroid1@chromium.org, Jul 10

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/256b4a8247c5db929af810d0137d5ea2dbbc2b17

commit 256b4a8247c5db929af810d0137d5ea2dbbc2b17
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Tue Jul 10 12:06:44 2018

[intl] Port NumberFormat.prototype.format and bound format function to C++

This increases the size of a NumberFormat instance by a word to store
the bound format function.

The instance to be bound is stored on the context of this builtin function.

Bug:  v8:5751 ,  v8:7800 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ie85d8db7d10aabb5c40e77687e6f7112a84f3ebd
Reviewed-on: https://chromium-review.googlesource.com/1122153
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54353}
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/bootstrapper.cc
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/builtins/builtins-definitions.h
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/builtins/builtins-intl.cc
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/contexts.h
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/heap/factory.cc
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/heap/factory.h
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/js/intl.js
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/objects/intl-objects.cc
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/objects/intl-objects.h
[modify] https://crrev.com/256b4a8247c5db929af810d0137d5ea2dbbc2b17/src/runtime/runtime-intl.cc

Project Member

Comment 29 by bugdroid1@chromium.org, Jul 11

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d94fea98979c063ac6863a1c48b2a0c314d5cfed

commit d94fea98979c063ac6863a1c48b2a0c314d5cfed
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Wed Jul 11 07:43:07 2018

[js] Add gsathya to OWNERS

To help with reviewing and porting intl.js

Bug:  v8:5751 
Change-Id: Ic8ad425e7ff14ed39ff28e907f9d1e83a3629398
Reviewed-on: https://chromium-review.googlesource.com/1132821
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54372}
[modify] https://crrev.com/d94fea98979c063ac6863a1c48b2a0c314d5cfed/src/js/OWNERS

Project Member

Comment 30 by bugdroid1@chromium.org, Jul 11

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/652acb782dbf74ae9773a72dfa731a127b923885

commit 652acb782dbf74ae9773a72dfa731a127b923885
Author: Brian Stell <bstell@chromium.org>
Date: Wed Jul 11 19:44:15 2018

[intl] Change "regexes" to "regexps".

No change in functionality, this only changes spelling.

Bug:  v8:5751 

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I8dad2315288e82b23782545b050e9502d0320de5
Reviewed-on: https://chromium-review.googlesource.com/1133679
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54381}
[modify] https://crrev.com/652acb782dbf74ae9773a72dfa731a127b923885/src/objects/intl-objects.cc

Project Member

Comment 31 by bugdroid1@chromium.org, Jul 17

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e3a5b1e4020e2acb40ddd1f47770e9db9153ad9c

commit e3a5b1e4020e2acb40ddd1f47770e9db9153ad9c
Author: Brian Stell <bstell@chromium.org>
Date: Tue Jul 17 16:47:34 2018

Add IsStructurallyValidLanguageTag() routine.

Bug:  v8:5751 


Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: If71ab553f7f70dd148fb90a18ccd9b1c69791323
Reviewed-on: https://chromium-review.googlesource.com/1119103
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Brian Stell <bstell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54499}
[modify] https://crrev.com/e3a5b1e4020e2acb40ddd1f47770e9db9153ad9c/src/objects/intl-objects.cc

Blockedon: 7954
Blockedon: 7955
Project Member

Comment 34 by bugdroid1@chromium.org, Jul 18

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/ef284f7b22af63ea14a30797caab259938344ba0

commit ef284f7b22af63ea14a30797caab259938344ba0
Author: Brian Stell <bstell@chromium.org>
Date: Wed Jul 18 19:44:59 2018

Add Intl::CanonicalizeLocale as a pre-step to supportedLocalesOf

Bug:  v8:5751 

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I5e149a5d7aff486a31415ae9935461e275c867bd
Reviewed-on: https://chromium-review.googlesource.com/1112202
Commit-Queue: Brian Stell <bstell@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54530}
[modify] https://crrev.com/ef284f7b22af63ea14a30797caab259938344ba0/src/objects/intl-objects.cc
[modify] https://crrev.com/ef284f7b22af63ea14a30797caab259938344ba0/src/objects/intl-objects.h

Blockedon: 7958
Project Member

Comment 36 by bugdroid1@chromium.org, Jul 24

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1f5ab936003468a7dfd12af881109a89a3a44b2c

commit 1f5ab936003468a7dfd12af881109a89a3a44b2c
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Tue Jul 24 07:05:31 2018

[Intl] Fix legacy error handling

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I382404f4c59c1e997ea0fb58f3a995b653c0d6bc
Reviewed-on: https://chromium-review.googlesource.com/1148031
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54625}
[modify] https://crrev.com/1f5ab936003468a7dfd12af881109a89a3a44b2c/src/js/intl.js
[modify] https://crrev.com/1f5ab936003468a7dfd12af881109a89a3a44b2c/src/runtime/runtime-intl.cc

Project Member

Comment 37 by bugdroid1@chromium.org, Jul 24

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/90eae8536c0b5be9ff5feab56ad10457db995189

commit 90eae8536c0b5be9ff5feab56ad10457db995189
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Tue Jul 24 11:33:28 2018

[Intl] Refactor icu::Locale creation

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ibdd70d2f84e001bf7658db2c1e996a7fb2d560c4
Reviewed-on: https://chromium-review.googlesource.com/1148166
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54638}
[modify] https://crrev.com/90eae8536c0b5be9ff5feab56ad10457db995189/src/objects/intl-objects.cc

Project Member

Comment 38 by bugdroid1@chromium.org, Jul 24

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/33c813c6eb038cf926d385a3ce45548fc3a418b9

commit 33c813c6eb038cf926d385a3ce45548fc3a418b9
Author: Leszek Swirski <leszeks@chromium.org>
Date: Tue Jul 24 11:45:45 2018

Revert "[Intl] Fix legacy error handling"

This reverts commit 1f5ab936003468a7dfd12af881109a89a3a44b2c.

Reason for revert: FYI bot failures https://ci.chromium.org/p/v8/builders/luci.v8.ci/Linux%20Tests%20(dbg)(1)/6327

Original change's description:
> [Intl] Fix legacy error handling
> 
> Bug:  v8:5751 
> Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
> Change-Id: I382404f4c59c1e997ea0fb58f3a995b653c0d6bc
> Reviewed-on: https://chromium-review.googlesource.com/1148031
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54625}

TBR=gsathya@chromium.org,jgruber@chromium.org

Change-Id: I57f6d69d38afe1734b6963fd81420c73b0d23922
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1148360
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54641}
[modify] https://crrev.com/33c813c6eb038cf926d385a3ce45548fc3a418b9/src/js/intl.js
[modify] https://crrev.com/33c813c6eb038cf926d385a3ce45548fc3a418b9/src/runtime/runtime-intl.cc

Project Member

Comment 39 by bugdroid1@chromium.org, Jul 24

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0b42d61daec025eba6bb206e08562fafde885e71

commit 0b42d61daec025eba6bb206e08562fafde885e71
Author: Frank Tang <ftang@chromium.org>
Date: Tue Jul 24 20:39:33 2018

[Intl] Move AvailableLocalesOf, DefaultLocale to Intl

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I0661d6503b66e71de56bdc37e22ef45ef77c0806
Reviewed-on: https://chromium-review.googlesource.com/1141351
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54666}
[modify] https://crrev.com/0b42d61daec025eba6bb206e08562fafde885e71/src/objects/intl-objects.cc
[modify] https://crrev.com/0b42d61daec025eba6bb206e08562fafde885e71/src/objects/intl-objects.h
[modify] https://crrev.com/0b42d61daec025eba6bb206e08562fafde885e71/src/runtime/runtime-intl.cc

Project Member

Comment 40 by bugdroid1@chromium.org, Jul 25

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/770eafd4f6bf8f0042cba80ec941716d87615610

commit 770eafd4f6bf8f0042cba80ec941716d87615610
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Wed Jul 25 05:10:24 2018

Reland "[Intl] Fix legacy error handling"

This is a reland of 1f5ab936003468a7dfd12af881109a89a3a44b2c

Tests started passing before this was reverted so this isn't
culprit.

Original change's description:
> [Intl] Fix legacy error handling
>
> Bug:  v8:5751 
> Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
> Change-Id: I382404f4c59c1e997ea0fb58f3a995b653c0d6bc
> Reviewed-on: https://chromium-review.googlesource.com/1148031
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54625}

TBR: jgruber@chromium.org
Bug:  v8:5751 
Change-Id: I546b10e5cbbbac3aa947ca55cea1f7cc4ae77270
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1148660
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54672}
[modify] https://crrev.com/770eafd4f6bf8f0042cba80ec941716d87615610/src/js/intl.js
[modify] https://crrev.com/770eafd4f6bf8f0042cba80ec941716d87615610/src/runtime/runtime-intl.cc

Project Member

Comment 41 by bugdroid1@chromium.org, Jul 25

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0af7b0d6ead61878cff6f5d692cb2e9522a624d5

commit 0af7b0d6ead61878cff6f5d692cb2e9522a624d5
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Wed Jul 25 07:45:04 2018

[Intl] Clean up error handling

- Return empty handles instead of exceptions.
- Handlify functions instead of returning raw pointers.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I28b018e5bdcaa375748eb04e9a6fed8cf64a5b05
Reviewed-on: https://chromium-review.googlesource.com/1148301
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54675}
[modify] https://crrev.com/0af7b0d6ead61878cff6f5d692cb2e9522a624d5/src/builtins/builtins-intl.cc
[modify] https://crrev.com/0af7b0d6ead61878cff6f5d692cb2e9522a624d5/src/messages.h
[modify] https://crrev.com/0af7b0d6ead61878cff6f5d692cb2e9522a624d5/test/cctest/interpreter/bytecode_expectations/AsyncGenerators.golden
[modify] https://crrev.com/0af7b0d6ead61878cff6f5d692cb2e9522a624d5/test/cctest/interpreter/bytecode_expectations/ForAwaitOf.golden
[modify] https://crrev.com/0af7b0d6ead61878cff6f5d692cb2e9522a624d5/test/cctest/interpreter/bytecode_expectations/ForOf.golden
[modify] https://crrev.com/0af7b0d6ead61878cff6f5d692cb2e9522a624d5/test/cctest/interpreter/bytecode_expectations/ForOfLoop.golden
[modify] https://crrev.com/0af7b0d6ead61878cff6f5d692cb2e9522a624d5/test/cctest/interpreter/bytecode_expectations/Generators.golden
[modify] https://crrev.com/0af7b0d6ead61878cff6f5d692cb2e9522a624d5/test/cctest/interpreter/bytecode_expectations/StandardForLoop.golden

Project Member

Comment 42 by bugdroid1@chromium.org, Jul 25

Project Member

Comment 43 by bugdroid1@chromium.org, Jul 27

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/479224009689b6142d6d30c1678bac92aa230338

commit 479224009689b6142d6d30c1678bac92aa230338
Author: Brian Stell <bstell@chromium.org>
Date: Fri Jul 27 18:10:16 2018

[Intl] Add tests for duplicate subtag detection.

Also removed an obsolete test that is covered by test262/intl402

Bug:  v8:7954 ,  v8:5751 

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I41113653cd27c165e6f0a52e4b63bb9ddc553cba
Reviewed-on: https://chromium-review.googlesource.com/1150453
Commit-Queue: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54757}
[modify] https://crrev.com/479224009689b6142d6d30c1678bac92aa230338/test/intl/general/getCanonicalLocales.js

Project Member

Comment 44 by bugdroid1@chromium.org, Jul 31

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/43da50361cad291aaed7d9246fe3f2a904fcd364

commit 43da50361cad291aaed7d9246fe3f2a904fcd364
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Tue Jul 31 14:01:16 2018

[builtins] Move IterableToList to iterator-gen

... So that this can be re-used in the intl code. Also, add a helper
method that loads the iterator if it's not provided.

Bug:  v8:5751 
Change-Id: Ifc1142a486b2cdf1c33a813c5446b206ad9f81ef
Reviewed-on: https://chromium-review.googlesource.com/1156390
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54819}
[modify] https://crrev.com/43da50361cad291aaed7d9246fe3f2a904fcd364/src/builtins/builtins-iterator-gen.cc
[modify] https://crrev.com/43da50361cad291aaed7d9246fe3f2a904fcd364/src/builtins/builtins-iterator-gen.h
[modify] https://crrev.com/43da50361cad291aaed7d9246fe3f2a904fcd364/src/builtins/builtins-typed-array-gen.cc
[modify] https://crrev.com/43da50361cad291aaed7d9246fe3f2a904fcd364/src/builtins/builtins-typed-array-gen.h

Project Member

Comment 45 by bugdroid1@chromium.org, Aug 1

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d9c3867afea29cdb89a1899324ebc8e516cc7f2b

commit d9c3867afea29cdb89a1899324ebc8e516cc7f2b
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Wed Aug 01 08:30:07 2018

[objects] Add CreateDataProperty helper

Similar to existings helpers like SetProperty,
WriteToReadOnlyProperty, etc, this create an helper for
CreateDataProperty that abstracts away the LookupIterator.

Bug:  v8:5751 
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I5ca02a2bad982adf233f3ea9de799e5706cd248a
Reviewed-on: https://chromium-review.googlesource.com/1156400
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54832}
[modify] https://crrev.com/d9c3867afea29cdb89a1899324ebc8e516cc7f2b/src/api.cc
[modify] https://crrev.com/d9c3867afea29cdb89a1899324ebc8e516cc7f2b/src/builtins/builtins-object.cc
[modify] https://crrev.com/d9c3867afea29cdb89a1899324ebc8e516cc7f2b/src/objects.cc
[modify] https://crrev.com/d9c3867afea29cdb89a1899324ebc8e516cc7f2b/src/objects.h

Project Member

Comment 46 by bugdroid1@chromium.org, Aug 2

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c1832b02b9add94c4383ee61b87545fbc870036e

commit c1832b02b9add94c4383ee61b87545fbc870036e
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Thu Aug 02 15:10:04 2018

[intl] undef macros after use

Bug:  v8:5751 
Change-Id: Iabf1310f98d675f86ee7923715cb3fc754da7c8f
Reviewed-on: https://chromium-review.googlesource.com/1160650
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54873}
[modify] https://crrev.com/c1832b02b9add94c4383ee61b87545fbc870036e/src/objects/js-locale-inl.h
[modify] https://crrev.com/c1832b02b9add94c4383ee61b87545fbc870036e/src/objects/js-locale.h

Project Member

Comment 47 by bugdroid1@chromium.org, Aug 6

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/cdb4d913f6b6463523c64e4d997738630cb39ad8

commit cdb4d913f6b6463523c64e4d997738630cb39ad8
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Mon Aug 06 10:33:59 2018

[Intl] Optimize Intl.PluralRules

Previously, Intl.PluralRules was mostly implemented in JavaScript. This
patch moves most of the constructor and parts of other methods to C++.

The size of the Intl.PluralRules object is reduced by not storing
MinimumIntegerDigits, MinimumFractionDigits, MaximumFractionDigits,
MinimumSignificantDigits, MaximumSignificantDigits. Instead these are
looked up from icu::DecimalFormat as required.

Another optimziation is that we don't create the result of
resolvedOptions when the Intl.PluralRules object is constructed, but
instead defer until this method is called. In the future, we may want
to cache the result.

This patch also cleans up several error handling paths that shouldn't
happen with ICU and instead just crashes should it ever happen.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I84c5aa6c25c35fe2d336693dee1b36bf3dcd4a79
Reviewed-on: https://chromium-review.googlesource.com/1158701
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54917}
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/BUILD.gn
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/bootstrapper.cc
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/builtins/builtins-definitions.h
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/builtins/builtins-intl.cc
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/compiler/types.cc
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/contexts.h
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/js/intl.js
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects-body-descriptors-inl.h
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects-debug.cc
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects-definitions.h
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects-printer.cc
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects.cc
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects.h
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects/intl-objects.cc
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects/intl-objects.h
[add] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects/js-plural-rules-inl.h
[add] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects/js-plural-rules.cc
[add] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/objects/js-plural-rules.h
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/runtime/runtime-intl.cc
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/src/runtime/runtime.h
[modify] https://crrev.com/cdb4d913f6b6463523c64e4d997738630cb39ad8/tools/v8heapconst.py

Project Member

Comment 48 by bugdroid1@chromium.org, Aug 7

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/bbe8db594806ccf2ebc7b1b36f441687d1050f65

commit bbe8db594806ccf2ebc7b1b36f441687d1050f65
Author: Jakob Kummerow <jkummerow@chromium.org>
Date: Tue Aug 07 18:02:23 2018

[intl] Port CanonicalizeLocaleList to C++

This CL also contains some drive-by cleanup of related code.

Bug:  v8:5751 ,  v8:7987 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I6144d16c1d85922efc1dc419cce8a2eba2a60056
Reviewed-on: https://chromium-review.googlesource.com/1161545
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54952}
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/builtins/builtins-array.cc
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/builtins/builtins-intl.cc
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/contexts.h
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/intl.cc
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/intl.h
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/js/intl.js
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/json-stringifier.cc
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/objects.cc
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/objects.h
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/objects/intl-objects.cc
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/objects/intl-objects.h
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/objects/js-plural-rules.cc
[modify] https://crrev.com/bbe8db594806ccf2ebc7b1b36f441687d1050f65/src/runtime/runtime-intl.cc

Project Member

Comment 49 by bugdroid1@chromium.org, Aug 8

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/363fe1eb66371e55971cbde815369182189cf19f

commit 363fe1eb66371e55971cbde815369182189cf19f
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Wed Aug 08 10:21:19 2018

[Intl] Optimize Intl.Collator

This patch ports most of the Intl.Collator from JS to C++.

The Intl.Collator object no longer stores all the resolved
values. Instead these are looked up on demand as part of
Intl.Collator.prototype.resolvedOptions(), saving several words. In
the future, we can cache the result of the resolvedOptions as well.

In this patch, we use ICU to do parsing of the unicode extension in
the bcp47 language tag instead of using a custom extension parser.

This patch also fixes several spec compliance bugs as well.

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Iaaa7be4a628404da1bd83d882e04a2c6de70ebd9
Bug:  v8:5751 ,  v8:7480 
Reviewed-on: https://chromium-review.googlesource.com/1165084
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54965}
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/BUILD.gn
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/bootstrapper.cc
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/builtins/builtins-definitions.h
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/builtins/builtins-intl.cc
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/compiler/types.cc
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/heap-symbols.h
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/js/intl.js
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects-body-descriptors-inl.h
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects-debug.cc
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects-definitions.h
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects-printer.cc
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects.cc
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects.h
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects/intl-objects.cc
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects/intl-objects.h
[add] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects/js-collator-inl.h
[add] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects/js-collator.cc
[add] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/objects/js-collator.h
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/runtime/runtime-intl.cc
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/src/runtime/runtime.h
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/test/intl/collator/default-locale.js
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/test/intl/collator/property-override.js
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/test/test262/test262.status
[modify] https://crrev.com/363fe1eb66371e55971cbde815369182189cf19f/tools/v8heapconst.py

Project Member

Comment 50 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/8cfa78f530805d8ff1ee6c753603f09ebdc7007b

commit 8cfa78f530805d8ff1ee6c753603f09ebdc7007b
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Wed Aug 15 20:22:15 2018

[Intl] Use strcmp to be spec compatible

Tests will be added in a follow on CL.

Bug:  v8:5751 
Change-Id: Ie327239a0ad1526f06c2a71fdc821f57e3aa41df
Reviewed-on: https://chromium-review.googlesource.com/1176283
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55140}
[modify] https://crrev.com/8cfa78f530805d8ff1ee6c753603f09ebdc7007b/src/objects/js-collator.cc
[modify] https://crrev.com/8cfa78f530805d8ff1ee6c753603f09ebdc7007b/src/objects/js-locale.cc

Project Member

Comment 51 by bugdroid1@chromium.org, Aug 15

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2d0e599385821f5116327f9cd5d9c03541c0899d

commit 2d0e599385821f5116327f9cd5d9c03541c0899d
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Wed Aug 15 23:47:10 2018

[Intl] Use std::string to copy char buffers

Bug:  v8:5751 
Change-Id: I2abb23199c5bf3bc5df76fee77ac7d263197fd79
Reviewed-on: https://chromium-review.googlesource.com/1176289
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55145}
[modify] https://crrev.com/2d0e599385821f5116327f9cd5d9c03541c0899d/src/objects/js-collator.cc

Cc: -petermarshall@chromium.org
Blockedon: 8065
Project Member

Comment 54 by bugdroid1@chromium.org, Aug 16

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/43fff26fd4560938cbe0ab8b3a9f592b6f541416

commit 43fff26fd4560938cbe0ab8b3a9f592b6f541416
Author: Brian Stell <bstell@chromium.org>
Date: Thu Aug 16 22:18:29 2018

Implement ECMA 402 10.2.2 Intl.*.supportedLocalesOf

Bug: v8:7955,  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I2dbba859472059e684ec2c631b7e96d1289f39f0
Reviewed-on: https://chromium-review.googlesource.com/1173165
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Brian Stell <bstell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55178}
[modify] https://crrev.com/43fff26fd4560938cbe0ab8b3a9f592b6f541416/src/js/intl.js
[modify] https://crrev.com/43fff26fd4560938cbe0ab8b3a9f592b6f541416/src/objects/intl-objects.cc
[modify] https://crrev.com/43fff26fd4560938cbe0ab8b3a9f592b6f541416/src/objects/intl-objects.h
[modify] https://crrev.com/43fff26fd4560938cbe0ab8b3a9f592b6f541416/src/runtime/runtime-intl.cc
[modify] https://crrev.com/43fff26fd4560938cbe0ab8b3a9f592b6f541416/src/runtime/runtime.h

Project Member

Comment 55 by bugdroid1@chromium.org, Aug 25

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b

commit 0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Sat Aug 25 17:05:29 2018

[intl] Port V8BreakIterator.prototype.adoptText to C++

This increases the size of a V8BreakIterator instance by a word to store
the adopt text function.

The instance to be bound is stored on the context of this builtin function.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I466ead6c8fc9d531d2213cfdd488fa1484496f69
Reviewed-on: https://chromium-review.googlesource.com/1186925
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55418}
[modify] https://crrev.com/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b/src/bootstrapper.cc
[modify] https://crrev.com/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b/src/builtins/builtins-definitions.h
[modify] https://crrev.com/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b/src/builtins/builtins-intl.cc
[modify] https://crrev.com/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b/src/contexts.h
[modify] https://crrev.com/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b/src/js/intl.js
[modify] https://crrev.com/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b/src/objects/intl-objects.cc
[modify] https://crrev.com/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b/src/objects/intl-objects.h
[modify] https://crrev.com/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b/src/runtime/runtime-intl.cc
[modify] https://crrev.com/0dc9030439fadfb874e2a2c22bfb06f2ad7ef76b/src/runtime/runtime.h

Project Member

Comment 56 by bugdroid1@chromium.org, Aug 27

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5f225ebbb7a7f08e2108d68c3ebaf463b28e38ab

commit 5f225ebbb7a7f08e2108d68c3ebaf463b28e38ab
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Mon Aug 27 05:15:03 2018

[intl] cleanup FormatDate runtime

https://chromium-review.googlesource.com/c/v8/v8/+/1178763 added
DateTimeFormat.prototype.format to the C++ side of things, removing the
need for the runtime function, but the function wasn't removed.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ie73fefb5477dfb7f04a4f8852e086a92332c05fc
Reviewed-on: https://chromium-review.googlesource.com/1189502
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55421}
[modify] https://crrev.com/5f225ebbb7a7f08e2108d68c3ebaf463b28e38ab/src/runtime/runtime-intl.cc
[modify] https://crrev.com/5f225ebbb7a7f08e2108d68c3ebaf463b28e38ab/src/runtime/runtime.h

Project Member

Comment 57 by bugdroid1@chromium.org, Aug 27

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/6b3fde42700b14633b401d5f37bc6d71e7d05fcf

commit 6b3fde42700b14633b401d5f37bc6d71e7d05fcf
Author: Brian Stell <bstell@chromium.org>
Date: Mon Aug 27 17:44:49 2018

Replace the JS version of supportedLocalesOf with the C++ version.

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I5f6adec8857398f82598295e86d2559c96363647

Bug: v8:7955,  v8:7869 ,  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I5f6adec8857398f82598295e86d2559c96363647
Reviewed-on: https://chromium-review.googlesource.com/1184046
Commit-Queue: Brian Stell <bstell@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55434}
[modify] https://crrev.com/6b3fde42700b14633b401d5f37bc6d71e7d05fcf/src/bootstrapper.cc
[modify] https://crrev.com/6b3fde42700b14633b401d5f37bc6d71e7d05fcf/src/builtins/builtins-definitions.h
[modify] https://crrev.com/6b3fde42700b14633b401d5f37bc6d71e7d05fcf/src/builtins/builtins-intl.cc
[modify] https://crrev.com/6b3fde42700b14633b401d5f37bc6d71e7d05fcf/src/js/intl.js
[modify] https://crrev.com/6b3fde42700b14633b401d5f37bc6d71e7d05fcf/src/objects/intl-objects.cc
[modify] https://crrev.com/6b3fde42700b14633b401d5f37bc6d71e7d05fcf/src/runtime/runtime-intl.cc
[modify] https://crrev.com/6b3fde42700b14633b401d5f37bc6d71e7d05fcf/src/runtime/runtime.h
[add] https://crrev.com/6b3fde42700b14633b401d5f37bc6d71e7d05fcf/test/intl/break-iterator/supported-locales-is-method.js
[modify] https://crrev.com/6b3fde42700b14633b401d5f37bc6d71e7d05fcf/test/test262/test262.status

Project Member

Comment 58 by bugdroid1@chromium.org, Aug 27

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/812c0acd9abd83142dbaf65ac263ac8d871c7ee9

commit 812c0acd9abd83142dbaf65ac263ac8d871c7ee9
Author: Frank Tang <ftang@chromium.org>
Date: Mon Aug 27 20:35:58 2018

[Intl] Move LookupUnicodeExtensions to Intl

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I67e15208bc2954957275e3283eb746c1c12f10f0
Reviewed-on: https://chromium-review.googlesource.com/1191362
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55436}
[modify] https://crrev.com/812c0acd9abd83142dbaf65ac263ac8d871c7ee9/src/objects/intl-objects.cc
[modify] https://crrev.com/812c0acd9abd83142dbaf65ac263ac8d871c7ee9/src/objects/intl-objects.h
[modify] https://crrev.com/812c0acd9abd83142dbaf65ac263ac8d871c7ee9/src/objects/js-collator.cc

Project Member

Comment 59 by bugdroid1@chromium.org, Aug 27

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85

commit 59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Mon Aug 27 23:31:24 2018

[Intl] Correctly pass usage option to Collator

The spec specifies that search and standard can not be valid values
for the collation extension keyword. Instead users are expected to use
the options bag to set the correct usage options.

But, ICU expects the usage option to be set through the collation
extension value.

In this patch, we set the usage option using the collation extension
value in ICU. For resolvedOptions, we filter out this extension value
using ICU to be spec compatible.

Previously, we stored the usage option on the JSCollator instance. But
this patch changes the logic to just look it up from the icu::Collator
when required. This saves one word of memory.

This fails a test262 that was incorrectly fixed. A follow on patch
will fix the test262 test.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I8c66c6286287e686f4cd152fa1301f9d51c38654
Reviewed-on: https://chromium-review.googlesource.com/1180488
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55437}
[modify] https://crrev.com/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85/src/builtins/builtins-intl.cc
[modify] https://crrev.com/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85/src/objects-debug.cc
[modify] https://crrev.com/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85/src/objects-printer.cc
[modify] https://crrev.com/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85/src/objects/js-collator-inl.h
[modify] https://crrev.com/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85/src/objects/js-collator.cc
[modify] https://crrev.com/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85/src/objects/js-collator.h
[modify] https://crrev.com/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85/test/intl/collator/de-sort.js
[add] https://crrev.com/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85/test/intl/collator/options.js
[modify] https://crrev.com/59c03fef0186bdf636e9c9b0ae2d5907cdeb6e85/test/test262/test262.status

Project Member

Comment 60 by bugdroid1@chromium.org, Aug 28

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/38e7b9b875de90e48699cf4d3e2008186c6b5ad6

commit 38e7b9b875de90e48699cf4d3e2008186c6b5ad6
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Tue Aug 28 13:14:49 2018

[intl] Port V8BreakIterator.prototype.first to C++

This increases the size of a V8BreakIterator instance by a word to store
the first function.

The instance to be bound is stored on the context of this builtin function.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ib1e8cb8353d0885e0d9bcfdc5fe558c1de0a0738
Reviewed-on: https://chromium-review.googlesource.com/1192823
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55459}
[modify] https://crrev.com/38e7b9b875de90e48699cf4d3e2008186c6b5ad6/src/bootstrapper.cc
[modify] https://crrev.com/38e7b9b875de90e48699cf4d3e2008186c6b5ad6/src/builtins/builtins-definitions.h
[modify] https://crrev.com/38e7b9b875de90e48699cf4d3e2008186c6b5ad6/src/builtins/builtins-intl.cc
[modify] https://crrev.com/38e7b9b875de90e48699cf4d3e2008186c6b5ad6/src/contexts.h
[modify] https://crrev.com/38e7b9b875de90e48699cf4d3e2008186c6b5ad6/src/js/intl.js
[modify] https://crrev.com/38e7b9b875de90e48699cf4d3e2008186c6b5ad6/src/objects/intl-objects.h
[modify] https://crrev.com/38e7b9b875de90e48699cf4d3e2008186c6b5ad6/src/runtime/runtime-intl.cc
[modify] https://crrev.com/38e7b9b875de90e48699cf4d3e2008186c6b5ad6/src/runtime/runtime.h

Project Member

Comment 61 by bugdroid1@chromium.org, Aug 28

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c8e3846e1fd9bb960780134386e1e34aba9b0f50

commit c8e3846e1fd9bb960780134386e1e34aba9b0f50
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Tue Aug 28 14:23:30 2018

[intl] Port V8BreakIterator.prototype.next to C++

This increases the size of a V8BreakIterator instance by a word to store
the next function.

The instance to be bound is stored on the context of this builtin function.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ibdfabe53c7d0790c1ba44d5de8d1c8fc8de517c9
Reviewed-on: https://chromium-review.googlesource.com/1193502
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55463}
[modify] https://crrev.com/c8e3846e1fd9bb960780134386e1e34aba9b0f50/src/bootstrapper.cc
[modify] https://crrev.com/c8e3846e1fd9bb960780134386e1e34aba9b0f50/src/builtins/builtins-definitions.h
[modify] https://crrev.com/c8e3846e1fd9bb960780134386e1e34aba9b0f50/src/builtins/builtins-intl.cc
[modify] https://crrev.com/c8e3846e1fd9bb960780134386e1e34aba9b0f50/src/contexts.h
[modify] https://crrev.com/c8e3846e1fd9bb960780134386e1e34aba9b0f50/src/js/intl.js
[modify] https://crrev.com/c8e3846e1fd9bb960780134386e1e34aba9b0f50/src/objects/intl-objects.h
[modify] https://crrev.com/c8e3846e1fd9bb960780134386e1e34aba9b0f50/src/runtime/runtime-intl.cc
[modify] https://crrev.com/c8e3846e1fd9bb960780134386e1e34aba9b0f50/src/runtime/runtime.h

Project Member

Comment 62 by bugdroid1@chromium.org, Aug 28

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b56e299d58d0a630a8be2d292e44431bc408806e

commit b56e299d58d0a630a8be2d292e44431bc408806e
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Tue Aug 28 20:50:51 2018

[intl] Port V8BreakIterator.prototype.current to C++

This increases the size of a V8BreakIterator instance by a word to store
the current function.

The instance to be bound is stored on the context of this builtin function.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I1bdf3d3cd9db5ab16abb644b33b44705ca58684e
Reviewed-on: https://chromium-review.googlesource.com/1194802
Commit-Queue: Ujjwal Sharma <usharma1998@gmail.com>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55471}
[modify] https://crrev.com/b56e299d58d0a630a8be2d292e44431bc408806e/src/bootstrapper.cc
[modify] https://crrev.com/b56e299d58d0a630a8be2d292e44431bc408806e/src/builtins/builtins-definitions.h
[modify] https://crrev.com/b56e299d58d0a630a8be2d292e44431bc408806e/src/builtins/builtins-intl.cc
[modify] https://crrev.com/b56e299d58d0a630a8be2d292e44431bc408806e/src/contexts.h
[modify] https://crrev.com/b56e299d58d0a630a8be2d292e44431bc408806e/src/js/intl.js
[modify] https://crrev.com/b56e299d58d0a630a8be2d292e44431bc408806e/src/objects/intl-objects.h
[modify] https://crrev.com/b56e299d58d0a630a8be2d292e44431bc408806e/src/runtime/runtime-intl.cc
[modify] https://crrev.com/b56e299d58d0a630a8be2d292e44431bc408806e/src/runtime/runtime.h

Project Member

Comment 63 by bugdroid1@chromium.org, Aug 29

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/6b66bebad72e7036552fc4b216078d7cb42922bc

commit 6b66bebad72e7036552fc4b216078d7cb42922bc
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Wed Aug 29 16:22:30 2018

[intl] Port V8BreakIterator.prototype.breakType to C++

This increases the size of a V8BreakIterator instance by a word to store
the breakType function.

The instance to be bound is stored on the context of this builtin function.
This CL removes the AddBoundMethod helper from intl.js

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I4e4df2632990300b91eafda680d414e0b373825b
Reviewed-on: https://chromium-review.googlesource.com/1194803
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55501}
[modify] https://crrev.com/6b66bebad72e7036552fc4b216078d7cb42922bc/src/bootstrapper.cc
[modify] https://crrev.com/6b66bebad72e7036552fc4b216078d7cb42922bc/src/builtins/builtins-definitions.h
[modify] https://crrev.com/6b66bebad72e7036552fc4b216078d7cb42922bc/src/builtins/builtins-intl.cc
[modify] https://crrev.com/6b66bebad72e7036552fc4b216078d7cb42922bc/src/contexts.h
[modify] https://crrev.com/6b66bebad72e7036552fc4b216078d7cb42922bc/src/js/intl.js
[modify] https://crrev.com/6b66bebad72e7036552fc4b216078d7cb42922bc/src/objects/intl-objects.h
[modify] https://crrev.com/6b66bebad72e7036552fc4b216078d7cb42922bc/src/runtime/runtime-intl.cc
[modify] https://crrev.com/6b66bebad72e7036552fc4b216078d7cb42922bc/src/runtime/runtime.h

Blockedon: 8111
Project Member

Comment 65 by bugdroid1@chromium.org, Aug 31

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/e56bf9f45e94826f139acf23dfc11a429a365d63

commit e56bf9f45e94826f139acf23dfc11a429a365d63
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Fri Aug 31 23:07:09 2018

[Intl] Remove bound function SFIs from context

Instead of creating the SFIs during bootstrapping and storing on the
context, this patch just creates the SFIs on demand.

This patch saves 8 words per context, and several words per bound
function by not storing the SFI.

The created bound JSFunction is cached on the instance anyway, so it's
totally fine to take a small hit when creating the bound JSFunction.

Previously in the JS implementation, the creation of a bound function
was even slower as it was a lazy function that would have to parsed,
compiled and executed. So this is a step up in terms up perf and
memory.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: If3b8461d00e5b37567b34b236d44e14576b630ff
Reviewed-on: https://chromium-review.googlesource.com/1200006
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55566}
[modify] https://crrev.com/e56bf9f45e94826f139acf23dfc11a429a365d63/src/bootstrapper.cc
[modify] https://crrev.com/e56bf9f45e94826f139acf23dfc11a429a365d63/src/builtins/builtins-intl.cc
[modify] https://crrev.com/e56bf9f45e94826f139acf23dfc11a429a365d63/src/contexts.h

Project Member

Comment 66 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/8827178363d59a4e6ca2b88fbce3a9617f5c1a8a

commit 8827178363d59a4e6ca2b88fbce3a9617f5c1a8a
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Wed Sep 05 18:33:34 2018

[intl] JSV8BreakIterator: accept and return Type instead of int

Change-Id: I4013a966c1f651f5e6cabfbc3f64a08eb01d0dad
Bug:  v8:5751 
Reviewed-on: https://chromium-review.googlesource.com/1207670
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55662}
[modify] https://crrev.com/8827178363d59a4e6ca2b88fbce3a9617f5c1a8a/src/objects/js-break-iterator-inl.h
[modify] https://crrev.com/8827178363d59a4e6ca2b88fbce3a9617f5c1a8a/src/objects/js-break-iterator.cc
[modify] https://crrev.com/8827178363d59a4e6ca2b88fbce3a9617f5c1a8a/src/objects/js-break-iterator.h

Project Member

Comment 67 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f548c1c9c4d496b43f6c1d9e17a1388d851609f6

commit f548c1c9c4d496b43f6c1d9e17a1388d851609f6
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Wed Sep 05 20:47:02 2018

[intl] reorder intl builtin definitions alphabetically

Bug:  v8:5751 
Change-Id: I978b5b1da41040132204b64dde3f44985b44255d
Reviewed-on: https://chromium-review.googlesource.com/1208110
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55663}
[modify] https://crrev.com/f548c1c9c4d496b43f6c1d9e17a1388d851609f6/src/builtins/builtins-definitions.h

Project Member

Comment 68 by bugdroid1@chromium.org, Sep 5

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/16f8417b66c05d9713045bebd67e92df84cbe1f4

commit 16f8417b66c05d9713045bebd67e92df84cbe1f4
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Wed Sep 05 20:49:21 2018

[Intl] Convert options to an object in v8BreakIterator

Previously in the JS implementation, this would throw (on property
access) but this new behavior is more in line with how all the other
intl objects work.

Bug:  v8:5751 ,  chromium:880697 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I0bd073b2a0a6fc1eacd686083d8f1a72252cea53
Reviewed-on: https://chromium-review.googlesource.com/1207579
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55664}
[modify] https://crrev.com/16f8417b66c05d9713045bebd67e92df84cbe1f4/src/objects/js-break-iterator.cc
[add] https://crrev.com/16f8417b66c05d9713045bebd67e92df84cbe1f4/test/intl/break-iterator/options.js

Project Member

Comment 71 by bugdroid1@chromium.org, Sep 6

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/dd5ea32af3566471866940c4549c667284a7c816

commit dd5ea32af3566471866940c4549c667284a7c816
Author: Yang Guo <yangguo@chromium.org>
Date: Thu Sep 06 07:02:27 2018

Revert "[intl] Port collator#resolvedOptions to C++"

This reverts commit f2c943fa7bc672135851b85dbf154e3736fbc0b5.

Reason for revert: Non-flaky failures here: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20nosnap%20-%20debug/20374

Original change's description:
> [intl] Port collator#resolvedOptions to C++
> 
> Bug:  v8:5751 
> Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
> Change-Id: I236dd3a1b5390911a6c668201aec33e7db1cbd53
> Reviewed-on: https://chromium-review.googlesource.com/1208650
> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55668}

TBR=yangguo@chromium.org,gsathya@chromium.org,usharma1998@gmail.com

Change-Id: I018815ec7e3e692cc76a25590c2197a6cf37cc37
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1208571
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55669}
[modify] https://crrev.com/dd5ea32af3566471866940c4549c667284a7c816/src/bootstrapper.cc
[modify] https://crrev.com/dd5ea32af3566471866940c4549c667284a7c816/src/builtins/builtins-definitions.h
[modify] https://crrev.com/dd5ea32af3566471866940c4549c667284a7c816/src/builtins/builtins-intl.cc
[modify] https://crrev.com/dd5ea32af3566471866940c4549c667284a7c816/src/js/intl.js
[modify] https://crrev.com/dd5ea32af3566471866940c4549c667284a7c816/src/runtime/runtime-intl.cc
[modify] https://crrev.com/dd5ea32af3566471866940c4549c667284a7c816/src/runtime/runtime.h

Project Member

Comment 72 by bugdroid1@chromium.org, Sep 6

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d2a85d10328ed42f8833833ff673348873c86151

commit d2a85d10328ed42f8833833ff673348873c86151
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Thu Sep 06 07:10:10 2018

[Intl] Fix subclassing of V8BreakIterator

Bug:  v8:5751 ,  chromium:881021 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I22514ceb5fb0953b728e67ba5266926e912ce9c1
Reviewed-on: https://chromium-review.googlesource.com/1208516
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55671}
[modify] https://crrev.com/d2a85d10328ed42f8833833ff673348873c86151/src/objects.cc
[add] https://crrev.com/d2a85d10328ed42f8833833ff673348873c86151/test/intl/break-iterator/subclass.js

Project Member

Comment 73 by bugdroid1@chromium.org, Sep 7

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/67d0f65fbe8e4b509bd12e1767476c2ddbf269e9

commit 67d0f65fbe8e4b509bd12e1767476c2ddbf269e9
Author: Frank Tang <ftang@chromium.org>
Date: Fri Sep 07 20:01:34 2018

[Intl] Clean up - remove unnecessary include

Bug:  v8:5751 



Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I2642a8a693f9803949bc279892dffdcac0b6144c
Reviewed-on: https://chromium-review.googlesource.com/1212465
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55737}
[modify] https://crrev.com/67d0f65fbe8e4b509bd12e1767476c2ddbf269e9/src/objects/intl-objects.cc
[modify] https://crrev.com/67d0f65fbe8e4b509bd12e1767476c2ddbf269e9/src/objects/intl-objects.h
[modify] https://crrev.com/67d0f65fbe8e4b509bd12e1767476c2ddbf269e9/src/objects/js-break-iterator.h

Project Member

Comment 74 by bugdroid1@chromium.org, Sep 11

Project Member

Comment 75 by bugdroid1@chromium.org, Sep 11

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c62b0634f3103a0e48d418b2637981c715dfe631

commit c62b0634f3103a0e48d418b2637981c715dfe631
Author: Frank Tang <ftang@chromium.org>
Date: Tue Sep 11 11:14:41 2018

[Intl] mv code to objects/js-date-time-format.*

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng;luci.chromium.try:linux_chromium_rel_ng
Change-Id: Idf89e9d79e9b063c7d01e2b133826b9127910f4e
Reviewed-on: https://chromium-review.googlesource.com/1205835
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55785}
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/bootstrapper.cc
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/builtins/builtins-date.cc
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/builtins/builtins-definitions.h
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/builtins/builtins-intl.cc
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/js/intl.js
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/objects-debug.cc
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/objects-printer.cc
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/objects/intl-objects.cc
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/objects/intl-objects.h
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/objects/js-date-time-format-inl.h
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/objects/js-date-time-format.cc
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/objects/js-date-time-format.h
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/objects/js-number-format.cc
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/objects/js-number-format.h
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/runtime/runtime-intl.cc
[modify] https://crrev.com/c62b0634f3103a0e48d418b2637981c715dfe631/src/runtime/runtime.h

Project Member

Comment 77 by bugdroid1@chromium.org, Sep 13

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/6020cd5b54e1a73bf4e08c33e91d428e2137a47c

commit 6020cd5b54e1a73bf4e08c33e91d428e2137a47c
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Thu Sep 13 02:32:45 2018

[intl] Port pluralrules#select to C++

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I7c8aab3f0420e5a7e64aa78c642320bec4142d03
Reviewed-on: https://chromium-review.googlesource.com/1208653
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55842}
[modify] https://crrev.com/6020cd5b54e1a73bf4e08c33e91d428e2137a47c/src/bootstrapper.cc
[modify] https://crrev.com/6020cd5b54e1a73bf4e08c33e91d428e2137a47c/src/builtins/builtins-definitions.h
[modify] https://crrev.com/6020cd5b54e1a73bf4e08c33e91d428e2137a47c/src/builtins/builtins-intl.cc
[modify] https://crrev.com/6020cd5b54e1a73bf4e08c33e91d428e2137a47c/src/js/intl.js
[modify] https://crrev.com/6020cd5b54e1a73bf4e08c33e91d428e2137a47c/src/objects/js-plural-rules.cc
[modify] https://crrev.com/6020cd5b54e1a73bf4e08c33e91d428e2137a47c/src/objects/js-plural-rules.h
[modify] https://crrev.com/6020cd5b54e1a73bf4e08c33e91d428e2137a47c/src/runtime/runtime-intl.cc
[modify] https://crrev.com/6020cd5b54e1a73bf4e08c33e91d428e2137a47c/src/runtime/runtime.h
[add] https://crrev.com/6020cd5b54e1a73bf4e08c33e91d428e2137a47c/test/intl/plural-rules/check-to-number.js

Project Member

Comment 78 by bugdroid1@chromium.org, Sep 15

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1a225459be82bcb2852069931516b959af8d005b

commit 1a225459be82bcb2852069931516b959af8d005b
Author: Brian Stell <bstell@chromium.org>
Date: Sat Sep 15 00:36:38 2018

Implement ResolveLocale in C++.

Bug:  v8:8065 ,  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Id9dc16455d63b7c436126c21758d64fae0ec8de9
Reviewed-on: https://chromium-review.googlesource.com/1211402
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55925}
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/contexts.h
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/js/intl.js
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/objects/intl-objects.cc
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/objects/intl-objects.h
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/objects/js-break-iterator.cc
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/objects/js-collator.cc
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/objects/js-date-time-format.cc
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/objects/js-list-format.cc
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/objects/js-number-format.cc
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/objects/js-plural-rules.cc
[modify] https://crrev.com/1a225459be82bcb2852069931516b959af8d005b/src/objects/js-relative-time-format.cc

Project Member

Comment 79 by bugdroid1@chromium.org, Sep 17

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/cd306d91c579bdb97a85b0c226d6b205e0122db0

commit cd306d91c579bdb97a85b0c226d6b205e0122db0
Author: Michael Hablich <hablich@chromium.org>
Date: Mon Sep 17 08:05:54 2018

Revert "Implement ResolveLocale in C++."

This reverts commit 1a225459be82bcb2852069931516b959af8d005b.

Reason for revert: Makes GC stress unhappy: https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Linux%20-%20gc%20stress/18325 and blocks the roll

Original change's description:
> Implement ResolveLocale in C++.
> 
> Bug:  v8:8065 ,  v8:5751 
> Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
> Change-Id: Id9dc16455d63b7c436126c21758d64fae0ec8de9
> Reviewed-on: https://chromium-review.googlesource.com/1211402
> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
> Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#55925}

TBR=bstell@chromium.org,gsathya@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug:  v8:8065 ,  v8:5751 
Change-Id: I4d71adb31ffd5ab0d2ae42c0255d0a05edbaad29
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1226646
Reviewed-by: Michael Hablich <hablich@chromium.org>
Commit-Queue: Michael Hablich <hablich@chromium.org>
Cr-Commit-Position: refs/heads/master@{#55932}
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/contexts.h
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/js/intl.js
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/objects/intl-objects.cc
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/objects/intl-objects.h
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/objects/js-break-iterator.cc
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/objects/js-collator.cc
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/objects/js-date-time-format.cc
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/objects/js-list-format.cc
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/objects/js-number-format.cc
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/objects/js-plural-rules.cc
[modify] https://crrev.com/cd306d91c579bdb97a85b0c226d6b205e0122db0/src/objects/js-relative-time-format.cc

Project Member

Comment 80 by bugdroid1@chromium.org, Oct 4

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824

commit 42f17e7d9517a8f9eb139b72a0becdb2bb1fe824
Author: Frank Tang <ftang@chromium.org>
Date: Thu Oct 04 20:52:41 2018

[Intl] Make Initialize functions name consistent

Make Initialize functions name consistent for Intl.*

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: If4736007fc8f048a087469acc5d968e6ece289ce
Reviewed-on: https://chromium-review.googlesource.com/c/1261644
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56390}
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/builtins/builtins-intl.cc
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects-debug.cc
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-break-iterator.cc
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-break-iterator.h
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-collator.cc
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-collator.h
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-list-format.cc
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-list-format.h
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-locale.cc
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-locale.h
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-number-format-inl.h
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-number-format.h
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-plural-rules.cc
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-plural-rules.h
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-relative-time-format.cc
[modify] https://crrev.com/42f17e7d9517a8f9eb139b72a0becdb2bb1fe824/src/objects/js-relative-time-format.h

Project Member

Comment 81 by bugdroid1@chromium.org, Oct 8

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/55d37600e5a9aaca689f7eb7b4068c7db599943d

commit 55d37600e5a9aaca689f7eb7b4068c7db599943d
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Mon Oct 08 19:45:31 2018

[Intl] Clean up SupportedLocalesOf and GetAvailableLocales

As per
https://unicode-org.atlassian.net/browse/ICU-20009?focusedCommentId=62380&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#comment-62380
we can just use DateFormat::GetAvailableLocales for RelativeTimeFormat
removing a lot of code.

This patch also cleans up the code to be in line with the rest of V8.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I8df5b0e5a9a05c426aaa4f7fb9c67d7947301478
Reviewed-on: https://chromium-review.googlesource.com/c/1237298
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56455}
[modify] https://crrev.com/55d37600e5a9aaca689f7eb7b4068c7db599943d/src/builtins/builtins-intl.cc
[modify] https://crrev.com/55d37600e5a9aaca689f7eb7b4068c7db599943d/src/intl.h
[modify] https://crrev.com/55d37600e5a9aaca689f7eb7b4068c7db599943d/src/objects/intl-objects.cc
[modify] https://crrev.com/55d37600e5a9aaca689f7eb7b4068c7db599943d/src/objects/intl-objects.h
[modify] https://crrev.com/55d37600e5a9aaca689f7eb7b4068c7db599943d/test/cctest/test-intl.cc

Project Member

Comment 82 by bugdroid1@chromium.org, Oct 8

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d58f40b63bd2668084466d97dcf511ec5c988b65

commit d58f40b63bd2668084466d97dcf511ec5c988b65
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Mon Oct 08 20:36:48 2018

[Intl] Refactor LookupSupportedLocales

Fix spec non compliance by only trimming the unicode locales and not
all extensions.

Remove regexp and just use straightforward string manipulation.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ie95828a8f62834daf8cde189f408e95a14e796fe
Reviewed-on: https://chromium-review.googlesource.com/c/1255556
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56458}
[modify] https://crrev.com/d58f40b63bd2668084466d97dcf511ec5c988b65/src/objects/intl-objects.cc
[modify] https://crrev.com/d58f40b63bd2668084466d97dcf511ec5c988b65/test/intl/general/supported-locales-of.js

Project Member

Comment 83 by bugdroid1@chromium.org, Oct 11

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f99329733e2324719bb9ba2ea8066fe6ad238282

commit f99329733e2324719bb9ba2ea8066fe6ad238282
Author: Frank Tang <ftang@chromium.org>
Date: Thu Oct 11 07:07:28 2018

[Intl] Remove extra InstallWithIntrinsicDefaultProto

Remove InstallWithIntrinsicDefaultProto which is not needed
and reduce the size of context

Bug:  v8:5751 
Change-Id: Ia830629abdf94921315faadc708f4f135f720949
Reviewed-on: https://chromium-review.googlesource.com/c/1274986
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56549}
[modify] https://crrev.com/f99329733e2324719bb9ba2ea8066fe6ad238282/src/bootstrapper.cc
[modify] https://crrev.com/f99329733e2324719bb9ba2ea8066fe6ad238282/src/contexts.h

Project Member

Comment 85 by bugdroid1@chromium.org, Oct 16

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9e984162dae58248238f244cc5eab495adfa0b98

commit 9e984162dae58248238f244cc5eab495adfa0b98
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Tue Oct 16 02:34:54 2018

[Intl] Port ResolveLocale

- Add a new Intl::ResolveLocale method and uses it in all the intl objects.
- Fix CanonicalizeLocaleList to call out to HasProperty as per spec.
- Add calls to CanonicalizeLocaleList where it was previously missing.
- Change CanonicalizeLocaleListJS calls to CanonicalizeLocaleList now
  that we have migrated ResolveLocale.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I4249d2045c1556f18d570b00f7c92cbc3fa52077
Reviewed-on: https://chromium-review.googlesource.com/c/1270255
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Frank Tang <ftang@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56660}
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/contexts.h
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/js/intl.js
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/intl-objects.cc
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/intl-objects.h
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/js-break-iterator.cc
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/js-collator.cc
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/js-date-time-format.cc
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/js-list-format.cc
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/js-number-format.cc
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/js-plural-rules.cc
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/js-relative-time-format.cc
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/src/objects/js-segmenter.cc
[modify] https://crrev.com/9e984162dae58248238f244cc5eab495adfa0b98/test/test262/test262.status

Project Member

Comment 86 by bugdroid1@chromium.org, Oct 16

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f523befab59d0681e8e1744e7e61bae80d1490f7

commit f523befab59d0681e8e1744e7e61bae80d1490f7
Author: Frank Tang <ftang@chromium.org>
Date: Tue Oct 16 07:49:28 2018

[Intl] Remove extra set_intl_date_time_format_function()

Bug:  v8:5751 
Change-Id: I51c76880059ab5ce62032777d01d7e44849e874a
Reviewed-on: https://chromium-review.googlesource.com/c/1275808
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56668}
[modify] https://crrev.com/f523befab59d0681e8e1744e7e61bae80d1490f7/src/bootstrapper.cc

Project Member

Comment 88 by bugdroid1@chromium.org, Oct 17

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/05b7a1cb3f65cc3ef63153c6308d521594b8b04e

commit 05b7a1cb3f65cc3ef63153c6308d521594b8b04e
Author: Frank Tang <ftang@chromium.org>
Date: Wed Oct 17 19:28:41 2018

Revert "[Intl] Move Intl.getCanonicalLocales to C++"

This reverts commit 30729e82a2295b86de474ecb5f488fc200aad51a.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> [Intl] Move Intl.getCanonicalLocales to C++
> 
> Bug:  v8:5751 
> Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
> Change-Id: I20dc0e7eda58f2d9211d0e569d553dd6fcc14fd3
> Reviewed-on: https://chromium-review.googlesource.com/c/1275807
> Commit-Queue: Frank Tang <ftang@chromium.org>
> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56747}

TBR=jshin@chromium.org,gsathya@chromium.org,ftang@chromium.org

Change-Id: I236e183288f0546b8bbdca4804a1d02421c8c714
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/c/1286955
Reviewed-by: Frank Tang <ftang@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56749}
[modify] https://crrev.com/05b7a1cb3f65cc3ef63153c6308d521594b8b04e/src/bootstrapper.cc
[modify] https://crrev.com/05b7a1cb3f65cc3ef63153c6308d521594b8b04e/src/builtins/builtins-definitions.h
[modify] https://crrev.com/05b7a1cb3f65cc3ef63153c6308d521594b8b04e/src/builtins/builtins-intl.cc
[modify] https://crrev.com/05b7a1cb3f65cc3ef63153c6308d521594b8b04e/src/js/intl.js
[modify] https://crrev.com/05b7a1cb3f65cc3ef63153c6308d521594b8b04e/src/objects/intl-objects.cc
[modify] https://crrev.com/05b7a1cb3f65cc3ef63153c6308d521594b8b04e/src/objects/intl-objects.h

Project Member

Comment 89 by bugdroid1@chromium.org, Oct 18

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/4555961efab133a5fa5c7d3628cd3422e785efc4

commit 4555961efab133a5fa5c7d3628cd3422e785efc4
Author: Frank Tang <ftang@chromium.org>
Date: Thu Oct 18 20:39:15 2018

Reland "[Intl] Move Intl.getCanonicalLocales to C++"

This is a reland of 30729e82a2295b86de474ecb5f488fc200aad51a
Also change the intl.js to remove the ", utils"

Original change's description:
> [Intl] Move Intl.getCanonicalLocales to C++
>
> Bug:  v8:5751 
> Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
> Change-Id: I20dc0e7eda58f2d9211d0e569d553dd6fcc14fd3
> Reviewed-on: https://chromium-review.googlesource.com/c/1275807
> Commit-Queue: Frank Tang <ftang@chromium.org>
> Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#56747}

Bug:  v8:5751 
Change-Id: I0bbd5392234d23790e8c405a55e97b764d42507e
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/c/1286956
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56792}
[modify] https://crrev.com/4555961efab133a5fa5c7d3628cd3422e785efc4/src/bootstrapper.cc
[modify] https://crrev.com/4555961efab133a5fa5c7d3628cd3422e785efc4/src/builtins/builtins-definitions.h
[modify] https://crrev.com/4555961efab133a5fa5c7d3628cd3422e785efc4/src/builtins/builtins-intl.cc
[modify] https://crrev.com/4555961efab133a5fa5c7d3628cd3422e785efc4/src/js/intl.js
[modify] https://crrev.com/4555961efab133a5fa5c7d3628cd3422e785efc4/src/objects/intl-objects.cc
[modify] https://crrev.com/4555961efab133a5fa5c7d3628cd3422e785efc4/src/objects/intl-objects.h

Project Member

Comment 90 by bugdroid1@chromium.org, Oct 19

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12

commit b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12
Author: Frank Tang <ftang@chromium.org>
Date: Fri Oct 19 23:08:14 2018

[Intl] Remove some unneeded code fom intl.

Remove the file src/objects/intl-objects-inl.h
Remove Intl functions:
TypeFromInt(), TypeFromSmi(), IsObjectOfType(), AvailableLocalesOf()
CreateNumberFormat() and Handle<String> version of CreateICULocale
Also remove StringToICUService() inside
src/objects/intl-objects.cc

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ifbd7ce162e04b8563c09e3ee5d99c55c6ad7bf7a
Reviewed-on: https://chromium-review.googlesource.com/c/1290116
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56831}
[modify] https://crrev.com/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12/BUILD.gn
[modify] https://crrev.com/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12/src/heap-symbols.h
[delete] https://crrev.com/67776adeaceab6770e9f741b25f0ee24542b442d/src/objects/intl-objects-inl.h
[modify] https://crrev.com/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12/src/objects/intl-objects.cc
[modify] https://crrev.com/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12/src/objects/intl-objects.h
[modify] https://crrev.com/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12/src/objects/js-break-iterator.cc
[modify] https://crrev.com/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12/src/runtime/runtime-intl.cc
[modify] https://crrev.com/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12/src/runtime/runtime.h
[modify] https://crrev.com/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12/test/cctest/test-intl.cc
[modify] https://crrev.com/b8b7fe39cfade3deb0a4c1b8d4999d3be43aca12/tools/v8heapconst.py

Project Member

Comment 91 by bugdroid1@chromium.org, Oct 22

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c4311e52f78e055a0d45091386bbf6f81b8c869c

commit c4311e52f78e055a0d45091386bbf6f81b8c869c
Author: Frank Tang <ftang@chromium.org>
Date: Mon Oct 22 22:44:36 2018

[Intl] Remove intl.(h|cc)

Fold methods from intl.* to objects/intl-objects.*
Move Isolate* to the first parameter for some method
Move ICUSerice type under Intl
Hide ICUTimeZoneCache under a CreateTimeZoneCache factory method.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ie6f6a1ceee789333a077c1965de8e11d8c15c175
Reviewed-on: https://chromium-review.googlesource.com/c/1293109
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56873}
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/BUILD.gn
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/builtins/builtins-intl.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/date.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/external-reference.cc
[delete] https://crrev.com/66daabcca996bf581d2a85b0d942a64fa7c43f07/src/intl.cc
[delete] https://crrev.com/66daabcca996bf581d2a85b0d942a64fa7c43f07/src/intl.h
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/intl-objects.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/intl-objects.h
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/js-break-iterator.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/js-collator.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/js-date-time-format.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/js-list-format.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/js-number-format.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/js-plural-rules.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/js-relative-time-format.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/js-segment-iterator.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/objects/js-segmenter.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/src/runtime/runtime-intl.cc
[modify] https://crrev.com/c4311e52f78e055a0d45091386bbf6f81b8c869c/test/cctest/test-intl.cc

Project Member

Comment 92 by bugdroid1@chromium.org, Oct 23

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/1b4436e7f003724430b60b55fdd04953ec95a9cf

commit 1b4436e7f003724430b60b55fdd04953ec95a9cf
Author: Frank Tang <ftang@chromium.org>
Date: Tue Oct 23 00:14:21 2018

[Intl] Move code from builtins-intl.cc

Move Normalize into intl-objects.*
Move V8BreakIterator code to js-break-iterator*
Add heap-symbol for breakType of JSBreakIterator

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Id25af28770ae3c0b7716f4e3b602d4b040194a7d
Reviewed-on: https://chromium-review.googlesource.com/c/1293110
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56875}
[modify] https://crrev.com/1b4436e7f003724430b60b55fdd04953ec95a9cf/src/builtins/builtins-intl.cc
[modify] https://crrev.com/1b4436e7f003724430b60b55fdd04953ec95a9cf/src/heap-symbols.h
[modify] https://crrev.com/1b4436e7f003724430b60b55fdd04953ec95a9cf/src/objects/intl-objects.cc
[modify] https://crrev.com/1b4436e7f003724430b60b55fdd04953ec95a9cf/src/objects/intl-objects.h
[modify] https://crrev.com/1b4436e7f003724430b60b55fdd04953ec95a9cf/src/objects/js-break-iterator.cc
[modify] https://crrev.com/1b4436e7f003724430b60b55fdd04953ec95a9cf/src/objects/js-break-iterator.h
[modify] https://crrev.com/1b4436e7f003724430b60b55fdd04953ec95a9cf/tools/v8heapconst.py

Project Member

Comment 93 by bugdroid1@chromium.org, Oct 24

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/2552c747dc9fbfbf4e32f107aea63d8e68144075

commit 2552c747dc9fbfbf4e32f107aea63d8e68144075
Author: Frank Tang <ftang@chromium.org>
Date: Wed Oct 24 00:06:00 2018

[Intl] Merge the reading of "localeMatcher"

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I5a482014fa482c62b014506df45846496d909a63
Reviewed-on: https://chromium-review.googlesource.com/c/1295933
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56917}
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/intl-objects.cc
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/intl-objects.h
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/js-break-iterator.cc
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/js-collator.cc
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/js-date-time-format.cc
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/js-list-format.cc
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/js-number-format.cc
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/js-plural-rules.cc
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/js-relative-time-format.cc
[modify] https://crrev.com/2552c747dc9fbfbf4e32f107aea63d8e68144075/src/objects/js-segmenter.cc

Project Member

Comment 95 by bugdroid1@chromium.org, Oct 24

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/50d7cbf6b93dbb7521823879bd33518c3072cbe6

commit 50d7cbf6b93dbb7521823879bd33518c3072cbe6
Author: Frank Tang <ftang@chromium.org>
Date: Wed Oct 24 01:41:10 2018

[Intl] Decentralize GetAvailableLocales

Remove ICUService and decentralize GetAvailableLocales to each class.
Refactor part of the Intl::GetAvailableLocales into Intl::BuildLocaleSet
as helper function.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ic82d919cbf7ec840a7df3b0fa040561534c105a1
Reviewed-on: https://chromium-review.googlesource.com/c/1295934
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56923}
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/builtins/builtins-intl.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/intl-objects.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/intl-objects.h
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-break-iterator.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-break-iterator.h
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-collator.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-collator.h
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-date-time-format.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-date-time-format.h
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-list-format.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-list-format.h
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-number-format.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-number-format.h
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-plural-rules.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-plural-rules.h
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-relative-time-format.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-relative-time-format.h
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-segmenter.cc
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/src/objects/js-segmenter.h
[modify] https://crrev.com/50d7cbf6b93dbb7521823879bd33518c3072cbe6/test/cctest/test-intl.cc

Project Member

Comment 96 by bugdroid1@chromium.org, Oct 24

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/6899cd2b108334562b90d74938dc76ca1565cc7f

commit 6899cd2b108334562b90d74938dc76ca1565cc7f
Author: Frank Tang <ftang@chromium.org>
Date: Wed Oct 24 18:17:58 2018

[Intl] Clean up TODO(ftang)

Remove TODO that is already done
Uncomment two working tests.

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Icb28d84e92812996c2928e90961d75508ba4c401
Reviewed-on: https://chromium-review.googlesource.com/c/1296933
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#56961}
[modify] https://crrev.com/6899cd2b108334562b90d74938dc76ca1565cc7f/src/objects/js-relative-time-format-inl.h
[modify] https://crrev.com/6899cd2b108334562b90d74938dc76ca1565cc7f/test/intl/list-format/resolved-options.js
[modify] https://crrev.com/6899cd2b108334562b90d74938dc76ca1565cc7f/test/intl/relative-time-format/resolved-options.js

Project Member

Comment 97 by bugdroid1@chromium.org, Oct 26

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/fb9659faceb6764fd12bcf1bcebdae97640bad1a

commit fb9659faceb6764fd12bcf1bcebdae97640bad1a
Author: Frank Tang <ftang@chromium.org>
Date: Fri Oct 26 18:34:07 2018

[Intl] Merge constructors by template

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ibceb4412713c0bec82b234e2eea6c86aa0d275f7
Reviewed-on: https://chromium-review.googlesource.com/c/1295932
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57047}
[modify] https://crrev.com/fb9659faceb6764fd12bcf1bcebdae97640bad1a/src/builtins/builtins-intl.cc

Project Member

Comment 98 by bugdroid1@chromium.org, Oct 30

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/c65dbd51534dd4f1a634d953dd3440a00e2c4b81

commit c65dbd51534dd4f1a634d953dd3440a00e2c4b81
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Tue Oct 30 16:34:04 2018

[class] Rewrite destructuring assignment in class field initializers

Bug:  v8:5751 , chromium:899537
Change-Id: I4c072727dffc9381a81eb8711c4114220345914d
Reviewed-on: https://chromium-review.googlesource.com/c/1304538
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57141}
[modify] https://crrev.com/c65dbd51534dd4f1a634d953dd3440a00e2c4b81/src/parsing/parser-base.h
[modify] https://crrev.com/c65dbd51534dd4f1a634d953dd3440a00e2c4b81/test/cctest/test-parsing.cc
[add] https://crrev.com/c65dbd51534dd4f1a634d953dd3440a00e2c4b81/test/mjsunit/regress/regress-899537.js

Project Member

Comment 99 by bugdroid1@chromium.org, Nov 1

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf

commit d44ed132d1faa646c18e6b99e11146ec7f0bd1cf
Author: Frank Tang <ftang@chromium.org>
Date: Thu Nov 01 23:08:42 2018

[Intl] Clean up Intl::GetStringOption

Add a templates: Intl::GetStringOptionTo<> to simplify the reading
of string from options.
Add GetCaseFirst and GetHourCycle into Intl for later reuse
by different Intl objects
Move some enum shared by Intl object into Intl::

Bug:  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: If9ed1889a594f7c0ee6669b4679dda9169e4a771
Reviewed-on: https://chromium-review.googlesource.com/c/1297772
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57201}
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/intl-objects.cc
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/intl-objects.h
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/js-break-iterator.cc
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/js-break-iterator.h
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/js-collator.cc
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/js-date-time-format.cc
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/js-list-format.cc
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/js-number-format.cc
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/js-plural-rules.cc
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/js-relative-time-format.cc
[modify] https://crrev.com/d44ed132d1faa646c18e6b99e11146ec7f0bd1cf/src/objects/js-segmenter.cc

Project Member

Comment 100 by bugdroid1@chromium.org, Nov 6

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/8fd5fa2238ac4cc5ea2cf332f500910c5ef02fd6

commit 8fd5fa2238ac4cc5ea2cf332f500910c5ef02fd6
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Tue Nov 06 12:11:50 2018

[Intl] Validate extension keys

- Fix ParseBCP47 to return just the extension. The second argument to
  substr function is actually the length, not the end position of the
  substring :')
- Remove extension keys that aren't part of the relevant extension keys
- Use 'ca' as an relevant extension key for DateTimeFormat
- Use the canonicalized locale tag after create the ICU locale is
  created, rather than the input locale tag.

Bug: chromium:895942,  v8:5751 
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I189709714d847e684b04409b734a60ff04ed7dd2
Reviewed-on: https://chromium-review.googlesource.com/c/1291076
Reviewed-by: Frank Tang <ftang@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57274}
[modify] https://crrev.com/8fd5fa2238ac4cc5ea2cf332f500910c5ef02fd6/src/objects/intl-objects.cc
[modify] https://crrev.com/8fd5fa2238ac4cc5ea2cf332f500910c5ef02fd6/src/objects/js-date-time-format.cc
[add] https://crrev.com/8fd5fa2238ac4cc5ea2cf332f500910c5ef02fd6/test/intl/regress-895942.js

Project Member

Comment 101 by bugdroid1@chromium.org, Nov 7

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/f7b0853dc317ae53b5d1a6ca3ebbad41b74a6abc

commit f7b0853dc317ae53b5d1a6ca3ebbad41b74a6abc
Author: Sathya Gunasekaran <gsathya@chromium.org>
Date: Wed Nov 07 10:28:41 2018

[handles] Remove singleton eternal handles

This is currently dead code as intl no longer uses this to reset the
cache. Intl will use a different caching strategy in the future.

Bug:  v8:5751 
Change-Id: I343fa8afe5069cb7228106b3cd355d004aed199f
Reviewed-on: https://chromium-review.googlesource.com/c/1319766
Reviewed-by: Frank Tang <ftang@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57311}
[modify] https://crrev.com/f7b0853dc317ae53b5d1a6ca3ebbad41b74a6abc/src/api.cc
[modify] https://crrev.com/f7b0853dc317ae53b5d1a6ca3ebbad41b74a6abc/src/global-handles.cc
[modify] https://crrev.com/f7b0853dc317ae53b5d1a6ca3ebbad41b74a6abc/src/global-handles.h

Blockedon: 8428
Project Member

Comment 103 by bugdroid1@chromium.org, Nov 8

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/30a350f298732d6622712aa113d72fe3382c7f39

commit 30a350f298732d6622712aa113d72fe3382c7f39
Author: Frank Tang <ftang@chromium.org>
Date: Thu Nov 08 07:40:42 2018

[Intl] Clean up icu include and #ifdef

Requires ICU 63 or above be used when building v8
1. Remove unneeded #include of icu header files
2. Remove code inside "#if U_ICU_VERSION_MAJOR_NUM < x"
block where x is 63 or smaller.



Bug:  v8:8401   v8:5751 
Change-Id: I908b0d7d174df53d4296580fe7150417322b0b21
Reviewed-on: https://chromium-review.googlesource.com/c/1314112
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57341}
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/isolate.cc
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/isolate.h
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/objects/intl-objects.cc
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/objects/js-date-time-format.cc
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/objects/js-date-time-format.h
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/objects/js-locale.cc
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/objects/js-number-format.cc
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/objects/js-plural-rules.cc
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/objects/js-relative-time-format.cc
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/regexp/regexp-parser.cc
[modify] https://crrev.com/30a350f298732d6622712aa113d72fe3382c7f39/src/runtime/runtime-intl.cc

Project Member

Comment 104 by bugdroid1@chromium.org, Nov 9

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/53d3f5ba2a7ee77244bdee882da9da188daa4c39

commit 53d3f5ba2a7ee77244bdee882da9da188daa4c39
Author: Adam Klein <adamk@chromium.org>
Date: Fri Nov 09 19:55:42 2018

[intl] Remove regexp-prepare/regexp-assert from intl testcfg

Now that intl.js is gone, there's no particular reason to worry about
Intl features accidentally using RegExp objects in a way that would
be visible to author code.

Bug:  v8:5751 
Change-Id: I7bb274ed124ac593ab5f4f6995941f11a0ded480
Reviewed-on: https://chromium-review.googlesource.com/c/1325030
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57409}
[delete] https://crrev.com/bb887d2ccf8df5e44567581147f983f5c53cee21/test/intl/regexp-assert.js
[delete] https://crrev.com/bb887d2ccf8df5e44567581147f983f5c53cee21/test/intl/regexp-prepare.js
[modify] https://crrev.com/53d3f5ba2a7ee77244bdee882da9da188daa4c39/test/intl/testcfg.py

Project Member

Comment 105 by bugdroid1@chromium.org, Nov 13

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/7aced29990db03006745ea0817ed23b3fd6d5760

commit 7aced29990db03006745ea0817ed23b3fd6d5760
Author: Frank Tang <ftang@chromium.org>
Date: Tue Nov 13 19:56:09 2018

[Intl] Cache intl objects in isolate

Remove old code in v8::Date::DateTimeConfigurationChangeNotification
Add code to clear date time cache object in isolate.

Running benchmark
python -u tools/run_perf.py --binary-override-path \
  out/x64.release/d8 --filter "JSTests/Strings/StringLocaleCompare" \
  test/js-perf-test/JSTests.json
python -u tools/run_perf.py --binary-override-path \
  out/x64.release/d8 --filter "JSTests/Dates" \
  test/js-perf-test/JSTests.json
python -u tools/run_perf.py --binary-override-path \
  out/x64.release/d8 --filter "JSTests/Numbers" \
  test/js-perf-test/JSTests.json

BEFORE THE FIX:
StringLocaleCompare-Strings(Score): 184287
toLocaleDateString-Dates(Score): 10456
toLocaleString-Dates(Score): 10436
toLocaleTimeString-Dates(Score): 10700
toLocaleString-Numbers(Score): 2935

AFTER THE FIX in Patch Set 13:
StringLocaleCompare-Strings(Score): 57470000
toLocaleDateString-Dates(Score): 6141000
toLocaleString-Dates(Score): 4093000
toLocaleTimeString-Dates(Score): 6323000
toLocaleString-Numbers(Score): 3371000

Bug: chromium:901748,  chromium:901747 ,  v8:5751 
Change-Id: I7578e2ced0fe967dce6424d17f15ab806cc522be
Reviewed-on: https://chromium-review.googlesource.com/c/1320892
Commit-Queue: Frank Tang <ftang@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57484}
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/api.cc
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/builtins/builtins-date.cc
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/builtins/builtins-intl.cc
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/isolate.cc
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/isolate.h
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/objects/intl-objects.cc
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/objects/intl-objects.h
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/objects/js-date-time-format.cc
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/objects/js-date-time-format.h
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/objects/js-number-format.cc
[modify] https://crrev.com/7aced29990db03006745ea0817ed23b3fd6d5760/src/objects/js-number-format.h

Project Member

Comment 106 by bugdroid1@chromium.org, Nov 30

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/9f6a854a7b967fffc2aabe54197ba068d411b0c4

commit 9f6a854a7b967fffc2aabe54197ba068d411b0c4
Author: Ujjwal Sharma <usharma1998@gmail.com>
Date: Fri Nov 30 19:21:57 2018

[Intl] Remove dead code from runtime/runtime-intl.cc

Cleanup runtime/runtime-intl.cc by removing dead code, namely
Runtime_CanonicalizeLanguageTag and Runtime_GetDefaultICULocale.

Bug:  v8:8439 , v8:5751 
Change-Id: Id8712b2f3b2ddffc0e289b904f17ae3b09faffae
Reviewed-on: https://chromium-review.googlesource.com/c/1329705
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57980}
[modify] https://crrev.com/9f6a854a7b967fffc2aabe54197ba068d411b0c4/src/runtime/runtime-intl.cc
[modify] https://crrev.com/9f6a854a7b967fffc2aabe54197ba068d411b0c4/src/runtime/runtime.h

Status: Fixed (was: Assigned)
I think this can be closed now that ECMA402 implementation has been ported to C++ and the new implementation follows similar design as the rest of V8 builtins. Any future cleanup can be split off into individual issues.

Thanks for all the work everyone!
Project Member

Comment 108 by bugdroid1@chromium.org, Dec 2

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/62915f403eee7f45db295e03c11d71928ce35aa3

commit 62915f403eee7f45db295e03c11d71928ce35aa3
Author: Frank Tang <ftang@chromium.org>
Date: Sun Dec 02 23:37:49 2018

[Intl] Add order check test for Intl.*

Also split out some order check tests.

Bug:  v8:5751 
Change-Id: I1765d1809b456c43e21d9a379f720a0ea12e794e
Reviewed-on: https://chromium-review.googlesource.com/c/1352283
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57988}
[add] https://crrev.com/62915f403eee7f45db295e03c11d71928ce35aa3/test/intl/collator/constructor-order.js
[add] https://crrev.com/62915f403eee7f45db295e03c11d71928ce35aa3/test/intl/list-format/constructor-order.js
[modify] https://crrev.com/62915f403eee7f45db295e03c11d71928ce35aa3/test/intl/list-format/constructor.js
[add] https://crrev.com/62915f403eee7f45db295e03c11d71928ce35aa3/test/intl/number-format/constructor-order.js
[add] https://crrev.com/62915f403eee7f45db295e03c11d71928ce35aa3/test/intl/plural-rules/constructor-order.js
[add] https://crrev.com/62915f403eee7f45db295e03c11d71928ce35aa3/test/intl/relative-time-format/constructor-order.js
[modify] https://crrev.com/62915f403eee7f45db295e03c11d71928ce35aa3/test/intl/relative-time-format/constructor.js
[add] https://crrev.com/62915f403eee7f45db295e03c11d71928ce35aa3/test/intl/segmenter/constructor-order.js
[modify] https://crrev.com/62915f403eee7f45db295e03c11d71928ce35aa3/test/intl/segmenter/constructor.js

Project Member

Comment 109 by bugdroid1@chromium.org, Dec 7

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/a6d2fe4009eaeb52860bcfa1610b72896af832a9

commit a6d2fe4009eaeb52860bcfa1610b72896af832a9
Author: Frank Tang <ftang@chromium.org>
Date: Fri Dec 07 06:27:42 2018

[Intl] Remove GetDefaultLocale

Simplified test for default locale under test/intl
Remove GetDefaultLocale from runtime
Move Intl::DefaultLocale from intl-object.h to
internal function inside intl-object.cc

Bug:  v8:5751 
Change-Id: I885abf30ff33d5213ee99c07ac1e92d3c5065d8b
Reviewed-on: https://chromium-review.googlesource.com/c/1358022
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Jungshik Shin <jshin@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58081}
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/src/objects/intl-objects.cc
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/src/objects/intl-objects.h
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/src/runtime/runtime-intl.cc
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/src/runtime/runtime.h
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/test/intl/break-iterator/default-locale.js
[delete] https://crrev.com/29684ef04cbc4243ae5883fbe046d409fdf01077/test/intl/break-iterator/wellformed-unsupported-locale.js
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/test/intl/collator/default-locale.js
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/test/intl/collator/options.js
[delete] https://crrev.com/29684ef04cbc4243ae5883fbe046d409fdf01077/test/intl/collator/wellformed-unsupported-locale.js
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/test/intl/date-format/default-locale.js
[delete] https://crrev.com/29684ef04cbc4243ae5883fbe046d409fdf01077/test/intl/date-format/wellformed-unsupported-locale.js
[add] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/test/intl/default_locale.js
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/test/intl/intl.status
[modify] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/test/intl/number-format/default-locale.js
[delete] https://crrev.com/29684ef04cbc4243ae5883fbe046d409fdf01077/test/intl/number-format/wellformed-unsupported-locale.js

Project Member

Comment 110 by bugdroid1@chromium.org, Dec 7

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/6355ca455969c1330799fd256a085b46230864d4

commit 6355ca455969c1330799fd256a085b46230864d4
Author: Frank Tang <ftang@chromium.org>
Date: Fri Dec 07 07:05:49 2018

[Intl] Remove flaky regress-8414.js

The removed tests should be later covered by v8:8556

Bug:  v8:5751 , v8:8556
Change-Id: Iea5450564ab4f85256f1aa76fb09d7e6704f9bd3
Reviewed-on: https://chromium-review.googlesource.com/c/1355634
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#58082}
[delete] https://crrev.com/a6d2fe4009eaeb52860bcfa1610b72896af832a9/test/intl/regress-8414.js

Showing comments 11 - 110 of 110 Older

Sign in to add a comment