Commit Graph

44325 Commits

Author SHA1 Message Date
Georgia Kouveli
74d339e1dc [cctest] Small refactoring of code generator tests.
This is to avoid calling AssembleTailCallBeforeGap and AssembleTailCallAfterGap
directly where possible (so making the tests less dependent on the code generator
interface when we're not directly testing it). It also makes sure that the
instruction we pass to AssembleTailCallBeforeGap and AssembleTailCallAfterGap is
indeed a tail call, with the immediate argument that specifies the stack delta.

This is to prepare for padding arguments for arm64 JSSP removal. We will need to
store padding in AssembleTailCallAfterGap, which will need the information from
a TailCall instruction.

Bug: v8:6644
Change-Id: Ia5485412a4244c7b2a133aa0541b9f8285680de4
Reviewed-on: https://chromium-review.googlesource.com/806117
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Georgia Kouveli <georgia.kouveli@arm.com>
Cr-Commit-Position: refs/heads/master@{#49833}
2017-12-04 15:53:38 +00:00
Ulan Degenbaev
d1851bba6e [tools] Update tools/callstats.* with the new background GC group.
Bug: chromium:758183
Change-Id: I6858d9a3294270dde8913b8fb1a3e80008461ff6
Reviewed-on: https://chromium-review.googlesource.com/806118
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49832}
2017-12-04 15:46:28 +00:00
Georg Neis
8d9de7ffeb [compiler] Remove dead code in CodeGenerator::BuildTranslation.
R=jarin@chromium.org

Bug: 
Change-Id: Id219fb91c4c4f40677edea6f9c04763284e14373
Reviewed-on: https://chromium-review.googlesource.com/800934
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49831}
2017-12-04 14:00:54 +00:00
Michal Majewski
68c5d01ad6 Reland "Reland "[test] Creating command before execution phase.""
This is a reland of 3b06511052
Original change's description:
> Reland "[test] Creating command before execution phase."
> 
> This is a reland of 98cc9e862f
> Original change's description:
> > [test] Creating command before execution phase.
> > 
> > Immutable command class with shell, flags and
> > environment.
> > 
> > Command creation moved from worker to the main
> > process. Because of that there is no need to send
> > test cases beyond process boundaries and load test
> > suites in worker processes.
> > 
> > Bug: v8:6917
> > Change-Id: Ib6a44278095b4f7141eb9b96802fe3e8117678a6
> > Reviewed-on: https://chromium-review.googlesource.com/791710
> > Commit-Queue: Michał Majewski <majeski@google.com>
> > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#49746}
> 
> Bug: v8:6917
> Change-Id: I49c29a8db813c47909f2cc45070ac7721a447c7a
> Reviewed-on: https://chromium-review.googlesource.com/800370
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Michał Majewski <majeski@google.com>
> Cr-Commit-Position: refs/heads/master@{#49756}

Bug: v8:6917
Change-Id: Ia39010a0a0f63537ad12490dfab17897d70d4930
Reviewed-on: https://chromium-review.googlesource.com/806034
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michał Majewski <majeski@google.com>
Cr-Commit-Position: refs/heads/master@{#49830}
2017-12-04 13:40:29 +00:00
Georg Neis
fb54e570e1 Enable clang's -Wunreachable-code warning.
The motivation is to avoid bugs such as the one fixed in
https://chromium-review.googlesource.com/c/v8/v8/+/800270.

Bug: v8:7109
Change-Id: I82a55f4a78d289d00ae7bafe78b45d92bab07a6b
Reviewed-on: https://chromium-review.googlesource.com/800291
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49829}
2017-12-04 13:09:25 +00:00
Sergiy Byelozyorov
4b9f4b47fd Whitespace CL
TBR=machenbach@chromium.org

Bug: chromium:747960
Change-Id: I9a45d2eaf08443d18756116d9d3f56458417dc1d
Reviewed-on: https://chromium-review.googlesource.com/805854
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49828}
2017-12-04 11:45:20 +00:00
Michal Majewski
8a6c6f5880 Reland "Reland "[test] Creating command before execution phase.""
This is a reland of 3b06511052
Original change's description:
> Reland "[test] Creating command before execution phase."
>
> This is a reland of 98cc9e862f
> Original change's description:
> > [test] Creating command before execution phase.
> >
> > Immutable command class with shell, flags and
> > environment.
> >
> > Command creation moved from worker to the main
> > process. Because of that there is no need to send
> > test cases beyond process boundaries and load test
> > suites in worker processes.
> >
> > Bug: v8:6917
> > Change-Id: Ib6a44278095b4f7141eb9b96802fe3e8117678a6
> > Reviewed-on: https://chromium-review.googlesource.com/791710
> > Commit-Queue: Michał Majewski <majeski@google.com>
> > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#49746}
>
> Bug: v8:6917
> Change-Id: I49c29a8db813c47909f2cc45070ac7721a447c7a
> Reviewed-on: https://chromium-review.googlesource.com/800370
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Michał Majewski <majeski@google.com>
> Cr-Commit-Position: refs/heads/master@{#49756}

Bug: v8:6917
Change-Id: I981994224e493bee4c9435cb80772b6e2ad8fbb1
Reviewed-on: https://chromium-review.googlesource.com/805336
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michał Majewski <majeski@google.com>
Cr-Commit-Position: refs/heads/master@{#49827}
2017-12-04 11:42:50 +00:00
Michael Lippautz
2e4b4db0ab [heap] Untangle iterability from regular sweeping
Separates restoring iterability from sweeping a page. Since the set
of pages where iterability needs to be restored is small, it is
possible to wait and block for the task to finish if necessary.

A follow up change can now remove the fragile logic for delaying
unmapping of pages since it is guaranteed that no background task
keeps a reference to a page for restoring iterability.

Bug: chromium:791043
Change-Id: Ifba45594cc586df3c99e1bbb20a13b44c18dd9a1
Reviewed-on: https://chromium-review.googlesource.com/796419
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49826}
2017-12-04 11:39:31 +00:00
Michal Majewski
c74b7f3ac3 Remove AllSpaces iterator since it's the same as SpaceIterator.
Bug: v8:6972
Change-Id: I1dff2fac359222cb13ec7f14d59be63ffd910701
Reviewed-on: https://chromium-review.googlesource.com/801734
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michał Majewski <majeski@google.com>
Cr-Commit-Position: refs/heads/master@{#49825}
2017-12-04 11:32:50 +00:00
Camillo Bruni
5275c3c41c [api] Mark SetNamedPropertyHandler as soon to be deprecated
Eventually we should migrate to new new-style callbacks which take Names
instead of Strings as first arguments everywhere. Internally we don't really
handler NamedPropertyCallbackXX differently from the newer
GenericNamedPropertyCallbackXX.

Bug: v8:7109
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I827182f447427c222d5144f1a3e27bf543226e51
Reviewed-on: https://chromium-review.googlesource.com/803340
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49824}
2017-12-04 11:06:50 +00:00
Michal Majewski
adcd4a69f9 Function to add allocation observers to all spaces.
Bug: v8:6972
Change-Id: I3f5f2d5ebba3eaddd9e5390b7f299cdbc192ba6e
Reviewed-on: https://chromium-review.googlesource.com/801714
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michał Majewski <majeski@google.com>
Cr-Commit-Position: refs/heads/master@{#49823}
2017-12-04 10:55:33 +00:00
Pierre Langlois
77021584fe [arm64] Generate TBNZ for 32-bit '(x & (1 << N)) == (1 << N)'
Add support for matching '(x & mask) == mask' when mask has a single bit set,
and translate this into a tbnz instruction. This patch only does this for 32-bit
operations, we can port it to 64-bit operations as a follow-up if we find
matches.

This transformation mostly touches the snapshot where we get ~120 hits. This pattern can
also show up in JavaScript when introduced by the EffectControlLinearizer pass.

Bug: 
Change-Id: Ib37c6e0bd3831b7c17709357b00ca53735621605
Reviewed-on: https://chromium-review.googlesource.com/803272
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Pierre Langlois <pierre.langlois@arm.com>
Cr-Commit-Position: refs/heads/master@{#49822}
2017-12-04 10:23:25 +00:00
Jaroslav Sevcik
e71b802279 [deoptimizer] Staged materialization of objects.
The existing object materialization in the deoptimizer has the following problems:

- Objects do not necessarily verify during materialization (because during the
  depth first walk we might have inconsistent objects).

- Stack can overflow (because we just materialize using recursive calls).

- We generalize object fields.


This CL re-implements the materialization algorithm to solve this problem. The
new implementation creates the objects in two steps:

1. We allocate space for all the objects. In general, we allocate ByteArrays
   of the right size. For leaf objects that cannot participate in cycles,
   we build and initialize the materialized objects completely.

   For JS objects, we insert markers into the byte array at the positions
   where unboxed doubles are expected.

2. We initialize all the objects with the proper field values and change the
   map from the ByteArray map to the correct map. This requires some sync
   with the concurrent marker (Heap::NotifyObjectLayoutChange).

   When initializing the JS object fields, we make sure that we respect
   the unboxed double marker.

Bug: chromium:770106, v8:3836
Change-Id: I1ec466a9d19db9538df4ba915516d4c3ca825632
Reviewed-on: https://chromium-review.googlesource.com/777559
Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49821}
2017-12-04 09:23:03 +00:00
Clemens Hammacher
ba0a34a124 [wasm] [cleanup] Pass unique_ptr by value
According to the style guide, we pass unique_ptr by value, or by
reference in rare cases, but never by rvalue reference.

R=ahaas@chromium.org

Bug: v8:7109
Change-Id: I6cfdb8b61fada532ce334e2da419598085a2b408
Reviewed-on: https://chromium-review.googlesource.com/803716
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49820}
2017-12-04 09:18:43 +00:00
Andreas Haas
d3dc8b32cd [wasm] Update spec tests
R=bradnelson@chromium.org

Change-Id: I100f33a7c0da2f86aea78cf645b7a784a920596b
Reviewed-on: https://chromium-review.googlesource.com/805241
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Brad Nelson <bradnelson@chromium.org>
Reviewed-by: Brad Nelson <bradnelson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49819}
2017-12-04 09:09:54 +00:00
Andreas Haas
96ece3f8a0 [cleanup][wasm] Use ArrayVector in streaming-decoder-unittests.cc
Bug: v8:7109
Change-Id: Id71f85a38e6c4f37176e1a70bf5c1e584ee08c56
Reviewed-on: https://chromium-review.googlesource.com/803345
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49818}
2017-12-04 09:01:04 +00:00
Andreas Haas
08ded3735f [cleanup] Move d8 mjsunit tests into the d8 directory
Since we have this d8 directory now, we can also use it.

