Commit Graph

41885 Commits

Author SHA1 Message Date
Franziska Hinkelmann
0b799e6664 Add benchmark for TypedArray.prototype.set for different types
Add a benchmark for TypedArray.prototype.set when
setting from another TypedArray with a different type.

Bug: v8:6704
Change-Id: Iad5585fe7d3a28b5b1a1b1f85ec81be659959239
Reviewed-on: https://chromium-review.googlesource.com/613267
Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47343}
2017-08-14 19:17:39 +00:00
Franziska Hinkelmann
ae0a6f4b0c Add benchmark for TypedArray.prototype.set
Add benchmark for TypedArray.prototype.set when
setting from another TypedArray with the same type.

Bug: v8:6704
Change-Id: Ibde60b17aa32fb9c8237b2ab766d2b2913e256d7
Reviewed-on: https://chromium-review.googlesource.com/613264
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47342}
2017-08-14 19:06:29 +00:00
Georg Neis
6917f9a5b8 [cleanup] Remove some obsolete macro-assembler decls and defs.
R=jarin@chromium.org

Bug: 
Change-Id: I97c2d73ea4ac83802421be85da327e214939d5a1
Reviewed-on: https://chromium-review.googlesource.com/610006
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47341}
2017-08-14 18:31:49 +00:00
Yang Guo
5fba86ced5 Free memory allocated by backtrace_symbols immediately.
R=petermarshall@chromium.org

Bug: v8:6687
Change-Id: Ic447a6cd5cb8a7a251b4820fc82f1f1d033be355
Reviewed-on: https://chromium-review.googlesource.com/612067
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47340}
2017-08-14 17:56:49 +00:00
Martyn Capewell
3b741a9499 Delete StringCharCodeAtGenerator.
Delete StringCharCodeAtGenerator, as it's no longer used.

Bug: 
Change-Id: I05294fac69671c0652742d120de9ea17e9031518
Reviewed-on: https://chromium-review.googlesource.com/613164
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Cr-Commit-Position: refs/heads/master@{#47339}
2017-08-14 16:00:58 +00:00
Michael Achenbach
5793997a51 [build] Add MB configs for mac asan clusterfuzz bots
The V8 mac asan bots correspond to "Mac ASAN Release" and
"Mac ASAN Debug" from chromium.lkgr waterfall.

Depends on infra side:
https://chromium-review.googlesource.com/c/613162

TBR=yangguo@chromium.org
NOTRY=true

Bug: chromium:726584
Change-Id: Ic71e3577485131b260801eef9e801ab19ed093c1
Reviewed-on: https://chromium-review.googlesource.com/613480
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47338}
2017-08-14 14:41:14 +00:00
Ross McIlroy
06d91dacc0 [Compiler] Split CompileUnoptimizedCode into main and non-main thread phases
Splits CompileUnoptimizedCode into a non-main thread GenerateUnoptimizedCode and
a main thread FinalizeUnoptimizedCode phase. Adds Disallow<HeapAccess> scopes in
CompileUnoptimizedCode to ensure no access to the heap during this phase.

Also cleans up a few heap accesses in CompilationInfo's constructor to avoid
violating the disallowed heap access.

Currently we reallow heap access during asm.js compilation as a temporary
measure until the script streamer uses an off-heap script buffer.

BUG=v8:5203
TBR=titzer@chromium.org

Change-Id: I7f6140f19938a10a85f1cd89501812dd59dbf6d4
Reviewed-on: https://chromium-review.googlesource.com/605949
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Marja Hölttä <marja@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47337}
2017-08-14 13:42:50 +00:00
Ulan Degenbaev
19ae2fc1af [heap] Refactor object marking state (part 2).
This follows up 4af9cfcc by separating incremental marking state
from the full MC marking state. Runtime and tests now use only
the incremental marking state. The full MC marking state used
by MC during atomic pause.

This separation decouples atomicity of markbit accesses
during incremental marking and during full MC.

Bug: chromium:694255
TBR: mlippautz@chromium.org
Change-Id: Ia409ab06515cd0d1403a272a016633295c0d6692
Reviewed-on: https://chromium-review.googlesource.com/612350
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47336}
2017-08-14 12:18:37 +00:00
Michael Achenbach
d758e1307c [build] Add MB configs for clusterfuzz ubsan bots
Depends on infra change:
https://chromium-review.googlesource.com/c/612079

