Commit Graph

38206 Commits

Author SHA1 Message Date
v8-autoroll
2ab2bda50d Update V8 DEPS.
Rolling v8/build: 2383361..eefc9cc

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

Rolling v8/third_party/catapult: 56214f6..794fff6

Rolling v8/tools/clang: 9982bd3..4e912d5

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

Change-Id: I5ef9779b8d9b238e0372ac48ec06740c5daba6a6
Reviewed-on: https://chromium-review.googlesource.com/446816
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43414}
2017-02-24 13:39:44 +00:00
titzer
d2a7bcfcf7 [wasm] Move compilation-related methods to CompilationHelper in wasm-module.cc.
This is a refactoring CL in preparation for implementing asynchronous compilation.
It moves all the compilation-related functionality to a helper class which will
make it easier to split into background and foreground tasks which is needed
for concurrent/synchronous execution of compilation.

R=clemensh@chromium.org,ahaas@chromium.org
BUG=v8:6003

Review-Url: https://codereview.chromium.org/2710603006
Cr-Commit-Position: refs/heads/master@{#43413}
2017-02-24 13:27:56 +00:00
Peter Marshall
45dfd76a9c [Test] Add perf tests for TypedArray constructors.
Adds a perf test for constructing a TypedArray from a regular array,
and from a pre-made ArrayBuffer. Runs both new tests with default and
future configurations for comparison.

BUG=v8:5977

Change-Id: Idd132ca879702c54b2947a0e57ed8fe782f2767f
Reviewed-on: https://chromium-review.googlesource.com/446342
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Peter Marshall <petermarshall@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43412}
2017-02-24 13:06:10 +00:00
Marja Hölttä
6b5ab92315 [parser] Skipping inner funcs: omit uninteresting scopes in the data.
This is also needed so that PreParser doesn't need to gather more data for arrow
function params in order to create the uninteresting varblock scopes matching
the scopes created in Parser::BuildParameterInitializationBlock.

This cancels the changes in https://chromium-review.googlesource.com/c/444747
which make PreParser create uninteresting scopes for the normal (non-arrow)
function "eval in default param" case.

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

Change-Id: I8957ac0796d8738c63492f7928bca6f00e4b4241
Reviewed-on: https://chromium-review.googlesource.com/446339
Reviewed-by: Daniel Vogelheim <vogelheim@chromium.org>
Commit-Queue: Marja Hölttä <marja@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43411}
2017-02-24 12:20:25 +00:00
Igor Sheludko
3233afb626 [ic] Move code from ic-compiler.h/.cc to KeyedStoreIC.
This is a preliminary cleanup necessary for the actual fix of the associated issue.

BUG=chromium:688734

Change-Id: Iecd39ed4cef34c6cc5d9652c5569e048f0db46af
Reviewed-on: https://chromium-review.googlesource.com/446341
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43410}
2017-02-24 10:32:48 +00:00
clemensh
e0e8b2a2f2 [wasm] Remove remaining occurences of the context in wasm code
The only remaining allowed occurence of a context is in WASM_TO_JS
code, which is regenerated for each instance.
This CL removes all the rest, to avoid subtle bugs where we might
forget to patch it. By renaming the BuildCallToRuntime method, we make
sure that noone accidentially calls the version which embeds a context.
For consistency, I even remove it from the WasmRunInterpreter stub,
which is never reused for new instantiations.