R=machenbach@chromium.org

Bug: v8:7109
Change-Id: I595ceb30e1c9350ad00d5cfaf998e40294602103
Reviewed-on: https://chromium-review.googlesource.com/803214
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49817}
2017-12-04 08:59:44 +00:00
Sergiy Byelozyorov
d4c4a93248 [tools] Whitespace CL after migrating builders to LUCI
TBR=machenbach@chromium.org

Bug: chromium:748036, chromium:748038, chromium:748124
Change-Id: Iec59098bf0687a89dd967d12d03e6d4e08293780
Reviewed-on: https://chromium-review.googlesource.com/805236
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49816}
2017-12-03 14:21:12 +00:00
Sergiy Byelozyorov
e62cda2c14 [tools] Migrate 3 more builders to LUCI
TBR=machenbach@chromium.org

No-Try: true
Bug: chromium:748036, chromium:748038, chromium:748124
Change-Id: I0102446623110a67655c4d119968c64afd879280
Reviewed-on: https://chromium-review.googlesource.com/805235
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49815}
2017-12-03 13:50:39 +00:00
Sergiy Byelozyorov
d161e0c92e Revert "Migrate two more builders to LUCI"
This reverts commit 0996c9f5dc.

Reason for revert: new config is invalid

Original change's description:
> Migrate two more builders to LUCI
> 
> R=​machenbach@chromium.org
> 
> No-Try: true
> No-Presubmit: true
> Bug: chromium:748000, chromium:748124
> Change-Id: Ief457560503f56b72e7d7c0135b499a01de0b8c1
> Reviewed-on: https://chromium-review.googlesource.com/803296
> Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49813}

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