This emulates the same GN configurations as from the builders
"UBSan Release" and "UBSan vptr Release" on the chromium.lkgr
waterfall.

NOTRY=true
TBR=yangguo@chromium.org

Bug: chromium:726584
Change-Id: I248765f7f8353351da2a4d5b897b06cbc04ba007
Reviewed-on: https://chromium-review.googlesource.com/612982
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47335}
2017-08-14 12:12:36 +00:00
Ulan Degenbaev
a88f740f9e [heap] Fix StartBlackAllocationForTesting.
The function shouldn't try to start black allocation if it is already
started.

Bug: chromium:694255
TBR: mlippautz@chromium.org
Change-Id: I77b5346f6ac2ec5947ca4351a8abe33865729fda
Reviewed-on: https://chromium-review.googlesource.com/612385
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47334}
2017-08-14 11:54:06 +00:00
Ulan Degenbaev
eaf7ec9d15 [heap] Process strong fields of maps in concurrent marker.
Bug: chromium:694255
TBR: mlippautz@chromium.org
Change-Id: I207fd28c2e19637f45da3735284c8ca223b33481
Reviewed-on: https://chromium-review.googlesource.com/610562
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47333}
2017-08-14 11:46:56 +00:00
Michael Achenbach
5c156de3e4 Revert "[Memory] Improve OOM callback tests."
This reverts commit 01cae9efe4.

Reason for revert: Seeing several flaky crashes on windows associated to this change:
https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/18407
https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/18408

Original change's description:
> [Memory] Improve OOM callback tests.
> 
> - Changes OOM tests to keep allocating more and more, starting from a
>   large amount, until we exhaust address space and get a failure.
> 
> Bug: v8:6635
> Change-Id: I007927c5f639ed395d90198272c93b6ee0e58249
> Reviewed-on: https://chromium-review.googlesource.com/609264
> Commit-Queue: Bill Budge <bbudge@chromium.org>
> Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#47328}

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

Change-Id: Ibe49f99040e1a3c595ed836d1d40dbd0c7247d1c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: v8:6635
Reviewed-on: https://chromium-review.googlesource.com/612288
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47332}
2017-08-14 09:20:38 +00:00
Michael Achenbach
72e29f5cf3 Revert "[builtins] Fix union initialization"
This reverts commit 0d14ad5712.

Reason for revert: Seems to add a static initializer:
https://build.chromium.org/p/client.v8/builders/V8%20Linux/builds/19779

Original change's description:
> [builtins] Fix union initialization
> 
> Fix d4c157ee65 commit
> 
> On big endian platforms wrong byte is being read when accessing
> "parameter_count" field of union, in function
> failing on MIPS big endian platforms.
> 
> Builtins: :GetStackParameterCount. It is the reason of several tests
> Bug: 
> Change-Id: Ia21aba80a89215022ee218d27552b5b4ea18a0db
> Reviewed-on: https://chromium-review.googlesource.com/603808
> Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com>
> Reviewed-by: Jakob Gruber <jgruber@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#47330}

TBR=jkummerow@chromium.org,jarin@chromium.org,jgruber@chromium.org,predrag.rudic@imgtec.com,ivica.bogosavljevic@imgtec.com

Change-Id: I596bb1a04c72c8f5cb4f7b4a8e9161bd5889683d
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/612287
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47331}
2017-08-14 09:18:09 +00:00
Predrag Rudic
0d14ad5712 [builtins] Fix union initialization
Fix d4c157ee65 commit

On big endian platforms wrong byte is being read when accessing
"parameter_count" field of union, in function
failing on MIPS big endian platforms.

Builtins: :GetStackParameterCount. It is the reason of several tests
Bug: 
Change-Id: Ia21aba80a89215022ee218d27552b5b4ea18a0db
Reviewed-on: https://chromium-review.googlesource.com/603808
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47330}
2017-08-14 08:40:56 +00:00
v8-autoroll
83887f2dd7 Update V8 DEPS.
Rolling v8/tools/clang: a1420b8..5bad4f2

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

Change-Id: I7cf78bd76d7a5126194bfcb5538803de8e6ea601
Reviewed-on: https://chromium-review.googlesource.com/612852
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47329}
2017-08-14 03:48:36 +00:00
Bill Budge
01cae9efe4 [Memory] Improve OOM callback tests.
- Changes OOM tests to keep allocating more and more, starting from a
  large amount, until we exhaust address space and get a failure.

