Commit Graph

49495 Commits

Author SHA1 Message Date
Brian Stell
a8c6919648 [Intl] Fix the dangling pointers in IsStructurallyValidLanguageTag
This is a part of larger cl https://chromium-review.googlesource.com/c/v8/v8/+/1144524
"Port canonicalizeLanguageTag and isStructuallyValidLanguageTag from JS to C++."

This is being separated out because:
1) this will unblock ftang's work
2) there is an increased memory usage issue report I'd like to understand before
   connecting IsStructurallyValidLanguageTag for widespread usage

The memory concern will be dealt with in a follow-up cl.

Also in this cl:
Fix to ignore the first tag when checking for duplicate subtags.

Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I76f4f6861490d8f9ccb36d6a0f7a7d5fa32ff995
Reviewed-on: https://chromium-review.googlesource.com/1147561
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@{#54653}
2018-07-24 15:12:13 +00:00
Dominik Inführ
956ac1bd15 [heap-profiler] Names for JSGeneratorObject-fields
Add names for fields in JSGeneratorObjects in Heap Snapshot
Generator.

Bug: chromium:854097
Change-Id: I075acf0821c9d002535b4fdc4ce4ddbb2fc9627c
Reviewed-on: https://chromium-review.googlesource.com/1148387
Commit-Queue: Dominik Inführ <dinfuehr@google.com>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54652}
2018-07-24 14:49:03 +00:00
Sigurd Schneider
743de156fb [test-api] Remove deprecated uses of String::Concat
Change-Id: I090258338b1ac5e50bfd8c2195fb740ffa1386c2
Reviewed-on: https://chromium-review.googlesource.com/1148398
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54651}
2018-07-24 14:44:58 +00:00
Marja Hölttä
ce19561871 Reland [in-place weak refs] Replace Heap::script_list with a WeakArrayList.
Previous version: https://chromium-review.googlesource.com/c/v8/v8/+/1143467

BUG=v8:7308
TBR=jgruber@chromium.org

Change-Id: I0c1fe73250b0aed270cdb9fa5e1bc55315ace3d2
Reviewed-on: https://chromium-review.googlesource.com/1148333
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54650}
2018-07-24 14:43:53 +00:00
Tobias Tebbi
f31c6419eb [torque] add unittest for Earley parser
Change-Id: I02c117ef66480eb73eb9cc1d4f80bbc64e9d3624
Reviewed-on: https://chromium-review.googlesource.com/1146655
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54649}
2018-07-24 14:01:33 +00:00
Théotime Grohens
311808eefc [dataview] Deopt in TurboFan instead of raising exceptions
This CL simplifies the implementation of inlined DataView
methods in TurboFan. It removes the explicit exception handling,
and just deopts and relies on the baseline code to handle
exceptions instead.

It also adapts the DataView test files in mjsunit/compiler/
accordingly.

Change-Id: I013c76970e1480df2b755d17d397bd0f9f26f0ec
Reviewed-on: https://chromium-review.googlesource.com/1148207
Commit-Queue: Théotime Grohens <theotime@google.com>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54648}
2018-07-24 13:59:03 +00:00
Dan Elphick
e0670b22fe [ReadOnlyRoots] Fix detection of initially RO mutable roots
TestHeapRootsNotReadOnly was mistakenly checking for exceptions to the
rule by comparing the value of the root rather than the address. Since
several roots point to UndefinedValue, this meant that only one of the
matching roots had to be in the list.

This fixes it by instead getting a Handle from Factory and using the
address() method to check whether the roots match the exception list.

Also adds detached_contexts, feedback_vectors_for_profiling_tools,
microtask_queue, serialized_global_proxy_sizes and serialized_objects to
the exception list now that the test is working properly.

Change-Id: I599d584f94797a256d1c8c24c0fa2848ca1ca1df
Reviewed-on: https://chromium-review.googlesource.com/1148331
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54647}
2018-07-24 13:56:47 +00:00
Ben L. Titzer
dab1076535 [wasm] Prepare to support 4GiB memories
This is a preparatory CL that refactors the WASM memory allocation path,
the WasmGraphBuilder, and several points of contact for ArrayBuffers to
allow them to eventually be up to 4GiB.