Change-Id: I251581ba9302972e51efa677c2993eb7dc2c7b3a
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:748000, chromium:748124
Reviewed-on: https://chromium-review.googlesource.com/805314
Reviewed-by: Sergiy Byelozyorov <sergiyb@chromium.org>
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49814}
2017-12-02 16:59:38 +00:00
Sergiy Byelozyorov
0996c9f5dc Migrate two more builders to LUCI
R=machenbach@chromium.org

No-Try: true
No-Presubmit: true
Bug: chromium:748000, chromium:748124
Change-Id: Ief457560503f56b72e7d7c0135b499a01de0b8c1
Reviewed-on: https://chromium-review.googlesource.com/803296
Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49813}
2017-12-02 16:52:07 +00:00
Georg Neis
25c57e7877 [parsing] Update the comment on BuildUnaryExpression.
R=adamk@chromium.org

Bug: 
Change-Id: Ic5668ba70065c7315c354b9921b3c493080da2a7
Reviewed-on: https://chromium-review.googlesource.com/803254
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49812}
2017-12-02 10:08:55 +00:00
v8-autoroll
c53f4f6968 Update V8 DEPS.
Rolling v8/build: a7ac13d..19d97ed

Rolling v8/third_party/catapult: https://chromium.googlesource.com/catapult/+log/280aff0..c796cbc

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