Bug: v8:6635
Change-Id: I007927c5f639ed395d90198272c93b6ee0e58249
Reviewed-on: https://chromium-review.googlesource.com/609264
Commit-Queue: Bill Budge <bbudge@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47328}
2017-08-14 03:16:46 +00:00
v8-autoroll
1bdd4b420d Update V8 DEPS.
Rolling v8/build: b810910..876f9d1

Rolling v8/tools/clang: 3be402c..a1420b8

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

Change-Id: I798d723b736faa1eff4cd50f34e7af9bc3f36a26
Reviewed-on: https://chromium-review.googlesource.com/612842
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47327}
2017-08-13 03:54:15 +00:00
Marja Hölttä
70f6913159 [parser] Skipping inner funcs: remove untrue DCHECK.
- See bug for the reduced test case.

- Not adding a regression test here: I don't want to assert that PreParser
  doesn't detect the redeclaration error, OTOH I don't want to make it detect
  the error either (in order to not couple detecting the error with
  FLAG_experimental_preparser_analysis).

BUG=chromium:753896, v8:5516

Change-Id: I0f1beffe30e5cb48d6dbec35181980864e6df153
Reviewed-on: https://chromium-review.googlesource.com/608976
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47326}
2017-08-12 16:43:40 +00:00
Marja Hölttä
d50b196246 [parser] Skipping inner funcs: add more tests.
These now pass because of https://chromium-review.googlesource.com/603787.

BUG=v8:5516

Change-Id: Ifcb576056c3cba523e56c5c9c563724efe096012
Reviewed-on: https://chromium-review.googlesource.com/608972
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47325}
2017-08-12 16:42:35 +00:00
Eric Holk
c527fc77e6 Add eholk and gdeepti to toplevel owners
Bug: 
Change-Id: I51bef9b0b4bb109fe86d4f6f445db46c1335606f
Reviewed-on: https://chromium-review.googlesource.com/612506
Reviewed-by: Brad Nelson <bradnelson@chromium.org>
Commit-Queue: Brad Nelson <bradnelson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47324}
2017-08-12 07:07:29 +00:00
v8-autoroll
f1d8f4e6b5 Update V8 DEPS.
Rolling v8/build: 7c87e0e..b810910

Rolling v8/third_party/catapult: 0eeb5ba..5db5135

Rolling v8/tools/clang: 7770b47..3be402c

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

Change-Id: I6b6fa358050a92669961345aa201690f351f943b
Reviewed-on: https://chromium-review.googlesource.com/612195
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47323}
2017-08-12 07:06:14 +00:00
Benedikt Meurer
94830f4b1b [turbofan] Remove obsolete LoadBuffer and StoreBuffer operators.
These operators were only used by the old asm.js pipeline (with
fullcodegen and the AstGraphBuilder). When going through the new
pipeline, accesses to TypedArrays are handled by the native
context specialization during inlining.

Bug: v8:6409
Change-Id: Ib9b888c0b96f297a335580ee42dfa951bde566be
Reviewed-on: https://chromium-review.googlesource.com/612347
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47322}
2017-08-11 19:17:37 +00:00
Alexey Kozyatinskiy
438a845c52 [inspector] check callback before calling on promise collected
R=dgozman@chromium.org

Bug: chromium:754560
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: I3c0d5c4eebc3e8dbfa6663210046d6a86b1226b5
Reviewed-on: https://chromium-review.googlesource.com/612452
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47321}
2017-08-11 18:21:57 +00:00
Ross McIlroy
c820b89bc5 [Interpreter] Remove new.target from fixed frame slot.
Removes the new.target slot from the interpreter's fixed frame. Instead
adds a field to BytecodeArray to get the bytecode's incoming
new.target or generator object register. The InterpreterEntryTrampoline
then sets this register with the incoming new.target (or generator object)
when the function is called. This register can be directly the new.target
or generator object variable if they are LOCAL location, otherwise it is a
temporary register which is then moved to the variable's location during the
function prologue.

This fixes a hack in the deoptimizer where we would set the new.target fixed
slot to undefined in order to avoid extending it's lifetime through the
optimized code - now it's just a standard register and can be optimized away
as normal.

Bug=v8:6644

Change-Id: Ieb8cc34cccefd9fb6634a90cbc77c6002a54f2ae
Reviewed-on: https://chromium-review.googlesource.com/608966
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47320}
2017-08-11 17:04:08 +00:00
Ulan Degenbaev
a241576fa1 Revert "[heap] Handle bytecode arrays in concurrent marker."
This reverts commit a7c7e8f64e.

