Commit Graph

49067 Commits

Author SHA1 Message Date
Michael Starzinger
9c6fab0711 [wasm] Move code generation fully to background task.
This moves the entire code generation phase (including code emission
into the native module) into the background task. The code manager is
fully thread safe by now and there are no Isolate-bound steps anymore.

The only step remaining on the foreground task is publishing the fully
finished code to other threads via {NativeModule::PublishCode}.

R=clemensh@chromium.org
BUG=v8:7921

Change-Id: Ia64c6ce945aabd071b26e61ef8d397fb7727a038
Reviewed-on: https://chromium-review.googlesource.com/1135004
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54425}
2018-07-13 07:53:49 +00:00
Clemens Hammacher
3255d8dd41 Reland "Fix and extend lldbinit"
This is a reland of 5b744bfbd4.
Node is fixed by this pull request:
https://github.com/v8/node/pull/75

Original change's description:
> Fix and extend lldbinit
>
> 1) Define all commands in one file.
> 2) Add logic to make 'jco' print current pc by default.
> 3) Add a comment to explain how to load the lldb_commands.py file.
> 4) Minor refactorings.
>
> R=ahaas@chromium.org
> No-Try: true
>
> Bug: v8:7754
> Change-Id: I553f2ce4cefedad05466c692a8665a570372b76a
> Reviewed-on: https://chromium-review.googlesource.com/1127892
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54329}

Bug: v8:7754
Change-Id: I8645ae07176fe6983a581dd175ed6f2b2b15d4ea
Reviewed-on: https://chromium-review.googlesource.com/1135026
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54424}
2018-07-13 07:40:19 +00:00
v8-ci-autoroll-builder
a37b78bd90 Update V8 DEPS.
Rolling v8/build: 6ff84ae..7b4d0db

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/39de3d2..8495de1

Rolling v8/third_party/depot_tools: 32e3d1e..882c91e

Rolling v8/tools/luci-go: e3d4003..7edc822

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

Change-Id: Ia175b2c08112afe5b882ca2e40ffd9cdf4c0d16b
Reviewed-on: https://chromium-review.googlesource.com/1136068
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@{#54423}
2018-07-13 03:54:55 +00:00
Johannes Henkel
383529c228 Replace usage of protocol::Hash{Set,Map} with std::unordered_{set,map}.
This is in preparation of removing the using statements that are
currently in third_party/inspector_protocol/lib/Collections_h.template.

Once this is done I can update
https://chromium-review.googlesource.com/c/deps/inspector_protocol/+/1135832
some more and eventually roll it into v8 (and chromium's third party).

R=dgozman

Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I75a7b291715f241e3b58fb97ac91a0b0ff0ca70b
Reviewed-on: https://chromium-review.googlesource.com/1135968
Commit-Queue: Johannes Henkel <johannes@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54422}
2018-07-13 00:25:43 +00:00
Junliang Yan
ec4fa06336 PPC/s390: Fix reg conflict when calling CallRuntimeWithCEntry
Change-Id: I2e0166cf99f2f9b501c82cbf27215389a3eb3092
Reviewed-on: https://chromium-review.googlesource.com/1135124
Reviewed-by: Muntasir Mallick <mmallick@ca.ibm.com>
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#54421}
2018-07-12 22:32:53 +00:00
Vasili Skurydzin
ba89da8fff s390: cleanup the disassembler by instruction formats.
Change-Id: I5d20ea5efb76a24c6569e56caf2e22638141ce95
Reviewed-on: https://chromium-review.googlesource.com/1117602
Commit-Queue: Junliang Yan <jyan@ca.ibm.com>
Reviewed-by: Junliang Yan <jyan@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#54420}
2018-07-12 18:09:04 +00:00
Rodrigo Bruno
6b4ba7412a Fix update external string call in morph string test.
Bug: chromium:845409
Change-Id: Ic9b1fa0f669c8b9a82ed91d3f348dd070fc9267f
Reviewed-on: https://chromium-review.googlesource.com/1135247
Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54419}
2018-07-12 16:14:39 +00:00
Michael Lippautz
f5e8645f5b ManualGCScope: Disable ineffective GC detection
The manual scope is usually used to test corner cases of GC behavior so
disable the ineffective GC detecton there.