1.) Refactor definition of constants to prepare for memories of size 2^32
2.) Refactor WasmInstanceObject fields memory_size and memory_mask to
    be stored as uintptr_t
3.) Refactor WasmGraphBuilder to use 64-bit comparisons for bounds checks
4.) Refactor JSArrayBuffer accessor methods to use size_t properly.
5.) Add empirical maximum memory and array buffer size tests

R=mstarzinger@chromium.org
BUG=v8:7881

Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I78a49069cfa89757cc93f0a30b1c1a99c4b2edba
Reviewed-on: https://chromium-review.googlesource.com/1112003
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54646}
2018-07-24 13:55:43 +00:00
Sigurd Schneider
765c1eac1f Speculatively Revert "Reland "Avoiding re-externalization of strings.""
This reverts commit f34158c9d2.

Reason for revert: Seems to trigger DCHECKS. Two CLs in range; this one seemed more likely.
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064%20(dbg)/12787
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064%20(dbg)/12788


Original change's description:
> Reland "Avoiding re-externalization of strings."
> 
> This is a reland of 2c4c2ad694
> 
> Original change's description:
> > Avoiding re-externalization of strings.
> >
> > Bug: chromium:845409
> > Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> > Change-Id: I75bddcf0e8879d2161486f24d1cd4e46d8fe008d
> > Reviewed-on: https://chromium-review.googlesource.com/1139056
> > Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
> > Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#54599}
> 
> Bug: chromium:866208
> Change-Id: I7714bfc695ebeaf55b9ccbbc6b11368416ce7fec
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> Reviewed-on: https://chromium-review.googlesource.com/1146583
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
> Cr-Commit-Position: refs/heads/master@{#54637}

TBR=ulan@chromium.org,jkummerow@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,rfbpb@google.com

Change-Id: Id12382d66bc5c9b5c76d73b06a6b421dd4d7be66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:866208
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1148400
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54645}
2018-07-24 13:37:04 +00:00
Clemens Hammacher
76db01d54e [wasm] Add trace events for compiling wrappers
Compiling import and export wrappers currently takes a big chunk of the
instantiation time. Add events to show this in the trace.

R=ahaas@chromium.org

Change-Id: Iffcabf18497cdb2d8caac7f939e4b1bc452d316f
Reviewed-on: https://chromium-review.googlesource.com/1148219
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54644}
2018-07-24 13:08:21 +00:00
Tobias Tebbi
24ebe454f2 [iwyu] enable header include checks for torque
This also fixes all resulting failures.

Bug: v8:7965
Change-Id: I5451cdd3a3ec48c708107a22445808c268efe861
Reviewed-on: https://chromium-review.googlesource.com/1148336
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54643}
2018-07-24 12:53:21 +00:00
Marja Hölttä
9cf74f6790 Revert "Reland "[in-place weak refs] Replace Heap::script_list with a WeakArrayList.""
This reverts commit 1233e7c927.

Reason for revert: There were more test failures, e.g. linux nosnap.

Original change's description:
> Reland "[in-place weak refs] Replace Heap::script_list with a WeakArrayList."
> 
> This reverts commit cfccdf8839.
> 
> Reason for revert: Was a faulty test.
> 
> Original change's description:
> > Revert "[in-place weak refs] Replace Heap::script_list with a WeakArrayList."
> > 
> > This reverts commit 06f556d899.
> > 
> > Reason for revert: gc stress failures
> > 
> > Original change's description:
> > > [in-place weak refs] Replace Heap::script_list with a WeakArrayList.
> > > 
> > > BUG=v8:7308
> > > 
> > > Change-Id: Idd527fc2a2f5bde635441a511e424a83558ab969
> > > Reviewed-on: https://chromium-review.googlesource.com/1143467
> > > Commit-Queue: Marja Hölttä <marja@chromium.org>
> > > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> > > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > > Cr-Commit-Position: refs/heads/master@{#54635}
> > 
> > TBR=ulan@chromium.org,marja@chromium.org,jgruber@chromium.org
> > 
> > Change-Id: I6908fa42fcf4a8916a1dc49b865526094f950c66
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: v8:7308
> > Reviewed-on: https://chromium-review.googlesource.com/1148280
> > Reviewed-by: Marja Hölttä <marja@chromium.org>
> > Commit-Queue: Marja Hölttä <marja@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#54636}
> 
> TBR=ulan@chromium.org,marja@chromium.org,jgruber@chromium.org
> 
> Change-Id: I2451ed0237b69bf17bbe13f4929568ebe2abfc67
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: v8:7308
> Reviewed-on: https://chromium-review.googlesource.com/1148340
> Reviewed-by: Marja Hölttä <marja@chromium.org>
> Commit-Queue: Marja Hölttä <marja@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54639}

