Commit Graph

40137 Commits

Author SHA1 Message Date
Michael Lippautz
bc6adb868d Revert "Reland "[heap] Move pointers updating to ItemParallelJob"""
This reverts commit 33d5006e16.

Reason for revert: Still failing TSAN: https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/15527/steps/Check%20-%20extra%20%28flakes%29/logs/regress-470804

Original change's description:
> Reland "[heap] Move pointers updating to ItemParallelJob""
> 
> Furthermore avoid lock-step between pointer updating phases as they
> should execute in parallel without synchronization restrictions.
> 
> This reverts commit 68a723996b.
> 
> Bug: chromium:726040
> Change-Id: I76bb31d146f8aa20f8b7c486eeae9f09efa0cd53
> Reviewed-on: https://chromium-review.googlesource.com/518150
> Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#45644}

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

No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:726040
Change-Id: I96090250a6ecc5068c3c927e8435e0b605c3c335
Reviewed-on: https://chromium-review.googlesource.com/519409
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45645}
2017-05-31 17:24:11 +00:00
Michael Lippautz
33d5006e16 Reland "[heap] Move pointers updating to ItemParallelJob""
Furthermore avoid lock-step between pointer updating phases as they
should execute in parallel without synchronization restrictions.

This reverts commit 68a723996b.

Bug: chromium:726040
Change-Id: I76bb31d146f8aa20f8b7c486eeae9f09efa0cd53
Reviewed-on: https://chromium-review.googlesource.com/518150
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45644}
2017-05-31 16:45:00 +00:00
Ben Smith
89a6f9c138 Fix Check failure on OOB access in Atomics.wait
Bug: chromium:724973
Change-Id: I227b30b50f92fac7d6cf3ec3369e324282352ccb
Reviewed-on: https://chromium-review.googlesource.com/514348
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Ben Smith <binji@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45643}
2017-05-31 15:08:52 +00:00
Clemens Hammacher
63c4cd96af [logging] Print const char* as pointer value
When checking {const char*} (or similar) against each other, don't
print them as c strings on failure. Just print the pointer value.
In wasm, where we use byte pointers into wasm wire bytes, this was
sometimes hiding check failures behind segfaults which happened when
trying to output invalid pointers as c strings.
Anyway, it's more useful to see the raw pointer values in these cases.
Other use cases, where we really compare against c string pointers
should be rare in our code base.

R=ishell@chromium.org

Change-Id: I92a13221d18c987a97cf2a29ac8f454178ff2bb5
Reviewed-on: https://chromium-review.googlesource.com/517166
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45642}
2017-05-31 14:43:21 +00:00
Andreas Haas
0894b939a6 [wasm] Remove corpus cleanup code.
In https://chromium-review.googlesource.com/c/505614/ I added code to
the test runner which deletes the old corpus of the wasm fuzzer. It's
time now to remove this code again.

R=machenbach@chromium.org

Change-Id: Ic3b8f7a1f6d725f0bf070b404a75ac37551a07c0
Reviewed-on: https://chromium-review.googlesource.com/519405
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45641}
2017-05-31 14:42:16 +00:00
jgruber
d3371c23cb [debug] Untangle DebugInfo from break point support
DebugInfo was very closely tied to break point support:
* It contained only information relevant to break points.
* It was created and freed by break point implementation.
* Existence of a DebugInfo on the shared function info implied existence of
  break points.

This CL is a step towards making DebugInfo usable by other debugging
functionality such as block coverage by decoupling it from break point support,
which is now only one kind of information stored on the DebugInfo object.

BUG=v8:6000

Review-Url: https://codereview.chromium.org/2909893002
Cr-Commit-Position: refs/heads/master@{#45640}
2017-05-31 14:26:58 +00:00
Clemens Hammacher
45618a9ab5 [wasm] Make prototype flags experimental
Most prototype implementations are not fully supported in the
interpreter. This is the case at least for exception handling, simd, and
atomics. Any function can be redirected to the interpreter though,
either by passing --wasm-interpret-all, or by dynamically redirecting to
the interpreter for debugging.
Making the flags experimental keeps the fuzzer from playing around with
these flags.

Drive-by: Refactor tests which explicitly set the prototype flag to use
a new scope for that.

R=ahaas@chromium.org
BUG=chromium:727584

Change-Id: I67da79f579f1ac93c67189afef40c6524bdd4430
Reviewed-on: https://chromium-review.googlesource.com/519402
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45639}
2017-05-31 14:18:08 +00:00
Jochen Eisinger
b21bc232aa Add layout test bots to changes to api.cc
Also restrict include/ rules to only add bots for changes affecting
headers

R=machenbach@chromium.org

Change-Id: I97dc3c6249994566912a82ac9fbf8c7d3a57890c
Reviewed-on: https://chromium-review.googlesource.com/519342
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45638}
2017-05-31 14:15:18 +00:00
Alexey Kozyatinskiy
6a65e6deef [inspector] don't create negative location for isBlackboxed check
V8 provides ScriptCompiler::CompileFunctionInContext method which takes expression and compile it as anonymous function like (function() .. expression ..). To produce correct locations for stmts inside of this expression V8 compile this function with negative offset. Instead of stmt position blackboxing use function start position which is negative in described case.

Bug: chromium:705963
Change-Id: I86b113198fb59e77b3bbf523c8cd943e22f8a6ca
Reviewed-on: https://chromium-review.googlesource.com/519384
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45637}
2017-05-31 14:02:03 +00:00
Michael Achenbach
27f4b242ea [MB] Add clusterfuzz msan bots
V8-side for:
https://chromium-review.googlesource.com/c/519143/

NOTRY=true

Bug: chromium:726584
Change-Id: Id6f186a47cfdf9287a399ce3fe58c9edb6474ed9
Reviewed-on: https://chromium-review.googlesource.com/519166
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45636}
2017-05-31 14:00:43 +00:00
neis
659e8f7b5c [compiler] Delay allocation of code-embedded heap numbers.
Instead of allocating and embedding certain heap numbers into the code
during code assembly, emit dummies but record the allocation requests.
Later then, in Assembler::GetCode, allocate the heap numbers and patch
the code by replacing the dummies with the actual objects. The
RelocInfos for the embedded objects are already recorded correctly when
emitting the dummies.

R=jarin@chromium.org
BUG=v8:6048

Review-Url: https://codereview.chromium.org/2900683002
Cr-Commit-Position: refs/heads/master@{#45635}
2017-05-31 14:00:11 +00:00
Tobias Tebbi
f70ceeae1d [turbofan] teach escape analysis about oddly occurring simplified number ops
Bug: chromium:726638
Change-Id: Ib30b147ec60f9f13c5164765f8c63be7a1339e9f
Reviewed-on: https://chromium-review.googlesource.com/517497
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45634}
2017-05-31 13:59:38 +00:00
martyn.capewell
fc3f29d329 Reland of Reland of "ARM64: Add NEON support"
This reverts commit c5aad5f284
The CL was reverted due to missing Chromium dependencies.

This commit removes the simulator trace-based tests, and the associated header file dependencies, previously pulled in by DEPS. The NEON support now has only hand-written tests, in test-assembler-arm64.cc. The remaining tests can be added in a later patch.

BUG=chromium:718439

Original issue's description:
> Reland "ARM64: Add NEON support"
>
> This reverts commit cc047635ff.
> The CL was reverted due to a missing DEPS mirror.
>
> Original issue's description:
> > ARM64: Add NEON support
> >
> > Add assembler, disassembler and simulator support for NEON in the ARM64 backend.
> >
> > BUG=
> >
> > Review-Url: https://codereview.chromium.org/2622643005
> > Cr-Commit-Position: refs/heads/master@{#44306}
>
> BUG=
>
> Review-Url: https://codereview.chromium.org/2812573003
> Cr-Commit-Position: refs/heads/master@{#44652}

Review-Url: https://codereview.chromium.org/2896303003
Cr-Commit-Position: refs/heads/master@{#45633}
2017-05-31 13:58:43 +00:00
Ulan Degenbaev
d8a42e4c09 [runtime] Change backing store of LayoutDescriptor to ByteArray.
BUG=v8:6277

Change-Id: I80314e6c5146e1f5021d07081b9eda3da5da6834
Reviewed-on: https://chromium-review.googlesource.com/518047
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45632}
2017-05-31 13:58:31 +00:00
Michael Achenbach
0f11aa626c [MB] Remove obsolete cfi config
Chromium dropped this a while back. This'll prepare switching the bot to GN.

NOTRY=true

Bug: chromium:726584
Change-Id: I55d7ef7ae33b66c1ca6721acba018aa19438e2da
Reviewed-on: https://chromium-review.googlesource.com/519404
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45631}
2017-05-31 13:00:18 +00:00
Georg Neis
510ebfc393 [compiler] Ask compilation info, not isolate, about source positions flag.
R=jarin@chromium.org

Bug: v8:6048
Change-Id: I685a629dec46d40c3518096b0a5d3901048e0bee
Reviewed-on: https://chromium-review.googlesource.com/519165
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45630}
2017-05-31 12:52:01 +00:00
jgruber
f710ba94b6 [builtins] Begin removing CodeFactory accessors
BUG=v8:5737

Review-Url: https://codereview.chromium.org/2913783002
Cr-Commit-Position: refs/heads/master@{#45629}
2017-05-31 12:40:13 +00:00
Michael Starzinger
e3da9102dd [asm.js] Make the parser independent of the Isolate.
This removes any kind of heap access from the asm.js validator internals
and hence makes it independent of a specific Isolate. It is a precursor
towards potentially being able to run validation while streaming.

R=clemensh@chromium.org

Change-Id: Ia3770bf03bb973b56de897b27be60d7e050af2c4
Reviewed-on: https://chromium-review.googlesource.com/518188
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45628}
2017-05-31 12:37:00 +00:00
Georg Neis
8f61fbc671 [compiler] Don't create a handle for a builtin.
Bug: v8:6048
Change-Id: I1fbea87f6b7cb48c8f57532238475f2c17c863fb
Reviewed-on: https://chromium-review.googlesource.com/519267
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45627}
2017-05-31 12:35:30 +00:00
Ulan Degenbaev
2bed5a290c [heap] Handle object creation data races in concurrent marking.
Black allocation is switched on at the start of incremental marking
if concurrent marking is enabled.

New space objects in the allocation area are handled by the main thread.

BUG=chromium:694255

Change-Id: I694affe11b95f51e2fe79563b2b048aaef982c03
Reviewed-on: https://chromium-review.googlesource.com/518862
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45626}
2017-05-31 12:34:19 +00:00
Alexey Kozyatinskiy
6f69e3ceca [inspector] removed break location right before suspension in async function
In current implementation in expressions like await foo() we have break location right after foo call and before actual await.
And we additionally have a lot of other statement locations because of do scope.

Let's move async debugging closer to sync debugging and introduce only one break location for await - before awaited function call.

Bug: v8:6425,v8:6162
Change-Id: I7568767856022c49101e7f3b7e39a2e401d21644
Reviewed-on: https://chromium-review.googlesource.com/514046
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45625}
2017-05-31 12:15:09 +00:00
Michael Lippautz
73cf88d6a0 [heap] Fix accounting for partially freed pages in LO space
Bug: chromium:728096
Change-Id: I8f95f15b56cd49f3e199b74b119abb49eadfe2e1
Reviewed-on: https://chromium-review.googlesource.com/519163
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45624}
2017-05-31 12:09:51 +00:00
Peter Marshall
ad3724eb10 [turbofan] Mark SeqStringCharCodeAt return type as Word32, not Tagged.
Causes crashes on canary if there is a GC and the value makes it onto
the stack.

Bug: chromium:727662
Change-Id: I44fa8cf8a83b43d64418896c0a1f5518401b454f
Reviewed-on: https://chromium-review.googlesource.com/519302
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45623}
2017-05-31 10:51:28 +00:00
Jochen Eisinger
e73825fec4 Start a document about the V8 C++ API design
R=mvstanton@chromium.org

Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Ib45a1d12f2ef869d8b07754d234ff0eedd542188
Reviewed-on: https://chromium-review.googlesource.com/517495
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45622}
2017-05-31 10:01:46 +00:00
Camillo Bruni
98dc35b95f [CSA] Improve error message with non-bound or unused labels
Change-Id: Ic2c4d90dbf91b43e6e4d9cba580385bfd61802ca
Reviewed-on: https://chromium-review.googlesource.com/518044
Reviewed-by: Tobias Tebbi <tebbi@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45621}
2017-05-31 09:45:13 +00:00
dusan.simicic
f87271ccd0 MIPS[64]: Implement insert.df and I8 instructions in simulator
Add support for insert.df, andi.b, ori.b, nori.b, xori.b,
bmnzi.b, bmzi.b, bseli.b, shf.df MSA instructions in mips32
and mips64 simulator.

BUG=

Review-Url: https://codereview.chromium.org/2908753002
Cr-Commit-Position: refs/heads/master@{#45620}
2017-05-31 09:34:46 +00:00
Igor Sheludko
69aa868bb7 [runtime] Reserve more stack space for compilation.
... to properly handle stack overflows near the hard stack limit.

Bug: chromium:716522
Change-Id: I6acdb29f039b9835bdf45b087d6561a05ed837bb
Reviewed-on: https://chromium-review.googlesource.com/517799
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45619}
2017-05-31 09:26:03 +00:00
Ulan Degenbaev
e0dcd1ecea [heap] Fix more data races with live bytes in concurrent marking.
BUG=chromium:694255

Change-Id: I7edece8191d85376d3435e799ac64f3cbe814456
Reviewed-on: https://chromium-review.googlesource.com/519002
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45618}
2017-05-31 08:59:28 +00:00
Tobias Tebbi
ec411b5de2 [builtins] Fix assertion in %TypedArray%.prototype.map
The assertion was too strict, not matching the check in JSTypedArray::Create.
Delete the TODO because the code does not actually rely on the assertion for safety: EmitElementStore always performs a length check.
Drive-by-fix: KeyedAccessStoreMode::STANDARD_STORE is equally safe and does one comparison less.

Bug: chromium:724889
Change-Id: I988a4eb6ad36d35143a008f7289b075f5c05e7ed
Reviewed-on: https://chromium-review.googlesource.com/517102
Reviewed-by: Daniel Clifford <danno@chromium.org>
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45617}
2017-05-31 08:28:20 +00:00
Igor Sheludko
6fb4201836 [tests] Fix typo in Flags value.
TBR=jarin@chromium.org
NOTRY=true

Bug: v8:6447
Change-Id: Ied42c4ba8fc19f2441f6c2ffd31d3f56055ac487
Reviewed-on: https://chromium-review.googlesource.com/518823
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45616}
2017-05-31 08:24:57 +00:00
Marja Hölttä
06f05ec231 [parser] Skipping inner funcs: make more functions skippable.
- Enable aggressive lazy inner funcs (make non-declaration funcs lazy, ie let f =
  function() { ... } when --experimental-preparser-scope-analysis is on.
- Turn on variable tracking for lazy top level functions: this makes their inner
  functions skippable.
- Test fix for an testing bug uncovered by this work: when restoring the data
  for the relevant scope, don't assume it's the outermost scope for which we
  have data.
- Fix: if we abort lazy parsing a function, we shouldn't produce any data for
  it.

BUG=v8:5516

Change-Id: I0606fbabb5886dc57dbb53ab5f3fb894ff5d032e
Reviewed-on: https://chromium-review.googlesource.com/518165
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45615}
2017-05-31 07:49:55 +00:00
v8-autoroll
153514bd14 Update V8 DEPS.
Rolling v8/build: e840a06..0312f98

Rolling v8/third_party/catapult: ea7d9cf..32a3f0b

Rolling v8/tools/clang: 34e6d43..7474c16

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

Change-Id: I30259bb2e7399419ee7f258e15edd9488efa7f16
Reviewed-on: https://chromium-review.googlesource.com/518722
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45614}
2017-05-31 03:24:39 +00:00
dgozman
3655dc52b2 [inspector] Prepare some methods in V8InspectorImpl to multiple sessions
- introduced session id, which fixes an issue of reconnect while evaluating;
- forEachContext provides a safe way to iterate over contexts in a group.

BUG=chromium:590878

Review-Url: https://codereview.chromium.org/2905543004
Cr-Commit-Position: refs/heads/master@{#45613}
2017-05-31 00:07:55 +00:00
Jochen Eisinger
d41fe9f592 Replace PREPARE_FOR_EXECUTION_WITH_CONTEXT_IN_RUNTIME_CALL_STATS_SCOPE
Use the appropriate ENTER_V8* macros instead

BUG=v8:5830
R=marja@chromium.org

Change-Id: I85d7ae69830f6bad4f7057c4a646906846a1baa0
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/517793
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45612}
2017-05-30 17:37:41 +00:00
Michael Lippautz
8a0d687b10 Reland "[heap] Simplify array buffer tracker"
Retrieve length from the buffer instead of storing in as value in the
map.

This reverts commit a73323d367.

Bug: 
Change-Id: I2f17b1b121380ec3d70f42d7cd0015720d6dc7d1
Reviewed-on: https://chromium-review.googlesource.com/518132
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45611}
2017-05-30 17:30:30 +00:00
Ali Ijaz Sheikh
c7127f90f5 CallInterfaceDescriptorData: clarify comment
Bug: 
Change-Id: If8c9db5ad4114f9ce3ca925d85a776fdb7da8fed
Reviewed-on: https://chromium-review.googlesource.com/513525
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Cr-Commit-Position: refs/heads/master@{#45610}
2017-05-30 16:16:48 +00:00
sampsong
1b84cc2ce9 PPC: Remove unnecessary frsp before stfs in codegen
BUG=

R=jyan@ca.ibm.com, bjaideep@ca.ibm.com, joransiu@ca.ibm.com

Review-Url: https://codereview.chromium.org/2905453002
Cr-Commit-Position: refs/heads/master@{#45609}
2017-05-30 16:16:13 +00:00
rodolph.perfetta
f56a48e86f [instruction scheduler] fix ArchDebugBreak.
In TurboFan the ArchDebugBreak opcode is not used for debugging but to
force a crash in unreachable or unimplemented code path. The opcode was
marked as having no side effects allowing the scheduler to bring it "up"
with unfortunate consequences.

This patch also update the behaviour of assembler::debug when not using
the simulator.

Review-Url: https://codereview.chromium.org/2901383004
Cr-Commit-Position: refs/heads/master@{#45608}
2017-05-30 14:44:05 +00:00
jgruber
9ca164d051 [csa] Add assertions to CSA
This adds a bunch of assertions to CSA, mostly about documenting and checking
parameter types.

Drive-by-change: Removed unused function.

BUG=v8:6325

Review-Url: https://codereview.chromium.org/2847923003
Cr-Original-Original-Commit-Position: refs/heads/master@{#45398}
Committed: b14a981496
Review-Url: https://codereview.chromium.org/2847923003
Cr-Original-Commit-Position: refs/heads/master@{#45443}
Committed: 62b0de1ef5
Review-Url: https://codereview.chromium.org/2847923003
Cr-Commit-Position: refs/heads/master@{#45607}
2017-05-30 14:23:17 +00:00
Michael Achenbach
a73323d367 Revert "[heap] Simplify array buffer tracker"
This reverts commit a402dd6311.

Reason for revert: Breaks msan:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/15197

Original change's description:
> [heap] Simplify array buffer tracker
> 
> Retrieve length from the buffer instead of storing in as value in the
> map.
> 
> Change-Id: Icdc87bb46c29fff779bf6e98139324662ced5bf6
> Reviewed-on: https://chromium-review.googlesource.com/518171
> Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#45600}

NOTRY=true
NOTREECHECKS=true
NOPRESUBMIT=true

TBR=mlippautz@chromium.org,jochen@chromium.org
No-Presubmit: true
No-Tree-Checks: true
No-Try: true

Change-Id: I22e3590528beb911d366b9d93ec302857a631971
Reviewed-on: https://chromium-review.googlesource.com/518117
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45606}
2017-05-30 14:22:14 +00:00
jgruber
0930a9243a [builtins] Add --print-builtin-size flag
Passing --print-builtin-size will print the size of all builtins on
isolate creation.

BUG=v8:5737

Review-Url: https://codereview.chromium.org/2895163002
Cr-Commit-Position: refs/heads/master@{#45605}
2017-05-30 14:14:32 +00:00
Camillo Bruni
32e4bcd974 [heap-verify] Fix arguments verification with mapped elements
Bug: chromium:726836
Change-Id: I2eaec8550e7ba038646a1f7834d4514a8d4009ea
Reviewed-on: https://chromium-review.googlesource.com/517954
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45604}
2017-05-30 14:05:34 +00:00
Marja Hölttä
36de9199f4 [parser] Disable aborting preparsing for arrow functions.
It's extremely difficult to get right: there have been several bugs
related to this feature, especially when combined with
non-simple parameter lists in arrow functions.

BUG=chromium:727218

Change-Id: I97dfbc57a7650199964c5fe99de69143c8e537c2
Reviewed-on: https://chromium-review.googlesource.com/518145
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45603}
2017-05-30 14:00:54 +00:00
Clemens Hammacher
3afbbe1a6c [wasm] [interpreter] Remove dead internal method
R=ahaas@chromium.org

Change-Id: I69867a9595e7276ebf30fa3239620585d2cef568
Reviewed-on: https://chromium-review.googlesource.com/518186
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45602}
2017-05-30 13:56:17 +00:00
Michael Achenbach
68641663b7 [build] Always keep gold plugin in sync with clang version
The old logic made the cfi build fail on each clang update.

Bug: chromium:726584
Change-Id: Ia24181d3bc92eb18116c2ac2b42ac2c68f02ce25
Reviewed-on: https://chromium-review.googlesource.com/518185
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45601}
2017-05-30 13:41:18 +00:00
Michael Lippautz
a402dd6311 [heap] Simplify array buffer tracker
Retrieve length from the buffer instead of storing in as value in the
map.

Change-Id: Icdc87bb46c29fff779bf6e98139324662ced5bf6
Reviewed-on: https://chromium-review.googlesource.com/518171
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45600}
2017-05-30 13:38:58 +00:00
hpayer
f314b3cdb9 [api] Add an API function to set the GetExternallyAllocatedMemoryInBytesCallback.
BUG=chromium:727569

Review-Url: https://codereview.chromium.org/2910203002
Cr-Commit-Position: refs/heads/master@{#45599}
2017-05-30 13:18:17 +00:00
Aleksey Kozyatinskiy
fb6a094db5 [inspector] moved var initialization break location before init expression (reland)
This CL improves break locations for expressions like 'var a = <expr>'. Without CL we use <expr> position as break location for initialization statement, with this CL we use position of first character after '=' as position.
Benefits (see test for details):
 - only one break in expressions which includes mix of property lookup and calls, e.g. var p = Promise.resolve().then(x => x * 2),
 - removed redundant break location for expressions like: let { x, y } = { x: 1, y: 2}.
 
TBR=dgozman@chromium.org,rmcilroy@chromium.org,machenbach@chromium.org,marja@chromium.org,kozyatinskiy@chromium.org,devtools-reviews@chromium.org,v8-reviews@googlegroups.com
# Not skipping CQ checks because original CL landed > 1 day ago.
Bug: v8:5909

Change-Id: Ie84fa79afeed09e28cf8478ba610a0cfbfdfc294
Reviewed-on: https://chromium-review.googlesource.com/518116
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45598}
2017-05-30 12:54:49 +00:00
Marja Hölttä
37945f731c [objects.h splitting] Move Script.
BUG=v8:5402

Change-Id: Ia6639d69a31accf46c10e8d49ea72422225cc8ff
Reviewed-on: https://chromium-review.googlesource.com/517788
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45597}
2017-05-30 12:47:47 +00:00
Ulan Degenbaev
898eb142ce [heap] Adjust live bytes atomically when concurrent marking is on.
BUG=chromium:723600

Change-Id: I7fbc9cbeac2bd3d826d81808c0f3c2c24a21a562
Reviewed-on: https://chromium-review.googlesource.com/518013
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#45596}
2017-05-30 12:27:00 +00:00