Bug: v8:7859
Change-Id: I92a1e43db739846ff0db20a60cc2ace79496e5fe
Reviewed-on: https://chromium-review.googlesource.com/1135140
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54418}
2018-07-12 15:32:58 +00:00
Clemens Hammacher
53c7798c7d [Liftoff] Enable liftoff test on arm64
Since Liftoff is fully implemented on arm64, we can enable the
wasm/liftoff test.

R=ahaas@chromium.org

Bug: v8:6600
Change-Id: I901480a417a7cc438357a67b819f226e4d3b1df4
Reviewed-on: https://chromium-review.googlesource.com/1134776
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54417}
2018-07-12 15:21:38 +00:00
Maya Lekova
e3f47eda29 [turbofan] Brokerize typed lowering.
Bug: v8:7790
Change-Id: I16a2fa9c37a8b00a067f8f7fd3a87cb747233132
Reviewed-on: https://chromium-review.googlesource.com/1128968
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54416}
2018-07-12 14:32:49 +00:00
Anna Henningsen
ed0d279ed0 [platform] Work around potentially missing madvise()
Some Linux kernels are built without `madvise()`. In that
case, do not crash but rather ignore the return value instead.

Refs: https://github.com/nodejs/node/issues/21562
Change-Id: Iff8d0d0e9e7935804e2fc994be7f8bd21c553846
Reviewed-on: https://chromium-review.googlesource.com/1131943
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54415}
2018-07-12 14:29:48 +00:00
Marja Hölttä
50ae8de9d2 [iwyu] Remove unnecessary includes from parser.cc and fix problems uncovered.
api.h: MAKE_TO_LOCAL funcs need the types to be available.

scope.h, func-name-inferrer.h, bigint.h, module.h: These were using inline
headers -> de-inlined.

BUG=v8:7754,v8:7490

Change-Id: Id072f537682fb867cd68d79ca95b06628780d01f
Reviewed-on: https://chromium-review.googlesource.com/1131175
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54414}
2018-07-12 14:05:38 +00:00
Dominik Inführ
7abd2243e2 [heap] Set number of fixpoint iterations to 10
Set number of fixpoint iterations to 10 before switching to the linear
algorithm. The flag's initial default value was set to 0 to use the
linear algorithm all the time for testing purposes.

Bug: chromium:844008
Change-Id: Ib0fd6241b55468ef5be2c4cc3cc147db2d432c83
Reviewed-on: https://chromium-review.googlesource.com/1134769
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@google.com>
Cr-Commit-Position: refs/heads/master@{#54413}
2018-07-12 13:44:28 +00:00
Joyee Cheung
6ee834532d [heap-profiler] Allow embedder to specify edge names
This patch adds a variant of EmbedderGraph::AddEdge() which
allows the embedder to specify the name of an edge. The edges
added without name are element edges with auto-incremented indexes
while the edges added with names will be internal edges with
the specified names for more meaningful output in the heap
snapshot.

Refs: https://github.com/nodejs/node/pull/21741
Bug: v8:7938
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: I8feefa2cf6911743e24b3b2024e0e849b0c65cd3
Reviewed-on: https://chromium-review.googlesource.com/1133299
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54412}
2018-07-12 13:42:18 +00:00
Clemens Hammacher
9d5822a8ec [wasm] WasmGrowMemory runtime function must return Smi
The WasmGrowMemory builtin (defined in builtins-wasm-gen.cc) expects
the runtime function to return a Smi. Thus ensure that we are really
always returning a Smi.

R=mstarzinger@chromium.org

Change-Id: I153d75a2ab8773adbcce01e9aa125a234c93d077
Reviewed-on: https://chromium-review.googlesource.com/1131737
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54411}
2018-07-12 13:37:58 +00:00
Rodrigo Bruno
7bff339e7f Reland "[heap] Added External Strings to external memory accounting."
This is a reland of 5863c0b652

Original change's description:
> [heap] Added External Strings to external memory accounting.
> 
> Bug: chromium:845409
> Change-Id: I3fe2b294f6e038d77787cf0870d244ba7cc20550
> Reviewed-on: https://chromium-review.googlesource.com/1118164
> Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54110}

Bug: chromium:845409
Change-Id: Ied341ec6268000343d2a577b22f2a483460b01f5
Reviewed-on: https://chromium-review.googlesource.com/1121736
Commit-Queue: Rodrigo Bruno <rfbpb@google.com>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54410}
2018-07-12 13:19:28 +00:00
Clemens Hammacher
cbe423467c [wasm][fuzzer] Test combinations of Turbofan and Liftoff
Currently the fuzzer only tests Turbofan and Liftoff in isolation. In
order to test that both tiers use the same ABI, it should also test
calls from one tier to the other.
This CL introduces a new flag which controls which function will be
compiled by which tier, and uses that in the fuzzer.