TBR=ulan@chromium.org,marja@chromium.org,jgruber@chromium.org

Change-Id: I60ebd9784416740c92b32aa92e330755d847b882
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7308
Reviewed-on: https://chromium-review.googlesource.com/1148341
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54642}
2018-07-24 11:46:50 +00:00
Leszek Swirski
33c813c6eb Revert "[Intl] Fix legacy error handling"
This reverts commit 1f5ab93600.

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}
2018-07-24 11:45:45 +00:00
Sergiy Byelozyorov
7af0ebed1b [tools] Make v8_linux64_header_includes_dbg non-experimental
TBR=machenbach@chromium.org

No-Try: true
No-Tree-Checks: true
Bug: v8:7966
Change-Id: I354622e8b0fca7df957c7484cedeef728cfa3f57
Reviewed-on: https://chromium-review.googlesource.com/1148322
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54640}
2018-07-24 11:37:02 +00:00
Marja Hölttä
1233e7c927 Reland "[in-place weak refs] Replace Heap::script_list with a WeakArrayList."
This reverts commit cfccdf8839.

Reason for revert: Was a faulty test.

Original change's description:
> Revert "[in-place weak refs] Replace Heap::script_list with a WeakArrayList."
> 
> This reverts commit 06f556d899.
> 
> Reason for revert: gc stress failures
> 
> Original change's description:
> > [in-place weak refs] Replace Heap::script_list with a WeakArrayList.
> > 
> > BUG=v8:7308
> > 
> > Change-Id: Idd527fc2a2f5bde635441a511e424a83558ab969
> > Reviewed-on: https://chromium-review.googlesource.com/1143467
> > Commit-Queue: Marja Hölttä <marja@chromium.org>
> > Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#54635}
> 
> TBR=ulan@chromium.org,marja@chromium.org,jgruber@chromium.org
> 
> Change-Id: I6908fa42fcf4a8916a1dc49b865526094f950c66
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: v8:7308
> Reviewed-on: https://chromium-review.googlesource.com/1148280
> Reviewed-by: Marja Hölttä <marja@chromium.org>
> Commit-Queue: Marja Hölttä <marja@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54636}

TBR=ulan@chromium.org,marja@chromium.org,jgruber@chromium.org

Change-Id: I2451ed0237b69bf17bbe13f4929568ebe2abfc67
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7308
Reviewed-on: https://chromium-review.googlesource.com/1148340
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54639}
2018-07-24 11:35:58 +00:00
Sathya Gunasekaran
90eae8536c [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}
2018-07-24 11:33:28 +00:00
Rodrigo Bruno
f34158c9d2 Reland "Avoiding re-externalization of strings."
This is a reland of 2c4c2ad694

Original change's description:
> Avoiding re-externalization of strings.
>
> Bug: chromium:845409
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> Change-Id: I75bddcf0e8879d2161486f24d1cd4e46d8fe008d
> Reviewed-on: https://chromium-review.googlesource.com/1139056
> Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54599}

