Commit Graph

41860 Commits

Author SHA1 Message Date
Yang Guo
f782f74b6a [snapshot] do not skip nullptr embedder fields.
R=petermarshall@chromium.org

Bug: chromium:617892
Change-Id: I4077ae567297d18edd6c6748f9f64bbdafb34896
Reviewed-on: https://chromium-review.googlesource.com/616561
Commit-Queue: Yang Guo <yangguo@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47368}
2017-08-16 11:23:59 +00:00
Leszek Swirski
67d8b0c895 [turbofan] Remove OSR special case in loop assignment analysis
Now that OSR is done during graph building, we no longer have to
special-case OSR loops in the loop assignment analysis, as we no longer
have the restriction that registers are 'assigned' an OSRValue inside
the loop.

Bug: v8:6518
Change-Id: Ib4fa139091d77efa16246ddc6e63a10cbb877ee4
Reviewed-on: https://chromium-review.googlesource.com/615167
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Leszek Swirski <leszeks@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47367}
2017-08-16 09:40:29 +00:00
Marja Hölttä
c3cf3d0661 [parser] Skipping inner funcs: drop "experimental" from flag name.
Makes ClusterFuzz start fuzzing with the flag on.

BUG=v8:5516

Change-Id: Ia80f7d22f12fe25efb226102a896e8b0e3537947
Reviewed-on: https://chromium-review.googlesource.com/610000
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47366}
2017-08-16 08:49:27 +00:00
Georg Neis
7e15bf819c [modules, api] Restrict GetModuleNamespace to evaluated modules.
Allowing GetModuleNamespace on a not-yet-evaluated module does not make a
lot of sense because accessing the namespace object before evaluation
can lead to surprising behavior.

R=adamk@chromium.org

Bug: v8:1569
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_chromium_rel_ng
Change-Id: I3e3feb344f6399bf92b3dabc97c571a61b38bd41
Reviewed-on: https://chromium-review.googlesource.com/613268
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47365}
2017-08-16 08:30:48 +00:00
Yang Guo
491d94dc33 [debug] remove support for full-codegen.
This removes:
- CodeBreakIterator for FCG code.
- RelocModes for debug breaks.
- Code generator for debug break slots.
- GC support for debug break slots.
- Code flag to indicate code with debug break slots.
- Builtin type DBG.
- Mechanisms to replace FCG code in the debugger and LiveEdit.
- Runtime entry to the debugger from debug break slots.

R=bmeurer@chromium.org, rmcilroy@chromium.org, ulan@chromium.org

Bug: v8:6409
Change-Id: I5662c8800e3ef1b1584ad107bfe0aae26c9d8abb
Reviewed-on: https://chromium-review.googlesource.com/613263
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47364}
2017-08-16 06:18:26 +00:00
v8-autoroll
dcb6b1de82 Update V8 DEPS.
Rolling v8/build: 2fe6f54..179cd37

Rolling v8/buildtools: ceb0504..f90f6a5

Rolling v8/third_party/catapult: 2ebc30b..b153f21

Rolling v8/third_party/icu: 98218d1..08cb956

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

Change-Id: Ia5af304723428636c982e1c1e675f63e7c467dbb
Reviewed-on: https://chromium-review.googlesource.com/616447
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47363}
2017-08-16 03:40:36 +00:00
Jaideep Bajwa
b3e6f79379 PPC/S390 [builtins] Fix build failure on 64bit big endian
On 64bit BE, build fails with error "error: left shift count >= width of type"
casting the variable to uintptr_t which will set the size correctly.

R=predrag.rudic@imgtec.com, jkummerow@chromium.org, ivica.bogosavljevic@imgtec.com, hablich@chromium.org
LOG=N

Bug: 
Change-Id: I8e466bd2c17b9976171ffd88725dce548153108e
Reviewed-on: https://chromium-review.googlesource.com/616010
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#47362}
2017-08-16 00:57:56 +00:00
Tom Anderson
dc1f199992 Reenable libc++ on gcc
BUG=v8:6565
R=machenbach@chromium.org

Change-Id: I2bd9b65fd7f991899e365354e262e62e78d1e852
Reviewed-on: https://chromium-review.googlesource.com/568679
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Thomas Anderson <thomasanderson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47361}
2017-08-15 17:45:12 +00:00
Jaideep Bajwa
8b29c3ef0c PPC/s390: [wasm] Reuse reloc info size and address accessors.
Port 4b397e6c90

Original Commit Message:

    The way we access wasm addresses or sizes is the same, on
    a platform. We have 2 size parameters - memory and table - and
    2 addresses - globals and memory.

    The CL also renames for generality the address setting API.