Reason for revert: TSAN failures.

Original change's description:
> [heap] Handle bytecode arrays in concurrent marker.
> 
> Bytecode array visitor has a side-effect of incrementing the age counter.
> 
> This patch makes the increment atomic and thus safe for the concurrent
> marker.
> 
> Bug: chromium:694255
> Change-Id: I36c65b02ace8d366206bd8295e72aaa19742ed56
> Reviewed-on: https://chromium-review.googlesource.com/610001
> Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#47317}

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

Change-Id: Iceff1e5925bb6ad7c03f858aa2f1fa62240f6909
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: chromium:694255
Reviewed-on: https://chromium-review.googlesource.com/612069
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47319}
2017-08-11 16:50:39 +00:00
Alexey Kozyatinskiy
6cd471faf5 [inspector] allow negative line and column in Location
As long as we have scripts with negative source offset (see inline event listeners) we should not crash a browser when get negative offset.

R=jgruber@chromium.org

Bug: chromium:750592
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Ic3138e7c61ec0a5133c56de9970acdffa5536d8e
Reviewed-on: https://chromium-review.googlesource.com/611613
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47318}
2017-08-11 16:07:17 +00:00
Ulan Degenbaev
a7c7e8f64e [heap] Handle bytecode arrays in concurrent marker.
Bytecode array visitor has a side-effect of incrementing the age counter.

This patch makes the increment atomic and thus safe for the concurrent
marker.

Bug: chromium:694255
Change-Id: I36c65b02ace8d366206bd8295e72aaa19742ed56
Reviewed-on: https://chromium-review.googlesource.com/610001
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47317}
2017-08-11 15:32:35 +00:00
Jakob Kummerow
89e5792d60 [tests] Make %NeverOptimizeFunction ClusterFuzz safe
It expected its argument to be a JSFunction, but fuzzer tests can
pass anything. Non-JSFunction arguments should just silently be
ignored, just like similar CF-whitelisted runtime functions do.

Bug: chromium:754177
Change-Id: I41b29528bbe72f24b3d84f021b22602160769d26
Reviewed-on: https://chromium-review.googlesource.com/610706
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47316}
2017-08-11 14:56:45 +00:00
Ulan Degenbaev
00f21d3d48 [heap] Remove custom SharedFunctionInfo marking visitors.
Shared function info marking is now side-effect free, so can be handled
by base HeapVisitor.

Concurrent marker does not bailout on shared function infos.

Bug: chromium:694255
Change-Id: I41efece68f6758219fca318deb97a7f163ee9638
Reviewed-on: https://chromium-review.googlesource.com/608700
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47315}
2017-08-11 14:39:55 +00:00
Ulan Degenbaev
50fc4b8929 [heap] Avoid redundant size computation in incremental marking.
Change-Id: I91bae96b82078a310b67707f98fb257896e3e00f
Reviewed-on: https://chromium-review.googlesource.com/612083
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47314}
2017-08-11 14:26:35 +00:00
Georg Neis
8191211d10 [cleanup] Remove obsolete context index.
R=marja@chromium.org

Bug: 
Change-Id: I641ca830bb11b91e7098ee8d2dbec5d523bbc879
Reviewed-on: https://chromium-review.googlesource.com/612082
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47313}
2017-08-11 13:09:35 +00:00
Georg Neis
5e26f4ea1e [cleanup] Remove obsolete forward declaration.
R=marja@chromium.org

Bug: 
Change-Id: Ic7a2fc28baa5ecf0650287fbc193ff0eccbf2f5e
Reviewed-on: https://chromium-review.googlesource.com/612248
Reviewed-by: Marja Hölttä <marja@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47312}
2017-08-11 13:05:26 +00:00
Ulan Degenbaev
470e8024de [base] Introduce AsAtomic8 helper class.
This class provides byte level CAS operation using word level CAS.

Bug: chromium:694255
Change-Id: I39e661ee8d11e3f61fd5cb64c36f8f5ee94d1244
Reviewed-on: https://chromium-review.googlesource.com/612170
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47311}
2017-08-11 12:47:35 +00:00
Tobias Tebbi
41462d5757 [turbofan] improve performance of new escape analysis
This improves compiler performance of the new escape analysis: runtime reduced by ~10% and zone memory reduced by ~40%.