Bug: chromium:866208
Change-Id: I7714bfc695ebeaf55b9ccbbc6b11368416ce7fec
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1146583
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
Cr-Commit-Position: refs/heads/master@{#54637}
2018-07-24 11:02:59 +00:00
Marja Hölttä
cfccdf8839 Revert "[in-place weak refs] Replace Heap::script_list with a WeakArrayList."
This reverts commit 06f556d899.

Reason for revert: gc stress failures

Original change's description:
> [in-place weak refs] Replace Heap::script_list with a WeakArrayList.
> 
> BUG=v8:7308
> 
> Change-Id: Idd527fc2a2f5bde635441a511e424a83558ab969
> Reviewed-on: https://chromium-review.googlesource.com/1143467
> Commit-Queue: Marja Hölttä <marja@chromium.org>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54635}

TBR=ulan@chromium.org,marja@chromium.org,jgruber@chromium.org

Change-Id: I6908fa42fcf4a8916a1dc49b865526094f950c66
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:7308
Reviewed-on: https://chromium-review.googlesource.com/1148280
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54636}
2018-07-24 10:55:58 +00:00
Marja Hölttä
06f556d899 [in-place weak refs] Replace Heap::script_list with a WeakArrayList.
BUG=v8:7308

Change-Id: Idd527fc2a2f5bde635441a511e424a83558ab969
Reviewed-on: https://chromium-review.googlesource.com/1143467
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54635}
2018-07-24 10:29:18 +00:00
Théotime Grohens
8d1b5ccf48 [cleanup][dataview] Refactor some DataView methods in Torque
This CL simplifies the Torque code for DataView getters by matching
the setters implementation whenever possible.

Change-Id: I8acf9ddc7a531043abb27105b61199c91f209d27
Reviewed-on: https://chromium-review.googlesource.com/1146920
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Théotime Grohens <theotime@google.com>
Cr-Commit-Position: refs/heads/master@{#54634}
2018-07-24 09:56:57 +00:00
Michael Achenbach
2acc4d440b [test] Add reusable negative-test output processor
Bug: chromium:846711
Change-Id: Ic51e31a48106e495c3dc7d75ef4c97fa82071a64
Reviewed-on: https://chromium-review.googlesource.com/1148057
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54633}
2018-07-24 09:50:18 +00:00
Marja Hölttä
39d2ab58ce [tests] Mark debug/es6/debug-scope-default-param-with-eval as CRASH
It indexes a FixedArray out of bounds, accessing an arbitrary object which
happens to be in that location. Now the object can also be an in-place weak ref,
which will cause a crash when trying to use it.

BUG=v8:5651

Change-Id: I73e4169e573ecb23e383970d7db336be08f5903c
Reviewed-on: https://chromium-review.googlesource.com/1148055
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54632}
2018-07-24 09:45:57 +00:00
Leszek Swirski
40c8184346 [cleanup] Use ZoneChunkList in the parser
Replace most uses of ZoneList in the parser with ZoneChunkList, which is
more Zone allocation friendly. Includes rewriting some index-based loops
as iterator-based, since ZoneChunkList random access isn't constant
time.

Bug: v8:7754
Change-Id: I49052b8afb90a4f3bfbe4076c2f90505b598e47a
Reviewed-on: https://chromium-review.googlesource.com/1145382
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54631}
2018-07-24 09:04:42 +00:00
Clemens Hammacher
bb5de1b719 [iwyu] Extend header includes blacklist
In order to make the bot green and start shrinking down the blacklist,
we first need to extend it more unfortunately.

R=marja@chromium.org

Bug: v8:7966, v8:7965
Change-Id: I44ddcceb6fe0ef572222b9635117deb15ed166d1
Reviewed-on: https://chromium-review.googlesource.com/1148050
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54630}
2018-07-24 09:01:57 +00:00
Michael Starzinger
131fb7248a [wasm] Remove Isolate from module decoder entry points.
R=ahaas@chromium.org

Change-Id: I7c6fd17f36d33451ce7605e74002515295c7ad1c
Reviewed-on: https://chromium-review.googlesource.com/1145195
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54629}
2018-07-24 08:59:32 +00:00
Tobias Tebbi
9d48eda363 [torque] explicit definitions for contextual variables
Shared library sharing of template-defined global variables is broken on
Windows. This prepares contextual variables to export their globals from
a DLL.