R=mtrofin@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: Ic6c398e0eeb6c9344aca3f92223d8b99a9e518ef
Reviewed-on: https://chromium-review.googlesource.com/615012
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#47360}
2017-08-15 12:50:27 +00:00
Martyn Capewell
1b759c0283 Tweak Generate_InterpreterEntryTrampoline code
Small improvements to code generated on arm and arm64.

Bug: v8:6644
Change-Id: Id3d9be87f6a071e949985a1b6b62a43d9195a104
Reviewed-on: https://chromium-review.googlesource.com/615300
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Cr-Commit-Position: refs/heads/master@{#47359}
2017-08-15 10:28:27 +00:00
Alexandre Talon
7e208103be [Turbofan] Typo in turbo-stats flag
Simple typo fixed.

Bug: 
Change-Id: I958e384490db02008765408bc825345d350586b2
Reviewed-on: https://chromium-review.googlesource.com/614340
Reviewed-by: Leszek Swirski <leszeks@chromium.org>
Commit-Queue: Alexandre Talon <alexandret@google.com>
Cr-Commit-Position: refs/heads/master@{#47358}
2017-08-15 09:37:46 +00:00
Martyn Capewell
05fb26539a Delete unused interface descriptors.
No longer needed.

Bug: v8:6409
Change-Id: Iea0afcb7ced24d10223db5e01f66813e97fc4134
Reviewed-on: https://chromium-review.googlesource.com/613761
Commit-Queue: Martyn Capewell <martyn.capewell@arm.com>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47357}
2017-08-15 08:32:47 +00:00
Predrag Rudic
fc6786c75d [builtins] Fix union initialization
This CL doesn't add static initializer

Fix d4c157ee65 commit

On big endian platforms wrong byte is initialized for "parameter_count"
field of the union.

Bug: 
Change-Id: I1c4b1d7f5fb3bd29077fdaa158560c380fba1875
Reviewed-on: https://chromium-review.googlesource.com/613266
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Ivica Bogosavljevic <ivica.bogosavljevic@imgtec.com>
Cr-Commit-Position: refs/heads/master@{#47356}
2017-08-15 07:53:29 +00:00
v8-autoroll
cf04a69ed5 Update V8 DEPS.
Rolling v8/build: 876f9d1..2fe6f54

Rolling v8/buildtools: f4bcb07..ceb0504

Rolling v8/third_party/catapult: 5db5135..2ebc30b

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

Change-Id: I728e0948c9af65fab07a79b6c415dde5f08e6681
Reviewed-on: https://chromium-review.googlesource.com/615140
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47355}
2017-08-15 03:34:19 +00:00
Alexey Kozyatinskiy
6ceee53698 [inspector] aligned Runtime.evaluate(awaitPromise: true) with await semantic
This one allows us to support custom promises implementation.
With awaitPromise flag Runtime.evaluate awaits
Promise.resolve(<expression result>).
This also allows to await for any non-Promise value, similar to await
expression, which is more convenient for most protocol users.

R=dgozman@chromium.org

Bug: chromium:755104
Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
Change-Id: Iee798b33b6fb7de7d393372e164c0481d1bbf7eb
Reviewed-on: https://chromium-review.googlesource.com/614308
Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47354}
2017-08-15 01:35:29 +00:00
Deepti Gandluri
3a30f60d05 [wasm] Refactor mjsunit atomics tests into smaller tests
Tests were monolithic, with large loops, and slow on ARM64. Refactor to
small tests so they can be sharded better, reduce page size to 1 to
keep the loops small.

BUG=v8:6532

Change-Id: I712551564d4a70fc12acdf114922feb614aeb271
Reviewed-on: https://chromium-review.googlesource.com/611614
Reviewed-by: Ben Smith <binji@chromium.org>
Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47353}
2017-08-14 23:46:10 +00:00
Sathya Gunasekaran
f6e20fcbba [modules] Fix dynamic import in eval
In the case of a function constructor or eval, we create a new script
object which doesn't have a script name. In this case, we traverse
upwards on the list of SFI's through script->eval_from_shared() to get
the outermost script that was not an eval script and get the script
name from that script.