R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/2708743003
Cr-Commit-Position: refs/heads/master@{#43409}
2017-02-24 09:59:23 +00:00
ivica.bogosavljevic
5b8f1f84a4 MIPS64: Fix corner case for Word64And(Word64Shr(val,0)) reduction
In instruction selector, in the reduction of Word64And(Word64Shr(val,0),
0xFFF...) to EXT instruction, the case where shift value is 0 and mask is
0xFFFFFFFFFFFFFFFF was not supported. We now generate NOP for this case
since no bit extraction is necessary.
We implement the same behavior for MIPS32 even though there are no tests
that are failing.

TEST=cctest/test-run-machops/Regression5951
BUG=

Review-Url: https://codereview.chromium.org/2718433002
Cr-Commit-Position: refs/heads/master@{#43408}
2017-02-24 09:58:11 +00:00
bmeurer
208014abea [turbofan] TurboFan doesn't use String allocation pretenuring feedback.
We can make Heap::UpdateAllocationSite cheaper for TurboFan, because
there's no need to check for allocation mementos on Strings in case of
the TurboFan pipeline.

R=mvstanton@chromium.org

Review-Url: https://codereview.chromium.org/2710303002
Cr-Commit-Position: refs/heads/master@{#43407}
2017-02-24 09:19:04 +00:00
yangguo
9db139e120 [inspector] fix coverage test flakiness.
TBR=kozyatinskiy@chromium.org
BUG=chromium:695631

Review-Url: https://codereview.chromium.org/2718543005
Cr-Commit-Position: refs/heads/master@{#43406}
2017-02-24 09:17:56 +00:00
Jochen Eisinger
d3cc730b45 Add a getter for the last entered context or microtask context
This is used for internal security checks in eval(). Expose this to
enable the embedder to implement similar security checks.

R=yangguo@chromium.org
BUG=

Change-Id: I10819713b19527622de5ffffac313d126a887c05
Reviewed-on: https://chromium-review.googlesource.com/446106
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43405}
2017-02-24 09:17:51 +00:00
machenbach
157e1e83ec Revert of [inspector] removed unused #include "include/v8-debug.h" (patchset #2 id:20001 of https://codereview.chromium.org/2710243002/ )
Reason for revert:
breaks presubmit on CI which runs checkdeps

Original issue's description:
> [inspector] removed unused #include "include/v8-debug.h"
>
> We don't call any of v8::Debug methods in src/inspector codebase and should use debug-interface.h instead.
>
> BUG=none
> R=dgozman@chromium.org
>
> Review-Url: https://codereview.chromium.org/2710243002
> Cr-Commit-Position: refs/heads/master@{#43398}
> Committed: 838b1a8841

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

Review-Url: https://codereview.chromium.org/2719433002
Cr-Commit-Position: refs/heads/master@{#43404}
2017-02-24 08:36:22 +00:00
Michael Achenbach
ca78be3dde Whitespace after outage
BUG=chromium:695777
NOTRY=true
TBR=tandrii@chromium.org

Review-Url: https://codereview.chromium.org/2714893003 .
Cr-Commit-Position: refs/heads/master@{#43403}
2017-02-24 08:32:53 +00:00
shiyu.zhang
bd74f1cf57 [turbofan] Relax limitation for using BaseWithIndexAndDisplacement for load/stores
Enable using BaseWithIndexAndDisplacement addressing mode for an address
used by multiple load/stores. It can reduce one instruction to calculate
the address and one register to store the address.

BUG=

Review-Url: https://codereview.chromium.org/2620293004
Cr-Commit-Position: refs/heads/master@{#43402}
2017-02-24 06:38:14 +00:00
bmeurer
27fb7b8348 [turbofan] Constant-fold concatenation of strings.
For a + b, where both a and b are known strings at compile
time, and the combined length of a and b doesn't overflow
the maximum allowed string length, we can constant-fold the
string concatenation during compilation.

R=yangguo@chromium.org

Review-Url: https://codereview.chromium.org/2713093003
Cr-Commit-Position: refs/heads/master@{#43401}
2017-02-24 06:21:10 +00:00
kozyatinskiy
59eb62d483 [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-Original-Commit-Position: refs/heads/master@{#43385}
Committed: 2fed7a0090
Review-Url: https://codereview.chromium.org/2709263002
Cr-Commit-Position: refs/heads/master@{#43400}
2017-02-24 02:01:26 +00:00
bradnelson
2375dfe06c [wasm][asm.js] asm->wasm validator off for ignition staging pending revamped parser.
BUG=v8:4203
R=rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/2715743004
Cr-Commit-Position: refs/heads/master@{#43399}
2017-02-23 23:50:34 +00:00
kozyatinskiy
838b1a8841 [inspector] removed unused #include "include/v8-debug.h"
We don't call any of v8::Debug methods in src/inspector codebase and should use debug-interface.h instead.

BUG=none
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2710243002
Cr-Commit-Position: refs/heads/master@{#43398}
2017-02-23 23:29:24 +00:00
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