Change-Id: I3092a92db71c4e516218081b97335d451d90bfe2
Reviewed-on: https://chromium-review.googlesource.com/1148049
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54628}
2018-07-24 08:55:22 +00:00
Benedikt Meurer
76c132def4 [cleanup] Audit usage of IsHoleyElementsKind in TurboFan.
Bug: v8:6922, v8:7754
Change-Id: I627832ace38e0bd2b53dc0dd6ef3a19d5e8b7ebf
Reviewed-on: https://chromium-review.googlesource.com/1146575
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54627}
2018-07-24 08:02:42 +00:00
jgruber
eefb5de4f5 [builtins] Wipe off-heap targets for serialization
For reproducible snapshots, we need to wipe target addresses.

Bug: v8:6666
Change-Id: Id30c3f92c342ae85e9dce677439a6f05182482cd
Reviewed-on: https://chromium-review.googlesource.com/1146653
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54626}
2018-07-24 07:36:32 +00:00
Sathya Gunasekaran
1f5ab93600 [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}
2018-07-24 07:05:31 +00:00
Sergiy Byelozyorov
1c940086c3 [tools] Add CQ config for header include trybot
R=machenbach@chromium.org

No-Try: true
No-Tree-Checks: true
Bug: v8:7966
Change-Id: I662a693a2c2334113093fa0d3730ce71712f7cc8
Reviewed-on: https://chromium-review.googlesource.com/1148043
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54624}
2018-07-24 06:47:32 +00:00
Sergiy Byelozyorov
b458771e9a [tools] Add MB configs for header include bots
R=machenbach@chromium.org

Bug: v8:7966
Change-Id: I0f1b09f3aeb7f842aafb73f288a7626c7ff88ae5
Reviewed-on: https://chromium-review.googlesource.com/1146758
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54623}
2018-07-24 06:24:52 +00:00
v8-ci-autoroll-builder
04d8053640 Update V8 DEPS.
Rolling v8/build: 181a988..d1e53db

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/9e8a0b2..6a1002b

Rolling v8/third_party/depot_tools: 7e3c67f..6ec6d27

Rolling v8/third_party/icu: a9a2bd3..297a4dd

Rolling v8/tools/swarming_client: 9a518d0..486c9b5

TBR=machenbach@chromium.org,hablich@chromium.org,sergiyb@chromium.org

Change-Id: I09585c5a939b1befbe0e723399700d4853b2dc85
Reviewed-on: https://chromium-review.googlesource.com/1147877
Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#54622}
2018-07-24 04:22:02 +00:00
Kanghua Yu
082aa5fc4a [embedded-builtins] [cros] Place embedded builtins in huge page text
On ChromeOS platform, transparent hugepage text is enabled by default.
This CL places embedded builtins into the hugepage text area to reduce ITLB miss.

Bug: v8:6666
Change-Id: I09f1734b02d644658a31e2d3c22c2319be12b79f
Reviewed-on: https://chromium-review.googlesource.com/1122156
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Kanghua Yu <kanghua.yu@intel.com>
Cr-Commit-Position: refs/heads/master@{#54621}
2018-07-24 01:21:12 +00:00
Deepti Gandluri
f25848800f [ia32] Add cmpxchg8b instruction
Bug: v8:6532
Change-Id: I0871aaafff2385758449ddde923178d1c9e1ff8a
Reviewed-on: https://chromium-review.googlesource.com/1146998
Reviewed-by: Bill Budge <bbudge@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54620}
2018-07-23 19:21:40 +00:00
Bill Budge
00617dd9dc [platform] OS::SetPermissions shouldn't fail if memory isn't reclaimed
- Changes POSIX version of OS::SetPermissions to ignore the result of
  ReclaimInaccessibleMemory instead of returning it as the result.

Bug: v8:7923
Change-Id: I70f4b81f6ccada997e2da4d4a521ffe069260bec
Reviewed-on: https://chromium-review.googlesource.com/1140678
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Bill Budge <bbudge@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54619}
2018-07-23 17:59:50 +00:00
Georg Neis
8994347c35 [turbofan] Prepare broker for serialization.
We'll soon start collecting data from the JS heap prior to the typed
lowering pass, and then refrain from reading the heap in that pass.
This CL prepares the broker machinery by introducing a hash table that
maps an object (handle) to the corresponding cached data. For the time
being, that cached data is essentially just the handle itself.

