Commit Graph

38289 Commits

Author SHA1 Message Date
bradnelson
40ab666bca Add checkdeps to tools/presubmit.py.
Adding a full run of checkdeps to tools/presubmit.py so that we keep
checkdeps green. PRESUBMIT.py checks only incremental changes.

Temporarily disabling a check rule that's broker in the inspector,
pending owners fix.

BUG=
R=machenbach@chromium.org,dgozman@chromium.org,eholk@chromium.org

Review-Url: https://codereview.chromium.org/2705333005
Cr-Commit-Position: refs/heads/master@{#43397}
2017-02-23 23:15:49 +00:00
Ross McIlroy
990c59d8b9 Revert "[Counters] Add HistorgramTimers for optimized compile."
This reverts commit 8307ab709d.

Reason for revert: Breaks TSAN

Original change's description:
> [Counters] Add HistorgramTimers for optimized compile.
> 
> Will be used for UMA to track time spent optimizing code in the wild.
> 
> Change-Id: Ibc01540552eac4cb9224f1cb6cc11a55aae5834d
> Reviewed-on: https://chromium-review.googlesource.com/444345
> Reviewed-by: Michael Stanton <mvstanton@chromium.org>
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#43374}

TBR=rmcilroy@chromium.org,mvstanton@chromium.org,machenbach@chromium.org,hablich@chromium.org
# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: I1cfc2ee599b9ba0132e69c8a61b21ff32c74f68e
Reviewed-on: https://chromium-review.googlesource.com/446360
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43396}
2017-02-23 22:04:33 +00:00
machenbach
bdd23acd92 Revert of [inspector] use BREAK_POSITION_ALIGNED for breakpoints (patchset #7 id:120001 of https://codereview.chromium.org/2709263002/ )
Reason for revert:
breaks layout tests:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/13747

which blocks rolling. See also:
https://github.com/v8/v8/wiki/Blink-layout-tests

Original issue's description:
> [inspector] use BREAK_POSITION_ALIGNED for breakpoints
>
> With inline breakpoints DevTools are ready for break position aligned breakpoints instead of statement aligned.
>
> BUG=chromium:695236
> R=dgozman@chromium.org,yangguo@chromium.org
>
> Review-Url: https://codereview.chromium.org/2709263002
> Cr-Commit-Position: refs/heads/master@{#43385}
> Committed: 2fed7a0090

TBR=dgozman@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:695236

Review-Url: https://codereview.chromium.org/2709313003
Cr-Commit-Position: refs/heads/master@{#43395}
2017-02-23 20:27:08 +00:00
adamk
837760ecb7 Remove tiny unit test for MinSimple/MaxSimple
The source code of those functions is simple a ternary operator, and
the test seems to have been designed as a "regression" test for the
previous implementation (which used a macro, and thus evaluated its
arguments multiple times).

I don't think the test is worth the weight of supporting importing
JS natives from tests.

This patch removes the last test that depends on JS natives.

R=littledan@chromium.org

Review-Url: https://codereview.chromium.org/2711833002
Cr-Commit-Position: refs/heads/master@{#43394}
2017-02-23 18:19:16 +00:00
adamk
184e80a60d Remove a regression test that depended on utils.ImportNow()
The test itself was for an issue that's handled statically since
https://codereview.chromium.org/1302313013 (we were missing some
instance types in a switch statement).

This leaves us with only a single test that depends on the JS
native import system.

R=littledan@chromium.org

Review-Url: https://codereview.chromium.org/2707133005
Cr-Commit-Position: refs/heads/master@{#43393}
2017-02-23 17:31:51 +00:00
neis
32f60470d5 [modules] When debug-printing a module, print its origin if possible.
BUG=v8:1569

Review-Url: https://codereview.chromium.org/2711123002
Cr-Commit-Position: refs/heads/master@{#43392}
2017-02-23 17:10:15 +00:00
neis
c0651535d5 [interpreter] Teach --print-bytecode the names of runtime functions and intrinsics.
This changes the bytecode decoder such that --print-bytecode will print

    ... CallRuntime [GeneratorGetResumeMode] ...
    ... InvokeIntrinsic [CreateIterResultObject] ...

instead of

    ... CallRuntime [762] ...
    ... InvokeIntrinsic [2] ...

The printing of CallJSRuntime remains unchanged.

R=gsathya@chromium.org, rmcilroy@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2712943002
Cr-Commit-Position: refs/heads/master@{#43391}
2017-02-23 14:25:45 +00:00
jbroman
68960eeb76 ValueDeserializer: Make sure that an exception is the legacy path.
The entry points to the deserializer are responsible for ensuring that an
exception is pending by the time they return. Some failures throw exceptions
themselves, while others (like errors in the format) are exceptions caused by
the deserializer, not coming from the runtime.

Like the non-legacy path, a default deserialization exception should be thrown
in such cases.

BUG=chromium:693411

Review-Url: https://codereview.chromium.org/2712713002
Cr-Commit-Position: refs/heads/master@{#43390}
2017-02-23 13:23:00 +00:00
Marja Hölttä
2a2fc69221 [parser] Skipping inner funcs: enable more strict mode tests.
Non-simple parameters are only disallowed when a function declares itself
strict, but they're otherwise ok in strict mode.

Enabling these tests will expose more problems when scope data for arrow
functions is tested (in a future CL).

BUG=v8:5516
R=vogelheim@chromium.org

Change-Id: I839ad37d46305975a56aff20e8ca70505c16bf1d
Reviewed-on: https://chromium-review.googlesource.com/446497
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Commit-Queue: Daniel Vogelheim <vogelheim@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43389}
2017-02-23 12:53:32 +00:00
Marja Hölttä
83849da70f [iwyu] Pre-work for removing unallowed include macro-assembler.h -> assembler-inl.h
BUG=v8:5294

Change-Id: If45f25aae8de526027b7851cb4efe0ccf4a7c4b1
Reviewed-on: https://chromium-review.googlesource.com/444226
Commit-Queue: Marja Hölttä <marja@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43388}
2017-02-23 12:10:21 +00:00
ivica.bogosavljevic
8e89201a4d MIPS: Fix unaligned read and write in wasm-debug.cc
Fix crashes in two tests cctest/test-wasm-interpreter-entry/TestArgumentPassing_AllTypes and
cctest/test-wasm-interpreter-entry/TestArgumentPassing_float_double related to accessing
double value through unaligned pointer. This issue is present on those architectures
that do not support unaligned access.

TEST=cctest/test-wasm-interpreter-entry/TestArgumentPassing_AllTypes,
     cctest/test-wasm-interpreter-entry/TestArgumentPassing_float_double
BUG=

Review-Url: https://codereview.chromium.org/2705253003
Cr-Commit-Position: refs/heads/master@{#43387}
2017-02-23 10:54:10 +00:00
v8-autoroll
24eed5d2e4 Update V8 DEPS.
Rolling v8/build: 8b6a679..2383361

Rolling v8/buildtools: a7cc7a3..7e53759

Rolling v8/test/wasm-js: bfb1fc4..1e5c9c4

Rolling v8/third_party/catapult: d9036c9..56214f6

Rolling v8/third_party/icu: 9cd2828..450be73

Rolling v8/tools/clang: 8da96ea..9982bd3

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

Change-Id: Iaedc4e09880836813a74a374f912e891c1769dc1
Reviewed-on: https://chromium-review.googlesource.com/446597
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43386}
2017-02-23 04:27:21 +00:00
kozyatinskiy
2fed7a0090 [inspector] use BREAK_POSITION_ALIGNED for breakpoints
With inline breakpoints DevTools are ready for break position aligned breakpoints instead of statement aligned.

BUG=chromium:695236
R=dgozman@chromium.org,yangguo@chromium.org

Review-Url: https://codereview.chromium.org/2709263002
Cr-Commit-Position: refs/heads/master@{#43385}
2017-02-23 00:05:26 +00:00
bakkot
18e4c46de5 [parser] Lift template literal invalid escape restriction
This implements the proposal at
https://github.com/tc39/proposal-template-literal-revision
staged behind a flag --harmony-template-escapes. The proposal allows
invalid octal, unicode, and hexadecimal escape sequences to appear in
tagged template literals, instead of being a syntax error. These have
a 'cooked' value of 'undefined', but are still accessible through the
'raw' property.

BUG=v8:5546

Review-Url: https://codereview.chromium.org/2665513002
Cr-Commit-Position: refs/heads/master@{#43384}
2017-02-22 21:20:32 +00:00
titzer
6a09a41622 [wasm] Remove support for experimental version 0xD.
R=mtrofin@chromium.org
BUG=chromium:575167,chromium:694657

Review-Url: https://codereview.chromium.org/2709753003
Cr-Original-Commit-Position: refs/heads/master@{#43368}
Committed: c8329253ea
Review-Url: https://codereview.chromium.org/2709753003
Cr-Commit-Position: refs/heads/master@{#43383}
2017-02-22 21:02:39 +00:00
bjaideep
f8158cdbdb PPC/s390: [wasm] Use builtins wrappers for traps
Port 73d45c9630

Original Commit Message:

    With this CL the out-of-line code of TrapIf will call a builtin instead
    of doing a direct runtime call, which is cheaper. In the best case, the
    out-of-line code now consists of a single call instruction. The builtin
    will load the trapID and then call the runtime to throw a trap.

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

Review-Url: https://codereview.chromium.org/2713433003
Cr-Commit-Position: refs/heads/master@{#43382}
2017-02-22 16:24:39 +00:00
littledan
d1160fb14f [SAB] Remove unreachable Uint8Clamped atomics paths
Also drive-by naming fix from the previous patch.

R=binji

Review-Url: https://codereview.chromium.org/2702153005
Cr-Commit-Position: refs/heads/master@{#43381}
2017-02-22 16:19:20 +00:00
bjaideep
7a21d13779 PPC/s390: [debugger] remove debugger statement support from FCG/CS.
Port 3f303da292

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

Review-Url: https://codereview.chromium.org/2672813002
Cr-Original-Commit-Position: refs/heads/master@{#42898}
Review-Url: https://codereview.chromium.org/2704303006
Cr-Commit-Position: refs/heads/master@{#43380}
2017-02-22 16:08:45 +00:00
Ross McIlroy
fb62b8c30f Remove over-zelous DCHECK in IdentityMap.
During scavanges multiple different ThinStrings can end up pointing to the
same internalized string. This means that the same key/value pair can be
re-inserted during rehash operations, so the values_[index] might not
be null when inserting the value.

BUG=chromium:695029

Change-Id: I5f693586bb60d5a2bbe89f05cb5b7f5fe26a23b2
Reviewed-on: https://chromium-review.googlesource.com/446380
Reviewed-by: Ben Titzer <titzer@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43379}
2017-02-22 16:04:38 +00:00
Michael Lippautz
e800933eee [heap] Refactor evacuation routine
Have clear prologue and epilogue steps. For a minor MC we can then
templatize the prologue without changing the actual evacuation routine.

BUG=chromium:651354

Change-Id: Ia238748e90bc6b616cd813d31198de182fe11498
Reviewed-on: https://chromium-review.googlesource.com/445898
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43378}
2017-02-22 15:15:11 +00:00
jkummerow
b008f27f02 [tools] Introduce gm.py
Convenience wrapper around building with gn/ninja and running tests.
Follows Makefile syntax, but is more flexible; see --help.
Pro tip: alias gm="tools/dev/gm.py"

NOTRY=true

Review-Url: https://codereview.chromium.org/2713663002
Cr-Commit-Position: refs/heads/master@{#43377}
2017-02-22 15:09:28 +00:00
Michael Starzinger
beb94c5e87 [turbofan] Fix Object.prototype.__proto__ getter reduction.
This fixes a corner-case where the call reduction of the aforementioned
getter did not simulate the {ToObject} conversion of the receiver value
as required by the spec. This caused the wrong prototype to be constant
promoted (i.e. {null} instead of wrapper object prototype).

R=jarin@chromium.org
TEST=mjsunit/regress/regress-crbug-694709
BUG=chromium:694709

Change-Id: Idf3a37071949d9ddaf5ef43974570c06fd31c0c9
Reviewed-on: https://chromium-review.googlesource.com/445818
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43376}
2017-02-22 15:07:49 +00:00
Michael Starzinger
2bc222b0ef Revert "[turbofan] Handle comparison operations in early lowering."
This reverts commit 14de196a12.

Reason for revert: Tanks Mandreel, fix is in flight, but we want a stable baseline first. Will reland again next week.

Original change's description:
> [turbofan] Handle comparison operations in early lowering.
> 
> This handles relational comparison operations (no equality yet) having
> number feedback during the early type-hint lowering (i.e. during graph
> construction).
> 
> R=​bmeurer@chromium.org
> 
> Change-Id: I0ac1539f85de1770c3d518855754550932f6fcd3
> Reviewed-on: https://chromium-review.googlesource.com/445716
> Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
> Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#43365}

TBR=mstarzinger@chromium.org,jarin@chromium.org,bmeurer@chromium.org,rmcilroy@chromium.org,v8-reviews@googlegroups.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I103d976c9b9b73ca67af6f6a32ea47a52d04c123
Reviewed-on: https://chromium-review.googlesource.com/446358
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43375}
2017-02-22 15:06:32 +00:00
Ross McIlroy
8307ab709d [Counters] Add HistorgramTimers for optimized compile.
Will be used for UMA to track time spent optimizing code in the wild.

Change-Id: Ibc01540552eac4cb9224f1cb6cc11a55aae5834d
Reviewed-on: https://chromium-review.googlesource.com/444345
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43374}
2017-02-22 14:28:50 +00:00
machenbach
5004748868 Revert of [wasm] Remove support for experimental version 0xD. (patchset #3 id:40001 of https://codereview.chromium.org/2709753003/ )
Reason for revert:
Breaks layout tests:
https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/13730

Original issue's description:
> [wasm] Remove support for experimental version 0xD.
>
> R=mtrofin@chromium.org
> BUG=chromium:575167,chromium:694657
>
> Review-Url: https://codereview.chromium.org/2709753003
> Cr-Commit-Position: refs/heads/master@{#43368}
> Committed: c8329253ea

TBR=ahaas@chromium.org,mtrofin@chromium.org,titzer@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:575167,chromium:694657

Review-Url: https://codereview.chromium.org/2706303004
Cr-Commit-Position: refs/heads/master@{#43373}
2017-02-22 13:59:23 +00:00
Ross McIlroy
38262dde22 Revert "[Compiler] Use IdentityMap to store jobs in CompilerDispatcher."
This reverts commit 087e95ba63.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> [Compiler] Use IdentityMap to store jobs in CompilerDispatcher.
> 
> Stores jobs in an IdentityMap keyed by their SharedFunctionInfo to enable
> fast checking of whether a job is enqueued.
> 
> BUG=v8:5203
> 
> Change-Id: I6c37972093515a27077f79594cad27e32e1a4e7c
> Reviewed-on: https://chromium-review.googlesource.com/444768
> Reviewed-by: Jochen Eisinger <jochen@chromium.org>
> Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
> Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#43370}

TBR=rmcilroy@chromium.org,jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5203

Change-Id: I5d1101bdae6939378dad595b26698fe2aaaad35e
Reviewed-on: https://chromium-review.googlesource.com/446357
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43372}
2017-02-22 13:46:33 +00:00
yangguo
4a655cbe0c [debugger] extend side effect free debug-evaluate to Array builtins.
R=jgruber@chromium.org
BUG=v8:5821

Review-Url: https://codereview.chromium.org/2695933005
Cr-Commit-Position: refs/heads/master@{#43371}
2017-02-22 13:29:40 +00:00
Ross McIlroy
087e95ba63 [Compiler] Use IdentityMap to store jobs in CompilerDispatcher.
Stores jobs in an IdentityMap keyed by their SharedFunctionInfo to enable
fast checking of whether a job is enqueued.

BUG=v8:5203

Change-Id: I6c37972093515a27077f79594cad27e32e1a4e7c
Reviewed-on: https://chromium-review.googlesource.com/444768
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43370}
2017-02-22 12:35:33 +00:00
jgruber
acd859895b [string] Unpack external strings in String.prototype.indexOf
This CL allows the String.p.indexOf fast path to handle one-byte
external strings (in addition to one-byte sequential strings).

BUG=

Review-Url: https://codereview.chromium.org/2705193002
Cr-Commit-Position: refs/heads/master@{#43369}
2017-02-22 12:08:00 +00:00
titzer
c8329253ea [wasm] Remove support for experimental version 0xD.
R=mtrofin@chromium.org
BUG=chromium:575167,chromium:694657

Review-Url: https://codereview.chromium.org/2709753003
Cr-Commit-Position: refs/heads/master@{#43368}
2017-02-22 12:06:09 +00:00
jgruber
c7add4ce57 [csa] Add Unreachable() and use it after throw sites
This should improve readability, code generation, and ensure that
we verify such locations are never reached.

BUG=

Review-Url: https://codereview.chromium.org/2705163005
Cr-Commit-Position: refs/heads/master@{#43367}
2017-02-22 12:02:34 +00:00
Andreas Haas
73d45c9630 [wasm] Use builtins wrappers for traps
With this CL the out-of-line code of TrapIf will call a builtin instead
of doing a direct runtime call, which is cheaper. In the best case, the
out-of-line code now consists of a single call instruction. The builtin
will load the trapID and then call the runtime to throw a trap.

R=titzer@chromium.org, clemensh@chromium.org

Change-Id: I8a75ba09f40236a3d5cbdc17c1317baf0a3c915a
Reviewed-on: https://chromium-review.googlesource.com/445937
Commit-Queue: Andreas Haas <ahaas@chromium.org>
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43366}
2017-02-22 12:01:02 +00:00
Michael Starzinger
14de196a12 [turbofan] Handle comparison operations in early lowering.
This handles relational comparison operations (no equality yet) having
number feedback during the early type-hint lowering (i.e. during graph
construction).

R=bmeurer@chromium.org

Change-Id: I0ac1539f85de1770c3d518855754550932f6fcd3
Reviewed-on: https://chromium-review.googlesource.com/445716
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43365}
2017-02-22 10:41:31 +00:00
Peter Marshall
56312be185 [cleanup] Refactor builtins-typedarray.cc to use TF_BUILTIN macro.
This is in preparation for porting TypedArrayInitialize to CSA.

BUG=v8:5977

Change-Id: I8b4b4bc7a30f3d0dedf85081bb47ec613c7fce52
Reviewed-on: https://chromium-review.googlesource.com/445259
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43364}
2017-02-22 10:33:43 +00:00
yangguo
901c29eb1c [inspector] extend protocol for code coverage.
R=jgruber@chromium.org, kozyatinskiy@chromium.org, pfeldman@chromium.org
BUG=v8:5808

Review-Url: https://codereview.chromium.org/2700743002
Cr-Commit-Position: refs/heads/master@{#43363}
2017-02-22 10:21:57 +00:00
Ross McIlroy
e2de1b8696 Add support to IdentityMap for deletion, iteration and AllocationPolicy.
In order to use the IdentityMap in the CompilerDispatcher the following
support is added:
 - Support for deleting entries
 - Support for iterating through the entries.
 - Support for AllocationPolicy to enable non-zone allocation of backing
   stores.
 - Also refactors the code a bit.

BUG=v8:5203

Change-Id: I8b616cba8ae9dc22a7f4d76070fbb318c4edc80d
Reviewed-on: https://chromium-review.googlesource.com/444409
Reviewed-by: Ben Titzer <titzer@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43362}
2017-02-22 10:20:15 +00:00
dcheng
96eda1f7d1 Fix receiver checks for v8::Function on a remote context receiver.
v8 allows the embedder to specify a global template to use when
creating a new context. However, v8 does not use the supplied
template directly when creating the global proxy: it creates a
unique template for each global proxy. However, this is problematic
for remote contexts: functions cannot use strict receiver checks
with the remote context, as the global template will never match
the global proxy.

To fix this, remote contexts now also include a remote global
object in the prototype chain that is instantiated with the global
template. This mirrors the way the global proxy is configured for a
full v8 context, and allows strict receiver checks to work.

BUG=527190

Review-Url: https://codereview.chromium.org/2677653002
Cr-Commit-Position: refs/heads/master@{#43361}
2017-02-22 10:13:24 +00:00
yangguo
3f303da292 [debugger] remove debugger statement support from FCG/CS.
R=mstarzinger@chromium.org

Review-Url: https://codereview.chromium.org/2650193002
Cr-Original-Commit-Position: refs/heads/master@{#42892}
Committed: eef855a1dc
Review-Url: https://codereview.chromium.org/2650193002
Cr-Commit-Position: refs/heads/master@{#43360}
2017-02-22 08:45:09 +00:00
v8-autoroll
02136e1088 Update V8 DEPS.
Rolling v8/build: 769428e..8b6a679

Rolling v8/test/wasm-js: 193fcb4..bfb1fc4

Rolling v8/third_party/catapult: 71c4c9a..d9036c9

Rolling v8/tools/clang: 799a6a3..8da96ea

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

Change-Id: I3128c72b8d2760996a652be6e52fbc0831fdc686
Reviewed-on: https://chromium-review.googlesource.com/446156
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43359}
2017-02-22 04:23:57 +00:00
Caitlin Potter
4cd8a8b784 [builtins] fix slow-path handling of -Infinity in ArrayIncludes
This is a speculative fix, but I believe it might work.

Idea is to keep `start_from` as a double while establishing an appropriate
index to begin iteration. This should keep -Infinity intact rather than
converting it to a positive high value, which would break the algorithm.
This is similar to what had been implemented on the fast path before it was
changed to send non-Smis to the slow path.

BUG=v8:5986
R=bmeurer@chromium.org, cbruni@chromium.org, machenbach@chromium.org, adamk@chromium.org

Change-Id: I9965fd2e75a8972f3f1c7a18e51bd580030a66ea
Reviewed-on: https://chromium-review.googlesource.com/445857
Commit-Queue: Caitlin Potter <caitp@igalia.com>
Reviewed-by: Adam Klein <adamk@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43358}
2017-02-21 23:31:39 +00:00
binji
8235558bd0 [SAB] Test262 Agent harness
Review-Url: https://codereview.chromium.org/2658933004
Cr-Commit-Position: refs/heads/master@{#43357}
2017-02-21 19:59:05 +00:00
bjaideep
af76645baa PPC/s390: [everywhere] Custom representation for frame type
Port fd596007f2

Original Commit Message:

    Use an opaque format for the frame type marker on the stack, where the
    marker is simply shifted left by 1 instead of being a Smi. This allows
    us to generate simpler code for frame initialisation, as we can push a
    smaller value, decreasing the prologue by 4 bytes and one instruction.

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

Review-Url: https://codereview.chromium.org/2709483007
Cr-Commit-Position: refs/heads/master@{#43356}
2017-02-21 19:21:29 +00:00
jyan
3e168a1ccf s390: enable -march=z196 flag
R=joransiu@ca.ibm.com, bjaideep@ca.ibm.com, machenbach@chromium.org, jkummerow@chromium.org, jochen@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2707103002
Cr-Commit-Position: refs/heads/master@{#43355}
2017-02-21 18:44:01 +00:00
adamk
abb9eda40d [api] Use CHECK instead of DCHECK for IsModule tests in ScriptCompiler
This is such a mis-use of the API that it's important to fail fast:
this patch was prompted by a bug report from a Node.js developer
trying to use CompileModule() without passing a properly
module-tagged ScriptOrigin.

R=jochen@chromium.org, neis@chromium.org
BUG=v8:1569

Review-Url: https://codereview.chromium.org/2695713014
Cr-Commit-Position: refs/heads/master@{#43354}
2017-02-21 18:25:18 +00:00
clemensh
e6819ee286 [wasm] Test argument passing in the interpreter entry
Test the wasm interpreter entry stub by creating two wasm functions A
and B, make A pass arguments to B, then redirect B to be executed in the
interpreter.
Test different number and types or arguments.

BUG=v8:5822
R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/2651793003
Cr-Commit-Position: refs/heads/master@{#43353}
2017-02-21 18:21:31 +00:00
clemensh
cc805e42af [wasm] Enforce module size limit early enough
The limit needs to be checked before casting the length to int in
ModuleWireBytes.

R=titzer@chromium.org
BUG=694433

Review-Url: https://codereview.chromium.org/2705233002
Cr-Commit-Position: refs/heads/master@{#43352}
2017-02-21 18:13:02 +00:00
ulan
fa5304d1aa [heap] Unconditionally mark objects that undergo unsafe layout changes.
In the upcoming concurrent marking protocol the main thread will have to
mark objects before performing unsafe layout change.

This patch is an experiment for evaluating memory the impact of marking
an object on layout change.

BUG=chromium:694255

Review-Url: https://codereview.chromium.org/2706213002
Cr-Commit-Position: refs/heads/master@{#43351}
2017-02-21 17:58:36 +00:00
mtrofin
caa1d4b262 [wasm] Managed<T> ensures T's lifetime does not leak past Isolate's
Native resources allocated by v8, as internal implementation detail,
and held by a Foreign object, must be released when the Isolate is
torn down. Example: wasm::WasmModule allocated by wasm compile, and
held throughout the lifetime of the WebAssembly.Module object.

This change:
- Extends Managed<CppType> with a mechanism for doing just that
- Separates the role of Managed<CppType> to be strictly an owner of
the lifetime of the native resource. For cases where that's not
desirable, we can polymorphically use Foregin.
- moves managed.h out of wasm, since it's not wasm-specific.

BUG=680065

Review-Url: https://codereview.chromium.org/2676513008
Cr-Commit-Position: refs/heads/master@{#43350}
2017-02-21 17:23:38 +00:00
Michael Achenbach
a49ff6abb7 [foozzie] Add better default configs for correctness fuzzing
This should make http://crbug.com/694535 quiet.

BUG=chromium:694535
NOTRY=true
TBR=mstarzinger@chromium.org,jarin@chromium.org

Change-Id: I268c810662b274b45842aa22d840330b5c984277
Reviewed-on: https://chromium-review.googlesource.com/445645
Reviewed-by: Michael Achenbach <machenbach@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43349}
2017-02-21 17:01:01 +00:00
bbudge
9fe0b4c708 [V8] Implement SIMD Boolean vector types to allow mask registers.
- Adds new machine types SimdBool4/8/16 for the different boolean vector types.
- Adds a kSimdMaskRegisters flag for each platform. These are all false for now.
- Removes Create, ExtractLane, ReplaceLane, Equal, NotEqual, Swizzle and Shuffle
  opcodes from the Boolean types. These are unlikely to be well supported natively,
  and can be synthesized using Select.
- Changes the signature of Relational opcodes to return boolean vectors.
- Changes the signature of Select opcodes to take boolean vectors.
- Updates the ARM implementation of Relational and Select opcodes.

LOG=N
BUG=v8:4124

Review-Url: https://codereview.chromium.org/2700813002
Cr-Commit-Position: refs/heads/master@{#43348}
2017-02-21 16:45:30 +00:00