Change-Id: I5ff5f02b6186adcd17d06e9873df4f4d7a72b8a4
Reviewed-on: https://chromium-review.googlesource.com/804863
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49811}
2017-12-02 04:48:00 +00:00
Mathias Bynens
822be9b238 Normalize casing of hexadecimal digits
This patch normalizes the casing of hexadecimal digits in escape
sequences of the form `\xNN` and integer literals of the form
`0xNNNN`.

Previously, the V8 code base used an inconsistent mixture of uppercase
and lowercase.

Google’s C++ style guide uses uppercase in its examples:
https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters

Moreover, uppercase letters more clearly stand out from the lowercase
`x` (or `u`) characters at the start, as well as lowercase letters
elsewhere in strings.

BUG=v8:7109
TBR=marja@chromium.org,titzer@chromium.org,mtrofin@chromium.org,mstarzinger@chromium.org,rossberg@chromium.org,yangguo@chromium.org,mlippautz@chromium.org
NOPRESUBMIT=true

Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I790e21c25d96ad5d95c8229724eb45d2aa9e22d6
Reviewed-on: https://chromium-review.googlesource.com/804294
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49810}
2017-12-02 01:24:40 +00:00
Mircea Trofin
541c2ebeff [wasm] Small cleanup after WasmCodeManager stitching change
The deleted lines are unnecessary, but somehow still managed
to make their way in.

Bug: 
Change-Id: If86b7e773af3149e18de59caecbf03d4558a313c
Reviewed-on: https://chromium-review.googlesource.com/804822
Reviewed-by: Eric Holk <eholk@chromium.org>
Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49809}
2017-12-02 00:34:10 +00:00
Alexey Kozyatinskiy
63b73349cb [inspector] removed warning suppression from BUILD.gn
All these warnings were fixed long time ago.

TBR=dgozman@chromium.org