Bug: v8:7790
Change-Id: I830e9c72faafb7ae1d10e8a111636b3a3762bbc6
Reviewed-on: https://chromium-review.googlesource.com/1143405
Commit-Queue: Georg Neis <neis@chromium.org>
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54618}
2018-07-23 17:20:49 +00:00
Stephan Herhut
7ead0c146e [cleanup] Move handle() function to handles-inl.h
This moves the static handle() helper function to handles-inl.h as
it ultimately depends on handles-inl.h anyway. To make this
possible, also move some other code to -inl.h files and split up
some header files into a -inl.h part.

Bug: v8:7490
Change-Id: I0f68e0728ba082b87ffa911aaf205d9b1523d2c9
Reviewed-on: https://chromium-review.googlesource.com/1146723
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54617}
2018-07-23 16:10:10 +00:00
Stephan Herhut
6d25cab2c8 [cleanup] Split off api-inl.h from api.h to make latter self contained
api.h had an implicit dependency on objects-inl.h.

Bug: v8:7490
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng;luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I56ef7abefed7205bdbff2aa5f451f1a843bef9f9
Reviewed-on: https://chromium-review.googlesource.com/1145191
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Stephan Herhut <herhut@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54616}
2018-07-23 16:03:49 +00:00
Théotime Grohens
fe45ddcc14 [dataview] Improve exception error messages
This CL makes the unoptimized DataView getter and setter methods
output the right function name when throwing an exception,
instead of a generic one.

It also contains a little drive-by cleanup of the Torque code
to keep it up to date with the language.

Change-Id: I10eb37090a0206172e470b5958af6a5968f3836f
Reviewed-on: https://chromium-review.googlesource.com/1146570
Commit-Queue: Théotime Grohens <theotime@google.com>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54615}
2018-07-23 15:45:09 +00:00
Jaroslav Sevcik
485e0cee39 [turbofan] Introduce heap copying pass (under flag).
Bug: v8:7790
Change-Id: Ic39751e4509bc4d3280e1ae03162af5a97de7deb
Reviewed-on: https://chromium-review.googlesource.com/1146807
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54614}
2018-07-23 15:29:59 +00:00
Ross McIlroy
e6ca9c6761 [Cleanup] Avoid deprecated methods in inspector/string-util.cc.
Use the new Isolate version of the methods.

BUG=v8:7754

Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Id4f10d23927d6ae50cb458b5cac744617fa83e53
Reviewed-on: https://chromium-review.googlesource.com/1145387
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54613}
2018-07-23 15:28:50 +00:00
Maya Lekova
2d0a7649e1 [async] Fix a crash when AsyncHooks is used in the proto of an object
Bug: chromium:866315
Change-Id: I83074475185c0646d575282d24679e18ec0628c7
Reviewed-on: https://chromium-review.googlesource.com/1146645
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54612}
2018-07-23 14:34:59 +00:00
Sigurd Schneider
367815ea13 Revert "Avoiding re-externalization of strings."
This reverts commit 2c4c2ad694.

Reason for revert: Speculatively revert CL, as it seems to break blink debug bots:
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064%20(dbg)/12756
https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8-Blink%20Linux%2064%20(dbg)/12764

# Fatal error in ../../v8/src/api.cc, line 5960
# Check failed: expected == value ((nil) vs. 0x176ae0f70a48).

Original change's description:
> Avoiding re-externalization of strings.
>
> Bug: chromium:845409
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> Change-Id: I75bddcf0e8879d2161486f24d1cd4e46d8fe008d
> Reviewed-on: https://chromium-review.googlesource.com/1139056
> Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54599}

TBR=ulan@chromium.org,jkummerow@chromium.org,hpayer@chromium.org,mlippautz@chromium.org,rfbpb@google.com

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