R=ahaas@chromium.org

Bug: chromium:862931, v8:6600
Change-Id: I450b906700972cfdb496b1734faed9f8208d652f
Reviewed-on: https://chromium-review.googlesource.com/1134775
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54409}
2018-07-12 12:56:30 +00:00
Peter Marshall
a0dbaf590a [runtime] Allow FeedbackMetadata objects in old space for verification
When we changed FeedbackMetadata to be it's own type instead of a
subtype of FixedArray, we missed this check for valid objects in old
space. This restores the old behavior during verification.

Bug: chromium:862433
Change-Id: Icdb144df4aebc0c6d78a28405c7f53e40b2e1376
Reviewed-on: https://chromium-review.googlesource.com/1134995
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54408}
2018-07-12 12:55:28 +00:00
Dan Elphick
d622ff90b6 [explicit isolates] Remove GetIsolate from HashTable/HashSets
Bug: v8:7786
Change-Id: If9615f5dffc40937f9f35a209730d530be6b424b
Reviewed-on: https://chromium-review.googlesource.com/1134986
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54407}
2018-07-12 12:47:48 +00:00
Clemens Hammacher
dad67377c3 [wasm] "Vectorize" fuzzer
Instead of passing {uint8_t*, size_t} pairs as arguments, pass
{Vector<uint8_t>}. This is less error prone and {Vector} provides some
helpful methods.

R=ahaas@chromium.org

Bug: v8:7754
Change-Id: I7469054774618e0bd5c9d38501759b1b2c51d104
Reviewed-on: https://chromium-review.googlesource.com/1134773
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54406}
2018-07-12 12:44:39 +00:00
Jungshik Shin
035581301d Fix GetOption per Ecma 402 #sec-getoption
getGetoption() in intl.js misimplemented Ecma 402 #sec-getoption by
calling options[property] twice, once to check if it's defined
and the second time to retrieve the value when it's defined.

Bug: v8:7869
Test: test262/intl402/RelativeTimeFormat/con*/cons*/option*order
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I6d585767232c9f4c0252e65e2891c813db3da641
Reviewed-on: https://chromium-review.googlesource.com/1128444
Commit-Queue: Jungshik Shin <jshin@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54405}
2018-07-12 12:41:58 +00:00
Clemens Hammacher
a119f9cac3 [wasm] Refactor SignatureMap to use unordered_map
An unordered_map typically provides better performance. Instead of a
compare function, we now need a hash function and equality defined on
{Signature<T>}.

R=mstarzinger@chromium.org

Bug: chromium:862123
Change-Id: Iba71030f91949d7453740c884de1d8a4f921c618
Reviewed-on: https://chromium-review.googlesource.com/1131182
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54404}
2018-07-12 12:34:28 +00:00
Michael Starzinger
1334b2bddc [turbofan] Make {JumpThreading} independent of Isolate.
R=clemensh@chromium.org

Change-Id: I1045885ad1efe2b1dd7a9e2b83d1f5323e77dcbb
Reviewed-on: https://chromium-review.googlesource.com/1134988
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54403}
2018-07-12 12:00:47 +00:00
Andreas Haas
b6c4508ce4 [wasm] Remove the ref.eq instruction again
The instruction got removed from the proposal.

R=titzer@chromium.org

Bug: v8:7581
Change-Id: I3e27bad923544896ebf6ab8969e5c365a397f6c9
Reviewed-on: https://chromium-review.googlesource.com/1128754
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54402}
2018-07-12 11:36:17 +00:00
Leszek Swirski
13b899a5f9 [cleanup] Remove Isolate parameter from object print
With ReadOnlyRoots and GetIsolate on JSReceiver, we can remove almost
every isolate parameter from <Object>::Print. The remaining ones, like
Map, are special-caseable for read-only maps, and as a result we can
remove isolate parameters from <Object>::Print entirely.

This patch also opportunistically cleans up a few places where isolates
were only needed for Object::Print, such as TransitionAccessors and
DescriptorArrays.

TBR=yangguo@chromium.org,mstarzinger@chromium.org