Bug: none
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I066136ce685f95d07b7cbbb4efa8255f5aeaf1a8
Reviewed-on: https://chromium-review.googlesource.com/804816
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49808}
2017-12-02 00:28:29 +00:00
Deepti Gandluri
ec8e7e65b0 [wasm] Add Atomic Load, Store Ops to the interpreter
Bug: v8:6532
Change-Id: I2ae9c2a2d2b6a02826a50cd150cb8008841f55e4
Reviewed-on: https://chromium-review.googlesource.com/804212
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Reviewed-by: Eric Holk <eholk@chromium.org>
Reviewed-by: Ben Smith <binji@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49807}
2017-12-01 23:03:02 +00:00
Eric Holk
6c830b4822 [wasm cleanup] Use const in more places
Bug: v8:7109
Change-Id: Ia29472641c9906433749d55269e15a32c8984355
Reviewed-on: https://chromium-review.googlesource.com/804213
Reviewed-by: Mircea Trofin <mtrofin@chromium.org>
Commit-Queue: Eric Holk <eholk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49806}
2017-12-01 21:11:20 +00:00
Michael Achenbach
d3a8dec257 Revert "Reland "[test] Creating command before execution phase.""
This reverts commit 3b06511052.

Reason for revert: Broke fuzzers:
https://build.chromium.org/p/client.v8.clusterfuzz/builders/V8%20Deopt%20Fuzzer/builds/384

Original change's description:
> Reland "[test] Creating command before execution phase."
> 
> This is a reland of 98cc9e862f
> Original change's description:
> > [test] Creating command before execution phase.
> > 
> > Immutable command class with shell, flags and
> > environment.
> > 
> > Command creation moved from worker to the main
> > process. Because of that there is no need to send
> > test cases beyond process boundaries and load test
> > suites in worker processes.
> > 
> > Bug: v8:6917
> > Change-Id: Ib6a44278095b4f7141eb9b96802fe3e8117678a6
> > Reviewed-on: https://chromium-review.googlesource.com/791710
> > Commit-Queue: Michał Majewski <majeski@google.com>
> > Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> > Cr-Commit-Position: refs/heads/master@{#49746}
> 
> Bug: v8:6917
> Change-Id: I49c29a8db813c47909f2cc45070ac7721a447c7a
> Reviewed-on: https://chromium-review.googlesource.com/800370
> Reviewed-by: Michael Achenbach <machenbach@chromium.org>
> Commit-Queue: Michał Majewski <majeski@google.com>
> Cr-Commit-Position: refs/heads/master@{#49756}

TBR=machenbach@chromium.org,sergiyb@chromium.org,majeski@google.com

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

Bug: v8:6917
Change-Id: I4938642c4396366be1e13daf6998c4b8538b688b
Reviewed-on: https://chromium-review.googlesource.com/804254
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49805}
2017-12-01 20:44:50 +00:00
Erik Luo
d9806cec94 DevTools: also use default label for console.count
Aligns console.count() behavior with spec, which says the default label
should be "default" when the label provided is not defined.

Bug: chromium:700624
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Ie58af210d300ef3151082b23187dd18e356f5de8
Reviewed-on: https://chromium-review.googlesource.com/780620
Commit-Queue: Erik Luo <luoe@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49804}
2017-12-01 20:17:20 +00:00
Erik Luo
3cfbcc725c Do not reset timer for console.time calls with the same label
Similar to Firefox and Safari, calling console.time() repeatedly with
the same label will now produce a console warning indicating that the
label already exists.  Similarly for console.timeEnd() as well.

Bug: chromium:727514
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Id644ee107b09e7f4686fff44c5f32d31c88371ad
Reviewed-on: https://chromium-review.googlesource.com/794345
Commit-Queue: Erik Luo <luoe@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49803}
2017-12-01 19:17:30 +00:00
Clemens Hammacher
983ca7448c [Liftoff] Implement f32 values and operations
This CL adds support for f32 locals and parameters, and implements the
basic f32 binary operations.

R=titzer@chromium.org

Bug: v8:6600
Change-Id: Ia2d792dd1a6f7e97eab52a4ac49543b128fe3041
Reviewed-on: https://chromium-review.googlesource.com/796854
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49802}
2017-12-01 17:53:17 +00:00
Camillo Bruni
7e6bde909d Delete TypeFeedbackVectorInfo
Bug: v8:7109
Change-Id: I16759ac5c9e09a9df4117d84ae6de26cc2410faf
Reviewed-on: https://chromium-review.googlesource.com/803483
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49801}
2017-12-01 17:20:37 +00:00
Mircea Trofin
e0447f9972 [wasm] Flush the instruction cache on the WasmCodeManager
Flush the icache after JIT-ing using the WasmCodeManager. Also, re-enable
tests that were previously failing on Linux ARM.