Bug: chromium:845409
Change-Id: Ie172148c0bdef71c0cf9819e63a66aec09d6888d
Reviewed-on: https://chromium-review.googlesource.com/1146582
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54611}
2018-07-23 14:25:09 +00:00
Maya Lekova
4a28271fee [async] Improve error handling when running async hooks
If an exception is thrown in instrumented async code, for instance
  await import('non-existing-module')
it should be correctly reported by the hooks that run around this code.
Also calling ToLocalChecked() on the hook result is wrong if the hook
has thrown an exception.

Bug: chromium:865892
Change-Id: I5712376fe4426a3e49223d821e4647150887a258
Reviewed-on: https://chromium-review.googlesource.com/1146561
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54610}
2018-07-23 13:34:50 +00:00
Sigurd Schneider
a2d61597ca Reland "[turbofan] Inline Number constructor in certain cases"
This is a reland of 9eca23e9ed

Adds a deopt continuation, which fixes JavaScript stack traces
to contain the number constructor after inlining.

Original change's description:
> [turbofan] Inline Number constructor in certain cases
>
> This CL adds inlining for the Number constructor if new.target is not
> present. The lowering is BigInt compatible, i.e. it converts BigInts to
> numbers.
>
> Bug: v8:7904
> Change-Id: If03b9f872d82e50b6ded7709069181c33dc44e82
> Reviewed-on: https://chromium-review.googlesource.com/1118557
> Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
> Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
> Reviewed-by: Georg Neis <neis@chromium.org>
> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54454}

Bug: v8:7904
Change-Id: Ic416e5ba81fa3a0f59ae4afa80df83c46a759487
Reviewed-on: https://chromium-review.googlesource.com/1146581
Commit-Queue: Sigurd Schneider <sigurds@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54609}
2018-07-23 13:17:19 +00:00
Dan Elphick
108bef1603 [cleanup] Fix use of deprecated Concat in d8
Use the Isolate* version of Concat.

Bug: v8:7754
Change-Id: I3d16405032ab0690c57e2ba615cac60d8fa92464
Reviewed-on: https://chromium-review.googlesource.com/1146578
Reviewed-by: Mythri Alle <mythria@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54608}
2018-07-23 10:38:10 +00:00
Ross Mcilroy
7e5905fd9c [cleanup] Replace deprecated calls to PrimitiveArray.Get/Set.
Replace with isolate versions

BUG=v8:7754

Change-Id: I69cf1e0d4cba6d68a3983c0dba346bfc1bfc9619
Reviewed-on: https://chromium-review.googlesource.com/1146182
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54607}
2018-07-23 09:45:19 +00:00
jgruber
c0766d6640 [regexp] Typify RegExpExecInternal
Bug: v8:7754
Change-Id: Ie58571682f4dff76108180e8a707159997f7abfa
Reviewed-on: https://chromium-review.googlesource.com/1145277
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54606}
2018-07-23 09:18:19 +00:00
jgruber
1f82fb5401 [builtins] Fix Code::contains for off-heap trampolines
Code::contains should return true in two cases: either the given
address is within the off-heap instruction stream, or within the
trampoline's instruction stream.

This CL fixes the second case. One effect is that code printed through
the jco gdb macro again displays the builtin name correctly when given
a trampoline pc.

Drive-by: a more efficient Builtins::Lookup for embedded builtins.

Bug: v8:6666,v8:7969
Change-Id: I54f5e5881fa2aed2546b9e62aa4b9390ad21b895
Reviewed-on: https://chromium-review.googlesource.com/1146566
Reviewed-by: Sigurd Schneider <sigurds@chromium.org>
Commit-Queue: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54605}
2018-07-23 09:10:19 +00:00
Ross Mcilroy
64e3912f10 [cleanup] Remove deprecated calls to Write[OneByte/Utf8].
Replace with isolate version.

BUG=v8:7754

Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Iac7091b983960d22b892074c5fd0a97dee9025c9
Reviewed-on: https://chromium-review.googlesource.com/1146332
Commit-Queue: Dan Elphick <delphick@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54604}
2018-07-23 09:01:08 +00:00