Bug: v8:7786
Change-Id: Id44bd53b9893e679eea5f37b9548257595a1bfd9
Reviewed-on: https://chromium-review.googlesource.com/1133385
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Dan Elphick <delphick@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54401}
2018-07-12 11:31:57 +00:00
Andreas Haas
4ef8ed7191 [wasm][anyref] Allow element section entries for multiple tables
With the introduction of multiple tables the element section is able to
initialize any of the defined tables. However, the spec says that only
tables of type AnyFunc can be initialized.

With this CL we validate that entries in the element section only
target AnyFunc tables.

R=titzer@chromium.org

Bug: v8:7581
Change-Id: Ifea383b13c91f582813b2aa4f01a5f724575cfa0
Reviewed-on: https://chromium-review.googlesource.com/1130519
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54400}
2018-07-12 10:57:32 +00:00
Marja Hölttä
c6effdbba9 [objects.h splitting] Move PrototypeInfo.
BUG=v8:7754,v8:5402

Change-Id: Iccbf453e6b27e4e2604bd3f074882bf864e01070
Reviewed-on: https://chromium-review.googlesource.com/1131129
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54399}
2018-07-12 10:56:27 +00:00
Maya Lekova
d20c14149c Revert "[heap] Cleanup: Use std::atomic<T> instead of base::AtomicValue<T> in heap/*."
This reverts commit 770ace0779.

Reason for revert: Breaking the V8 Arm and V8 Arm - debug builds https://ci.chromium.org/p/v8/builders/luci.v8.ci/V8%20Arm%20-%20debug/7260