Bug: v8:7138
Change-Id: I8e18b80dba58df173a2360f8ac365ee5daaf3239
Reviewed-on: https://chromium-review.googlesource.com/802961
Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49800}
2017-12-01 16:53:37 +00:00
Mathias Bynens
2b14a3f7fe Avoid octal escape sequences
Hexadecimal escape sequences of the form `\xNN` are more readable
in the context of byte values, and are preferred per Google’s C++
style guide.

https://google.github.io/styleguide/cppguide.html#Non-ASCII_Characters

BUG=v8:7109

Change-Id: I6821ccb804388d99e5601e92fc392afdf496691e
Reviewed-on: https://chromium-review.googlesource.com/803057
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49799}
2017-12-01 15:08:14 +00:00
Mathias Bynens
96e181f95c [unicode] Clean up comments
BUG=v8:7109

Change-Id: I976eeb012e5de944468f01b0676902fc82cd9604
Reviewed-on: https://chromium-review.googlesource.com/802828
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Mathias Bynens <mathias@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49798}
2017-12-01 14:50:48 +00:00
Clemens Hammacher
7cede115e7 [cleanup] Replace V8_INT64_C macro by proper C++11 syntax
Some uses use uint64_t instead of int64_t to avoid compiler warnings
about illegal narrowing of values with the MSB set.

R=tebbi@chromium.org,mlippautz@chromium.org

Bug: v8:7109
Change-Id: I6e861f48828bd931c451ef336672a260c13ae042
Reviewed-on: https://chromium-review.googlesource.com/803275
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49797}
2017-12-01 14:49:28 +00:00
Ben L. Titzer
b6ca58e57e Reland "[wasm] Gracefully handle malformed custom sections in WebAssembly.Module.customSections()."
This is a reland of 163c1c8262
Original change's description:
> [wasm] Gracefully handle malformed custom sections in WebAssembly.Module.customSections().
> 
> R=clemensh@chromium.org
> BUG=chromium:789952
> 
> Change-Id: Ida627fa6cdeacff01a0ec4d20e58281f17528010
> Reviewed-on: https://chromium-review.googlesource.com/800941
> Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
> Commit-Queue: Ben Titzer <titzer@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#49767}

Bug: chromium:789952
Change-Id: Ie17629b3fcbf2d5f78c83be2aa2a6b904a61f3ab
Reviewed-on: https://chromium-review.googlesource.com/803575
Commit-Queue: Ben L. Titzer <titzer@google.com>
Commit-Queue: Ben Titzer <titzer@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49796}
2017-12-01 14:39:57 +00:00
Marja Hölttä
0394b71379 [parser] Fix func numbering inside for in.
BUG=chromium:789764

Change-Id: I6a466660159721683c4979af32019d740094151b
Reviewed-on: https://chromium-review.googlesource.com/803217
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49795}
2017-12-01 14:12:12 +00:00
Peter Marshall
f2ad23823e [cleanup] Add CSA types to TypedArrayInitialize + WithBuffer version.
Bug: v8:7109
Change-Id: I367b3de52f03958d97b5da49987310d4af1b55f5
Reviewed-on: https://chromium-review.googlesource.com/803344
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49794}
2017-12-01 14:11:07 +00:00
Mythri
dae20b0df6 Reland "Add support to produce code cache after execute"
Adds new API function to request code cache. Earlier code cache was
produced along with compile requests. This new API allows us to request
code cache after executing. Also adds support in the code serializer to
serialize after executing the script.