Bug: 
Change-Id: I6b9eeaecfee6faef616d5cb8fed57fd41856898b
Reviewed-on: https://chromium-review.googlesource.com/611902
Commit-Queue: Tobias Tebbi <tebbi@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47310}
2017-08-11 12:16:35 +00:00
Benedikt Meurer
da766ef793 [turbofan] Remove leftover support code for the AstGraphBuilder.
R=mstarzinger@chromium.org

Bug: v8:6409
Change-Id: I676a61593a5b5e5df50990ded6f1882d8b7d0159
Reviewed-on: https://chromium-review.googlesource.com/612280
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47309}
2017-08-11 12:06:12 +00:00
Michael Starzinger
7840db4609 [test] Improve cctest/test-api/ReceiverSignature coverage.
R=bmeurer@chromium.org
TEST=cctest/test-api/ReceiverSignature

Change-Id: I4f58d7a1ce15aa02b1fec5c0317733d3f3b1f4ef
Reviewed-on: https://chromium-review.googlesource.com/611990
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47308}
2017-08-11 12:05:04 +00:00
Ross McIlroy
1458e8b01a [fullcodegen] Delete FullCodegen.
Deletes the now unused Full-codegen compiler. Also removes some macro
assembler instructions which are no longer used.

Note: there is still additional cleanup work to do after this lands
(e.g., remove support for FCG frames support and FCG
debugger support, etc.), but this will be done in followup CLs to keep
this patch managable.

BUG=v8:6409

Change-Id: I8d828fe7a64d29f2c1252d5fda968a630a2e9ef2
Reviewed-on: https://chromium-review.googlesource.com/584773
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47307}
2017-08-11 11:50:05 +00:00
Ulan Degenbaev
9f97606ebc [heap] Fix initialization order of MC collectors after 4af9cfccf6.
This fixes the UBSAN failures on the bot.

Bug: chromium:694255
Change-Id: I7fc169bc526e71444ce52eba0285a8cafe9d902d
Reviewed-on: https://chromium-review.googlesource.com/612167
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47306}
2017-08-11 10:51:49 +00:00
Michael Lippautz
1092155c16 [heap] Cleanup cctests
- Move into v8::internal::heap namespace
- Remove card marking ifdefs

Bug: 
Change-Id: Ifd5e5d96c6ab0fea85a3646e5b307583eb13e2c3
Reviewed-on: https://chromium-review.googlesource.com/612066
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47305}
2017-08-11 10:40:49 +00:00
Michael Lippautz
f3d48f56a8 Remove unused atomic utils
The removed building blocks have either been completely unused or have
already been replaced.

Bug: 
Change-Id: I68a4d5d42b7f1cc3c5f8d0e7ea7146c5a0f59048
Reviewed-on: https://chromium-review.googlesource.com/612163
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47304}
2017-08-11 09:50:40 +00:00
Ulan Degenbaev
d9a036317c [heap] Track transition arrays using worklists.
This allows handling transitions arrays in concurrent marking

Bug: chromium:694255
Change-Id: I28196fccbf03bfba7d7dada1884813be372ddb54
Reviewed-on: https://chromium-review.googlesource.com/610961
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47303}
2017-08-11 09:11:20 +00:00
Benedikt Meurer
622852e5a6 [turbofan] Collect and use SignedSmall input feedback for Divide.
For Divide operations like

  r = a / b

where r has only truncated uses (i.e. only used in bitwise operations),
we used to generate a Float64Div unless we statically knew something
about a and b, even if a and b have always been integers so far.
Crankshaft was able to generate an integer division here, because
Fullcodegen collected feedback independently for inputs and outputs of
binary operations.

This adds new BinaryOperationFeedback::kSignedSmallInputs, which is used
specifically for Divide to state that we have seen only SignedSmall
inputs thus far, but the outputs weren't always in the SignedSmall
range.

The issue was discovered in a WebGL Triangulation library and reported
via https://twitter.com/mourner/status/895708603117518848 after Node
8.3.0 was released with I+TF.

R=jarin@chromium.org

Bug: v8:6698
Change-Id: I830e421a3bf91fc8fa3665cbb706bc13675a6d2b
Reviewed-on: https://chromium-review.googlesource.com/612063
Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47302}
2017-08-11 08:50:00 +00:00
Michael Starzinger
f984eb1bbb [test] Rebaseline inspector test.
This changes the baseline of an inspector test setting breakpoints
within an asm.js module while the module is being executed. With the
validator it is not supported to switch from active WebAssembly code
back to debuggable interpreter code. Hence some previously expected
breakpoints no longer fire, the behavior is consistent across all
configurations now though.