Original change's description:
> [heap] Cleanup: Use std::atomic<T> instead of base::AtomicValue<T> in heap/*.
> 
> Bug: chromium:842083
> Change-Id: Idc04f9ddea326df4ac48a8c58321620660b21549
> Reviewed-on: https://chromium-review.googlesource.com/1129520
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Hannes Payer <hpayer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#54389}

TBR=ulan@chromium.org,hpayer@chromium.org,mlippautz@chromium.org

Change-Id: I108bc5386ea825c2700f9b830b85a1ca8c10bf4b
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:842083
Reviewed-on: https://chromium-review.googlesource.com/1134966
Reviewed-by: Maya Lekova <mslekova@chromium.org>
Commit-Queue: Maya Lekova <mslekova@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54398}
2018-07-12 10:55:08 +00:00
Toon Verwaest
ae044d697f [scanner] Fix scanner stream creation: Sliced strings can have an underlying thin string.
Bug: chromium:862538
Change-Id: I13a6886f78ee88ca7c69feb0abda6b149a1e423e
Reviewed-on: https://chromium-review.googlesource.com/1133980
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54397}
2018-07-12 10:32:47 +00:00
Marja Hölttä
eb98d5c5c6 [heap] Remove obsolete left trimming code + comments.
Follow-up to r54219 ( https://chromium-review.googlesource.com/1124450 )

They're relevant if we also iterate the heap and check there are no pointers to
the original FixedArrayBase, but in the landed version of that CL we don't do
that.

BUG=chromium:859809

Change-Id: Iffd8b76e74b6690cde961d4c542cb16ddd934f33
Reviewed-on: https://chromium-review.googlesource.com/1131123
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54396}
2018-07-12 09:46:27 +00:00
Dan Elphick
df58ce22bc [explicit isolates] Eliminate GetIsolate from String
Uses Heap::FromWritableHeapObject where the object must be mutable and
otherwise pass Isolate in. String and subclasses should now be free of
GetIsolate/GetHeap.

Bug: v8:7786
Change-Id: Ic9d55250ea4afebbebda87be9415ccdaa4fc8779
Reviewed-on: https://chromium-review.googlesource.com/1131736
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54395}
2018-07-12 09:25:37 +00:00
Dan Elphick
a07519a55f [cleanup] Delete unused method in DescriptorArray
Happily this also removes a use of GetIsolate().

Also delete Descriptor::Init which is no longer needed and some friend
declarations.

Bug: v8:7786
Change-Id: Ica803ef6c8963b38aef72121ff4fb737c9780920
Reviewed-on: https://chromium-review.googlesource.com/1133982
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54394}
2018-07-12 09:07:37 +00:00
Andreas Haas
7971f9d6f7 [wasm] Prepare API changes for WebAssembly.instantiateStreaming
This is the first CL to refactor WebAssembly.instantiateStreaming to
make it spec compliant again. The design doc where the whole change is
discussed is available in the tracking bug. The tracking bug also
references prototype implementations of the whole change, which includes
the changes in this CL.

Tests for the new API functions will be added with the second V8 CL
which adds the implementation of the API functions.

R=ulan@chromium.org

Bug: chromium:860637
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Ia1048b7ca0291c824ef4212ebde2c6054e102069
Reviewed-on: https://chromium-review.googlesource.com/1127667
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54393}
2018-07-12 09:06:28 +00:00
Clemens Hammacher
50509a9b4f [wasm] Also print absolute PC for wasm frames
On {Isolate::PrintStack}, we currently only print the pc offset for
wasm compiled frame. This CL changes this to also print the absolute PC.

R=ahaas@chromium.org

Change-Id: Ic72b7ad140ef74d2f284fdd8827b858cc78cf1c0
Reviewed-on: https://chromium-review.googlesource.com/1133985
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54392}
2018-07-12 09:03:27 +00:00
Michael Lippautz
39ee93f0bd [unified-heap] Preserve flags when forcing finalization
Preserve flags for GC finalization triggered by EmbedderHeapTracer.

Bug: chromium:843903
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Ie3d039bc1b69771ce9830dddb5e4d4375581981f
Reviewed-on: https://chromium-review.googlesource.com/1134766
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54391}
2018-07-12 08:47:49 +00:00
Dan Elphick
58ead42b9d [explicit isolates] Make IsKey and IsLive use ReadOnlyRoots
Converts the Shape functions IsKey and IsLive to take ReadOnlyRoots
rather Isolate. This allows HashTableBase::FindEntry and
ObjectHashTableBase::Lookup to also take ReadOnlyRoots rather than
Isolate.

Bug: v8:7786
Change-Id: I37efea1d20139f394d6365569438755cb8fc44c4
Reviewed-on: https://chromium-review.googlesource.com/1133391
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54390}
2018-07-12 08:45:37 +00:00
Hannes Payer
770ace0779 [heap] Cleanup: Use std::atomic<T> instead of base::AtomicValue<T> in heap/*.
Bug: chromium:842083
Change-Id: Idc04f9ddea326df4ac48a8c58321620660b21549
Reviewed-on: https://chromium-review.googlesource.com/1129520
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54389}
2018-07-12 08:20:12 +00:00
Hannes Payer
bb3b74eabe Retire AtomicNumber.
Bug: chromium:842083
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I9a8d8327bfbab95cf9bdddb096804b65270cdfed
Reviewed-on: https://chromium-review.googlesource.com/1127944
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54388}
2018-07-12 08:17:57 +00:00
Dan Elphick
60aa28ec99 [explicit isolates] Add Isolate to Oddball::ToNumber
Bug: v8:7786
Change-Id: Ifb866cbb2d02f1231b3706358930e0ace54b0db0
Reviewed-on: https://chromium-review.googlesource.com/1133158
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54387}
2018-07-12 08:12:46 +00:00
John Barboza
d9e78322d0 fix gn builds on aix
Change-Id: I60aed7bf8207703fa6ceddb6165e173e68b5ff5f
Reviewed-on: https://chromium-review.googlesource.com/1103533
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54386}
2018-07-12 07:28:36 +00:00
Hannes Payer
49dbb39382 Cleanup: Use std::atomic<T> instead of base::AtomicNumber<T> in TaskRunner.
Bug: chromium:842083
Cq-Include-Trybots: luci.chromium.try:linux_chromium_headless_rel;master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I6b3f60526718f782b075bd450282646d97f6f9b5
Reviewed-on: https://chromium-review.googlesource.com/1131124
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54385}
2018-07-12 07:22:06 +00:00
Dominik Inführ
bf553836f2 [heap] Remove GotoIfNotBlack
Was only used when concurrent marking was disabled at compile-time.

Change-Id: I3977a2cbcfb27e527b2bca4b49887558595c4215
Reviewed-on: https://chromium-review.googlesource.com/1128959
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Dominik Inführ <dinfuehr@google.com>
Cr-Commit-Position: refs/heads/master@{#54384}
2018-07-12 06:42:26 +00:00
v8-ci-autoroll-builder
c2bbbb4216 Update V8 DEPS.
Rolling v8/build: 11ac8d7..6ff84ae

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/345d332..39de3d2

Rolling v8/third_party/depot_tools: c3975e5..32e3d1e

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

Change-Id: I4a57a4ebfa818a19e9057d4c3746087acaf89645
Reviewed-on: https://chromium-review.googlesource.com/1134593
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@{#54383}
2018-07-12 03:53:36 +00:00
Frank Tang
f8036e0a28 [Intl] Add ResourceBundle and RelativeDateTimeFormatter to GetAvailableLocales
R=bstell@chromium.org, cira@chromium.org, yangguo@chromium.org

Bug: v8:7869
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: Ia7176016ecd6da317b3b0eb7af7bf482f99c8129
Reviewed-on: https://chromium-review.googlesource.com/1121657
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@{#54382}
2018-07-12 02:14:25 +00:00
Brian Stell
652acb782d [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}
2018-07-11 19:44:15 +00:00
Leszek Swirski
559dc18336 [parser] Move some PPSD sanity checks to debug (reland)
Move some of PreParsedScopeData's santity checks, such as the magic
value separating skippable function data from scope data, to be debug
only, to save memory.

Start position of inner skippable functions is still kept, because it's
too good at catching bugs, but we may want to remove it in the future
as well.

Relanding unchanged after the (unrelated) flake it exposed is fixed in:
https://chromium-review.googlesource.com/1131503

Bug: chromium:818642
Change-Id: Id1d9fe757875cd05ea9a92b41e7256c3ee86fc8e
Reviewed-on: https://chromium-review.googlesource.com/1131505
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54380}
2018-07-11 13:50:23 +00:00
Leszek Swirski
e39b90f65d [modules] Make exported variable indices stable
A module's exported variables are assigned a cell index based on their
order in the exported variable map. This map is keyed by the variable
name, an AstRawString*.

Unfortunately, these string pointers are not guaranteed to increase
monotonically as variables are encountered, which means that this map
isn't stable across parses. In particular, it can cause failures for
setVariableValue if the parser is unlucky.

This patch adds a custom comparator to these AstRawString* keyed maps,
which is stable across parses.

Change-Id: Ie6e88fc2d252d873de661d7fc5278feba3955727
Reviewed-on: https://chromium-review.googlesource.com/1131503
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54379}
2018-07-11 13:07:40 +00:00
Michael Lippautz
8de19ddbcf [unified-heap] Add finalization trigger
Allows embedders using the EmbedderHeapTracer to synchronously finalize
an already running garbage collection

Bug: chromium:843903
Tbr: ulan@chromium.org
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Change-Id: Iea01451ea2c1204c34dc7904732abae6b63e1704
Reviewed-on: https://chromium-review.googlesource.com/1128971
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54378}
2018-07-11 12:25:40 +00:00
v8-ci-autoroll-builder
0454f94bf1 Update V8 DEPS.
Rolling v8/build: 9b4b413..11ac8d7

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/0c92958..345d332

Rolling v8/tools/clang: 2024df9..e9cc24f

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

Change-Id: Ie9af862f1196d6f2ee2d7b12264c171ae715fd07
Reviewed-on: https://chromium-review.googlesource.com/1133119
Reviewed-by: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Commit-Queue: V8 Autoroller <v8-ci-autoroll-builder@chops-service-accounts.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#54377}
2018-07-11 12:17:30 +00:00
Jungshik Shin
d9f4c84fa4 Roll ICU to ICU 62.1
See
  https://chromium-review.googlesource.com/c/chromium/deps/icu/+/1128503
for ICU changes.

Fix tests for ICU 61/Unicode 11/CLDR 33.1

* Update mjsunit/harmony/regexp-property-script-extensions.js per
  ScriptExtensions.txt in Unicode 11
* Update mjsunit/intl-numberformat-formattoparts.js for CLDR 33.1
* Mark an invalid Mozilla test (Georgian uppercasing)
* Fix currency format test (U+00A0 instead of U+0020)
* Enable Script_Extensions tests (test262)
* Add support for Extended_Pictographic in regex

Ref. https://github.com/tc39/ecma262/issues/1219.

Bug: chromium:850334, v8:7825
Test: intl/*, test262/intl402/*
Cq-Include-Trybots: luci.v8.try:v8_linux_noi18n_rel_ng
Change-Id: I146080cdc1164db4a71f484918723cf302666df8
Reviewed-on: https://chromium-review.googlesource.com/1111857
Reviewed-by: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#54376}
2018-07-11 10:24:26 +00:00