Bug: chromium:783124,chromium:789694
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Id4e6a967e176e3e979dc4ccb9a37a353c70c3890
Reviewed-on: https://chromium-review.googlesource.com/797036
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Mythri Alle <mythria@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49793}
2017-12-01 14:02:47 +00:00
Marja Hölttä
e9c9322339 [objects.h splitting] Move JSCollection + related classes.
BUG=v8:5402,v8:7109

Change-Id: Ifee03125d8894181acffc7ed9c6bda44e3939d2d
Reviewed-on: https://chromium-review.googlesource.com/803336
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49792}
2017-12-01 13:52:17 +00:00
Camillo Bruni
56ca9a5a13 [printing] Print FeedbackVector similarly to other types
Change-Id: I3730443db3b6f67dd57e07f8d2f03a3b34a6b0a7
Reviewed-on: https://chromium-review.googlesource.com/796215
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49791}
2017-12-01 13:19:07 +00:00
Clemens Hammacher
413129be4a [cleanup] Replace V8_UINT64_C macro by proper C++11 syntax
V8_INT64_C will be cleaned up in a follow-up CL.

R=tebbi@chromium.org,mlippautz@chromium.org

Bug: v8:7109
Change-Id: I6af97e7266039eb443896b404b77b8e2b5de5adb
Reviewed-on: https://chromium-review.googlesource.com/803294
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49790}
2017-12-01 13:13:37 +00:00
Marja Hölttä
2b1f79881c [objects.h splitting] Move leftover functions out of objects-inl.h
These should've been moved earlier but were left behind.

BUG=v8:5402,v8:7109

Change-Id: I9736da35f1ef89628c987c33eed40a07aa266bea
Reviewed-on: https://chromium-review.googlesource.com/803375
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49789}
2017-12-01 12:54:37 +00:00
Sathya Gunasekaran
bd839c551b [class] Fix typo in test
Reported by @ziyunfei here:
https://twitter.com/ziyunfei/status/936524009528811520

Bug: v8:5367
Change-Id: I2b1bb43dff86f35dec824e275740fce4f0c97b2e
Reviewed-on: https://chromium-review.googlesource.com/802877
Reviewed-by: Georg Neis <neis@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49788}
2017-12-01 12:47:47 +00:00
Marja Hölttä
7f031160d7 [objects.h splitting] Move FixedArray & co.
BUG=v8:5402,v8:7109

Change-Id: Ief9bea58e4dcade4cf4dfbb1d52166b7a5ef3ac0
Reviewed-on: https://chromium-review.googlesource.com/803255
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49787}
2017-12-01 12:40:37 +00:00
Ali Ijaz Sheikh
1c819ae034 Reland "[heap] minor cleanup in allocation observer code"
This is a reland of 86da38fd58
Original change's description:
> [heap] minor cleanup in allocation observer code
> 
> Change-Id: If0bec38d41a415e9fbfff57ac891de0461bac13b
> Reviewed-on: https://chromium-review.googlesource.com/668836
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
> Cr-Commit-Position: refs/heads/master@{#48046}

Change-Id: If5fd9f7d123a62672d5a4450ddeac5a6e29158b8
Reviewed-on: https://chromium-review.googlesource.com/675423
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-by: Ali Ijaz Sheikh <ofrobots@google.com>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49786}
2017-12-01 12:12:24 +00:00
Martyn Capewell
c010a3819d [arm] Don't overwrite input in atomic ops
The Arm atomic operations used an input register as a temporary,
corrupting it for future uses. Fix this by adding another temporary,
the impact of which is partly reduced by removing the "unique"
requirement on the address base register.

Bug: 
Change-Id: I99a7bc3c14100d64cb7478e2053cf83ab6dcea50
Reviewed-on: https://chromium-review.googlesource.com/795953
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Ben Smith <binji@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49785}
2017-12-01 11:40:24 +00:00
Yang Guo
968a2f66a9 [snapshot] avoid aliasing for snapshot reservations.
R=ulan@chromium.org

Bug: v8:7141
Change-Id: I21b82f5c3f6a2cd5f6e525d267d6c6819b1370fb
Reviewed-on: https://chromium-review.googlesource.com/796370
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#49784}
2017-12-01 11:30:14 +00:00