Bug: chromium:746909, v8:6683, v8:5785
Change-Id: I430459f632a0e3b18fc3111a5cf1c00cedb9f520
Reviewed-on: https://chromium-review.googlesource.com/606701
Commit-Queue: Sathya Gunasekaran <gsathya@chromium.org>
Reviewed-by: Adam Klein <adamk@chromium.org>
Reviewed-by: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47352}
2017-08-14 23:21:49 +00:00
Ali Ijaz Sheikh
13a990aa8f add .vscode to .gitignore
Bug: 
Change-Id: I5698f846e72e4f86b392a0c745a9f4793c7f4f25
Reviewed-on: https://chromium-review.googlesource.com/608584
Reviewed-by: Adam Klein <adamk@chromium.org>
Commit-Queue: Ali Ijaz Sheikh <ofrobots@google.com>
Cr-Commit-Position: refs/heads/master@{#47351}
2017-08-14 23:18:09 +00:00
Mircea Trofin
4b397e6c90 [wasm] Reuse reloc info size and address accessors.
The way we access wasm addresses or sizes is the same, on
a platform. We have 2 size parameters - memory and table - and
2 addresses - globals and memory.

The CL also renames for generality the address setting API.

Bug: 
Change-Id: Ib66c3aff6a0ab4313391528cd2692749bb389559
Reviewed-on: https://chromium-review.googlesource.com/612597
Commit-Queue: Brad Nelson <bradnelson@chromium.org>
Reviewed-by: Brad Nelson <bradnelson@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47350}
2017-08-14 22:20:29 +00:00
Adam Klein
832d5f9770 [parser] Remove unused BlockState arg from ParseStandardForLoop()
Change-Id: I612b7500556eb9763d6668716b1b7331e31f3079
Reviewed-on: https://chromium-review.googlesource.com/614399
Reviewed-by: Sathya Gunasekaran <gsathya@chromium.org>
Commit-Queue: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47349}
2017-08-14 21:04:49 +00:00
Sampson Gao
3bae8d6c4e S390: Fix missing unordered check for float
R=bjaideep@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com

Bug: 
Change-Id: I80bbb38800c9c43e95045f5db5b63894a5a0711a
Reviewed-on: https://chromium-review.googlesource.com/614113
Reviewed-by: Jaideep Bajwa <bjaideep@ca.ibm.com>
Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#47348}
2017-08-14 20:59:14 +00:00
Mostyn Bramley-Moore
cddbe282c6 Start preparing test/cctest for jumbo compilation
* Avoid "using namespace" statements, which trigger clang's -Wheader-hygiene
  warnings in jumbo builds.
* Undefine created macros at the end of source files.

BUG=chromium:746958

Change-Id: I5d25432c314437f607b0e1be22765a6764267ba6
Reviewed-on: https://chromium-review.googlesource.com/610962
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Mostyn Bramley-Moore <mostynb@opera.com>
Cr-Commit-Position: refs/heads/master@{#47347}
2017-08-14 20:58:10 +00:00
Karl Schimpf
4c503b65d9 Throw a WasmErrorObject rather than an integer.
Fixes the implementation of wasm exceptions to use a WasmRuntimeError
object, and set the exception tag value as a property of the
object. This guarantees that an uncaught wasm exception is treated
like all other runtime errors.

Bug: v8:6577
Change-Id: I0ab0130444e745178e86c23b3bc9fc9f385c8d05
Reviewed-on: https://chromium-review.googlesource.com/611124
Reviewed-by: Bill Budge <bbudge@chromium.org>
Reviewed-by: Eric Holk <eholk@chromium.org>
Commit-Queue: Karl Schimpf <kschimpf@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47346}
2017-08-14 20:52:50 +00:00
Franziska Hinkelmann
1c9b1635a2 Add benchmark for TypedArray.prototype.set from array-like
Add benchmark for TypedArray.prototype.set from
a regular array.

Bug: v8:6704
Change-Id: I350960dec530c06e7cad62eec1f977d8fda97347
Reviewed-on: https://chromium-review.googlesource.com/613163
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Franziska Hinkelmann <franzih@chromium.org>
Cr-Commit-Position: refs/heads/master@{#47345}
2017-08-14 19:45:49 +00:00
Jaideep Bajwa
22611e8e84 PPC/s390: [Interpreter] Remove new.target from fixed frame slot.
Port c820b89bc5

Original Commit Message:

    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.

R=rmcilroy@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=
LOG=N

Change-Id: Ifb93179153016ad989c6ae3675554e70c426e2fa
Reviewed-on: https://chromium-review.googlesource.com/612746
Reviewed-by: Joran Siu <joransiu@ca.ibm.com>
Commit-Queue: Jaideep Bajwa <bjaideep@ca.ibm.com>
Cr-Commit-Position: refs/heads/master@{#47344}
2017-08-14 19:39:09 +00:00
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