R=yangguo@chromium.org
TEST=inspector/debugger/asm-js-breakpoint-during-exec
BUG=v8:6166

Change-Id: Ie1bb62fa6df28b10336b4cb5d381d2141eec356c
Reviewed-on: https://chromium-review.googlesource.com/608977
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47301}
2017-08-11 08:28:30 +00:00
Ulan Degenbaev
1e182fd446 Revert "[heap, runtime] Avoid redundant clearing of slots outside an object."
This reverts commit 3f820ebb0b.

Revert "[heap, runtime] Avoid redundant clearing of slots in a trimmed array."

This reverts commit ed76f17b15.

Reason: canary crashes.

Bug: chromium:752750, chromium:694255
TBR: mlippautz@chromium.org
Change-Id: I57c533e8a3db5f28e7659c5f326fa343627a3ff7
Reviewed-on: https://chromium-review.googlesource.com/607868
Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47300}
2017-08-11 08:05:31 +00:00
Maya Lekova
0410e7e850 Reland ^4 "[builtins] Port getting property from Proxy to CSA"
This is a reland of edc4ae14c8

With fixes for crbug.com/752846, crbug.com/752712, crbug.com/752850

Previously landed as: 47a97aa53b / 47113
Previously landed as: 15ef03cbf3 / 47159
Previously landed as: e86c066b77 / 47235
Previously landed as: edc4ae14c8 / 47245

TBR=jkummerow@chromium.org, franzih@chromium.org, bmeurer@chromium.org,
jgruber@chromium.org, mstarzinger@chromium.org

Bug: v8:6559, v8:6557
Change-Id: I956486e90aab36ba95676bd4ec2febebed509fc1
Reviewed-on: https://chromium-review.googlesource.com/609781
Reviewed-by: Georg Neis <neis@chromium.org>
Reviewed-by: Franziska Hinkelmann <franzih@chromium.org>
Commit-Queue: Maya Lekova <mslekova@google.com>
Cr-Commit-Position: refs/heads/master@{#47299}
2017-08-11 07:17:35 +00:00
v8-autoroll
c4dc6042ba Update V8 DEPS.
Rolling v8/build: b6996c4..7c87e0e

Rolling v8/third_party/catapult: bd05965..0eeb5ba

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

Change-Id: I23ee429028dc94d66332ad1e624b95e46a459441
Reviewed-on: https://chromium-review.googlesource.com/611661
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47298}
2017-08-11 03:43:55 +00:00
Sathya Gunasekaran
c19547f690 [api] Remove experimental tag for PromiseHooks
Bug: v8:4643
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: Id82365d20830e5efd33a8d066f5aab4b999807d7
Reviewed-on: https://chromium-review.googlesource.com/611180
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47297}
2017-08-10 23:01:24 +00:00
Mircea Trofin
e8f98899a1 [wasm] Faster Instantiate by avoiding redundant default code init
The compiler patches all call sites with a default code object value.
We used to populate a vector with that value. Turns out that avoiding
having that vector measurably reduces instantiation time.

Bug: 
Change-Id: I2c843210a2ab24541f370b5493c3cbb555149e1a
Reviewed-on: https://chromium-review.googlesource.com/609480
Commit-Queue: Mircea Trofin <mtrofin@chromium.org>
Reviewed-by: Brad Nelson <bradnelson@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47296}
2017-08-10 20:12:27 +00:00
Ulan Degenbaev
468d5faa6b [heap] Fix atomicity of IterateAndScavengePromotedObject
Bug: chromium:694255
TBR: mlippautz@chromium.org
No-Tree-Checks: true
No-Try: true
Change-Id: I720dcc79c4cb8c1cbd7dd6e6de4c6113c363b2f0
Reviewed-on: https://chromium-review.googlesource.com/610561
Commit-Queue: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47295}
2017-08-10 19:46:06 +00:00
Eric Holk
f315b32267 Add eholk to Wasm-related OWNERS files
Bug: 
Change-Id: I1ab93d5b2d02d9a4851c2e67d33968a7cafaedd3
Reviewed-on: https://chromium-review.googlesource.com/610892
Reviewed-by: Brad Nelson <bradnelson@chromium.org>
Commit-Queue: Brad Nelson <bradnelson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47294}
2017-08-10 18:58:00 +00:00