Commit Graph

38201 Commits

Author SHA1 Message Date
v8-autoroll
0444a96214 Update V8 DEPS.
Rolling v8/build: 33b29e1..957a0ba

Rolling v8/third_party/catapult: 38ed490..2ae07fc

Rolling v8/tools/clang: e96a7b4..61f0bb2

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

Change-Id: I24ee3abd981a32f76a2eba47935e8ac0a5f9203e
Reviewed-on: https://chromium-review.googlesource.com/452322
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43709}
2017-03-10 04:31:13 +00:00
jing.bao
b9614d4bd1 Add several SIMD opcodes to IA32
CreateInt32x4, Int32x4ExtractLane, Int32x4ReplaceLane
Int32x4Add, Int32x4Sub

Also add paddd, psubd, vpaddd, vpsubd, pinsrw to ia32-assembler

BUG=

Review-Url: https://codereview.chromium.org/2695613004
Cr-Original-Commit-Position: refs/heads/master@{#43483}
Committed: 4deb9ffdec
Review-Url: https://codereview.chromium.org/2695613004
Cr-Commit-Position: refs/heads/master@{#43708}
2017-03-10 02:40:06 +00:00
jshin
fd5b3e755d Prepare for ICU's switch to char16_t
ICU's UChar was uint16_t (non-Win) or wchar_t (Windows). It's switching
to char16_t in both C/C++ API. It needs some changes. Fortunately,
v8 needs only a couple of changes because v8 has been using
reinterpret_cast in many places calling ICU API.

This change was confirmed to work fine with ICU-59-to-be.

BUG=v8:6062
TEST=trybot

Review-Url: https://codereview.chromium.org/2738503008
Cr-Commit-Position: refs/heads/master@{#43707}
2017-03-09 20:01:15 +00:00
Camillo Bruni
9ac64ca191 [api] Add v8::Isolate::DumpAndResetStats
Chrome no longer calls v8::Isolate::Dispose on shutdown, essentially preventing
the use of V8 stats within chrome/content_shell. This CL adds a basic hook to
the api that is then used to only print the stats.

Chrome change: https://codereview.chromium.org/2693353002

Change-Id: I1481c14afe611e9c08ae67c815201a45940daa57
Reviewed-on: https://chromium-review.googlesource.com/452338
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43706}
2017-03-09 17:30:42 +00:00
Camillo Bruni
0fb37ad007 Revert "[tools] Show more entries in the ticks-processor"
This reverts commit 8cebe1cc71.

Reason for revert: Failing ticksprocessor tests

Original change's description:
> [tools] Show more entries in the ticks-processor
> 
> - lower the cutoff-threshold for bottom up graphs to 1%
> - show all builtins/stubs/ics by default
> 
> R=​jkummerow@chromium.org
> 
> Change-Id: I85f8c4f00c5f36407bc5d9f81bead8f39a5ef632
> 
> NOTRY=true
> 
> Change-Id: I85f8c4f00c5f36407bc5d9f81bead8f39a5ef632
> Reviewed-on: https://chromium-review.googlesource.com/452300
> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
> Commit-Queue: Camillo Bruni <cbruni@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#43704}

TBR=jkummerow@chromium.org,cbruni@chromium.org,v8-reviews@googlegroups.com
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Change-Id: I4e911778eebcaebaab6658f2956c9fb7c35d0ee3
Reviewed-on: https://chromium-review.googlesource.com/452339
Reviewed-by: Camillo Bruni <cbruni@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43705}
2017-03-09 16:59:10 +00:00
Camillo Bruni
8cebe1cc71 [tools] Show more entries in the ticks-processor
- lower the cutoff-threshold for bottom up graphs to 1%
- show all builtins/stubs/ics by default

R=jkummerow@chromium.org

Change-Id: I85f8c4f00c5f36407bc5d9f81bead8f39a5ef632

NOTRY=true

Change-Id: I85f8c4f00c5f36407bc5d9f81bead8f39a5ef632
Reviewed-on: https://chromium-review.googlesource.com/452300
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43704}
2017-03-09 15:59:36 +00:00
yangguo
1f2a31c863 Move CopyValuesTo to SeededNumberDictionary.
R=ishell@chromium.org
BUG=v8:6073

Review-Url: https://codereview.chromium.org/2737373003
Cr-Commit-Position: refs/heads/master@{#43703}
2017-03-09 15:42:45 +00:00
sreten.kovacevic
3fae880f9e MIPS64: Port "[turbofan] Do not use ubfx for shr+and combination for mask=0."
Port 040fa762df

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

Review-Url: https://codereview.chromium.org/2742773002
Cr-Commit-Position: refs/heads/master@{#43702}
2017-03-09 15:32:36 +00:00
Michael Achenbach
abc055e7b2 [test] Enable test coverage for noturbo
BUG=chromium:682617
R=mstarzinger@chromium.org,bmeurer@chromium.org

Change-Id: I1dedc4e2a0cb6e5e42b734c7eb99a40164da4229
Reviewed-on: https://chromium-review.googlesource.com/452498
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43701}
2017-03-09 14:41:33 +00:00
danno
e466744da5 [interpreter] Create custom call opcodes for specific argument counts
Specifically, add bytecodes for Call0, Call1, Call2, CallProperty0, CallProperty1,
and CallProperty2. Also share the bytecode handler code between between
equivalent CallX and CallPropertyX handlers.

Review-Url: https://codereview.chromium.org/2684993002
Cr-Original-Commit-Position: refs/heads/master@{#43290}
Committed: 00d6f1f80a
Review-Url: https://codereview.chromium.org/2684993002
Cr-Commit-Position: refs/heads/master@{#43700}
2017-03-09 14:40:02 +00:00
bmeurer
18be5d7057 [turbofan] Revert invalid optimization of flooring division.
The optimization

  NumberFloor(NumberDivide(lhs, rhs))

to

  NumberToInt32(NumberDivide(lhs, rhs))

for potentially negative lhs is not valid, since Math.floor rounds
towards -infinity, whereas ToInt32 truncates.

BUG=chromium:699282
R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2743673002
Cr-Commit-Position: refs/heads/master@{#43699}
2017-03-09 13:41:39 +00:00
yangguo
0ca72de24c [simulator] remove unused argument field for stop/breaks.
We used to embed a string address as description right after
a stop instruction, which the simulator would read and print.
We removed that a while ago to make the snapshot predictable.

R=petermarshall@chromium.org
BUG=v8:6071

Review-Url: https://codereview.chromium.org/2744503003
Cr-Commit-Position: refs/heads/master@{#43698}
2017-03-09 13:40:30 +00:00
yangguo
21880a5357 [serializer] check that deserializer read the entire blob.
R=vogelheim@chromium.org
BUG=v8:6072

Review-Url: https://codereview.chromium.org/2738213002
Cr-Commit-Position: refs/heads/master@{#43697}
2017-03-09 13:39:19 +00:00
Michael Lippautz
99bdf971c8 [heap] Fix out-of-bounds read in LiveObjectIterator::Next
We need to check whether advancing the iterator moved us beyong the end
of the bitmap. This has not been flushed out as our inlined bitmap is
still in valid memory.

In practice this is not a problem because the value is never used as we
are at the end of the bitmap. Asan rightfully complains when using an
external bitmap though.

BUG=chromium:651354

Change-Id: I8b141a467e9552f8ac2287dd62a725a14a289a37
Reviewed-on: https://chromium-review.googlesource.com/452497
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@{#43696}
2017-03-09 13:39:04 +00:00
jkummerow
3e363204fe [cleanup] Refactor remaining builtins-*.cc to use TF_BUILTIN macro
Review-Url: https://codereview.chromium.org/2734323004
Cr-Commit-Position: refs/heads/master@{#43695}
2017-03-09 13:38:08 +00:00
Michael Achenbach
f58177dd92 [test] Switch future/no-turbo perf configs for js-tests
BUG=chromium:682617
NOTRY=true
R=mvstanton@chromium.org,petermarshall@chromium.org

Change-Id: I5902c4ac3c8fb4230142896addbb75a9e7d28fbb
Reviewed-on: https://chromium-review.googlesource.com/451378
Reviewed-by: Michael Stanton <mvstanton@chromium.org>
Reviewed-by: Peter Marshall <petermarshall@chromium.org>
Commit-Queue: Michael Achenbach <machenbach@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43694}
2017-03-09 13:38:02 +00:00
Igor Sheludko
d849396e49 [ic] StoreOwnICs must unconditionally store even to kConst fields.
BUG=v8:5495

Change-Id: I731ddaa34169f6f57d3719e6170bfe00e6d66241
Reviewed-on: https://chromium-review.googlesource.com/451638
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43693}
2017-03-09 12:29:19 +00:00
yangguo
43095c8c6f [debugger] do not enable liveedit by default.
And a drive-by clean up of unused flag.

R=jgruber@chromium.org
BUG=v8:5530

Review-Url: https://codereview.chromium.org/2744553002
Cr-Commit-Position: refs/heads/master@{#43692}
2017-03-09 12:29:01 +00:00
Igor Sheludko
fa7b88fddd [json] Fix error reporting when parsing an internalized one-byte string.
BUG=chromium:686010

Change-Id: I7bd4ab48f90a1013132bf037fd352ab55747189c
Reviewed-on: https://chromium-review.googlesource.com/451377
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Yang Guo <yangguo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43691}
2017-03-09 12:28:17 +00:00
yangguo
f2408624c9 [json] use OrderedHashSet for replacer property list.
R=ishell@chromium.org
BUG=v8:6071

Review-Url: https://codereview.chromium.org/2740073002
Cr-Commit-Position: refs/heads/master@{#43690}
2017-03-09 12:27:46 +00:00
Georg Neis
59a97842a8 [arm64] Remove unused variable in debug-arm64.cc.
BUG=

Change-Id: Ibf49df830153a829015723826dacc6939fb42189
Reviewed-on: https://chromium-review.googlesource.com/452377
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43689}
2017-03-09 12:27:14 +00:00
yangguo
0cce2bec1f [debugger] remove outdated TODO.
We actually do want to make changes in debug-evaluate stick.

R=jgruber@chromium.org
BUG=v8:6071

Review-Url: https://codereview.chromium.org/2743613002
Cr-Commit-Position: refs/heads/master@{#43688}
2017-03-09 12:26:35 +00:00
Igor Sheludko
c03c7b7387 [runtime] Prototype const-to-mutable field migrations without deprecating maps.
It depends on constant field tracking and currently disabled.

BUG=v8:5495

Change-Id: I6202cddfc2d32b5a06c5ab00c42caa6e276a3eb1
Reviewed-on: https://chromium-review.googlesource.com/451639
Commit-Queue: Igor Sheludko <ishell@chromium.org>
Reviewed-by: Toon Verwaest <verwaest@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43687}
2017-03-09 12:26:12 +00:00
jgruber
5002a4a961 [regexp] Properly flatten string during initialization
This fixes an incorrect usage of String::Flatten in EscapeRegExpSource.

It also adds %ConstructConsString (to easily and reliably construct cons
strings in tests) and Factory::NewConsString (to enable guaranteed cons
string construction without preemptive flattening attempts).

BUG=chromium:698790

Review-Url: https://codereview.chromium.org/2736383003
Cr-Commit-Position: refs/heads/master@{#43686}
2017-03-09 12:25:19 +00:00
Camillo Bruni
e9a25e287d [tools] Add support to better load ClusterTelemetry results in callstats.html
- supporting appending new data instead of simply replacing the current set
- fix issue when not filtering out groups on initial loading

Change-Id: I77d508e644b247fa236ea64ef919639cac6ee425

NOTRY=true

Change-Id: I77d508e644b247fa236ea64ef919639cac6ee425
Reviewed-on: https://chromium-review.googlesource.com/451276
Commit-Queue: Camillo Bruni <cbruni@chromium.org>
Reviewed-by: Jaroslav Sevcik <jarin@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43685}
2017-03-09 12:25:09 +00:00
mvstanton
0f716acada Turn on Ignition + TurboFan.
_____            _ _   _
|_   _|          (_) | (_)
  | |  __ _ _ __  _| |_ _  ___  _ __
  | | / _` | '_ \| | __| |/ _ \| '_ \
 _| || (_| | | | | | |_| | (_) | | | |
 \___/\__, |_| |_|_|\__|_|\___/|_| |_|
       __/ |
      |___/

                    _
                  _| |_
                 |_   _|
                   |_|

 _____          _          ______
|_   _|        | |         |  ___|
  | |_   _ _ __| |__   ___ | |_ __ _ _ __
  | | | | | '__| '_ \ / _ \|  _/ _` | '_ \
  | | |_| | |  | |_) | (_) | || (_| | | | |
  \_/\__,_|_|  |_.__/ \___/\_| \__,_|_| |_|

BUG=v8:5267, v8:4280, chromium:692409
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2736723006
Cr-Original-Commit-Position: refs/heads/master@{#43663}
Committed: e7f8575851
Review-Url: https://codereview.chromium.org/2736723006
Cr-Commit-Position: refs/heads/master@{#43684}
2017-03-09 07:47:19 +00:00
bmeurer
64fbb3041f [turbofan] BitcastWordToTagged must not be pure.
The BitcastWordToTagged operator is used for bump pointer allocation to
construct the actual HeapObject pointer. The input to this operator is
a naked pointer (derived from the allocation top). If this input value
is live across an allocation, then the resulting tagged pointer is
invalid because the GC might have scavenged new space in the meantime.

That means we must not allow Node splitting (in the Scheduler) for these
instructions, as that could extend the live range of the naked pointer
input across arbitrary code. As such, this operator must not be marked
as pure.

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

Review-Url: https://codereview.chromium.org/2739093002
Cr-Commit-Position: refs/heads/master@{#43683}
2017-03-09 05:51:46 +00:00
v8-autoroll
cce8a1971b Update V8 DEPS.
Rolling v8/build: 5f4c2a0..33b29e1

Rolling v8/third_party/catapult: 299d02a..38ed490

Rolling v8/third_party/instrumented_libraries: e905e0f..6227538

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

Change-Id: If7cb4e575b769ba2154845c421a5d6b30b9b8ecd
Reviewed-on: https://chromium-review.googlesource.com/452157
Reviewed-by: v8 autoroll <v8-autoroll@chromium.org>
Commit-Queue: v8 autoroll <v8-autoroll@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43682}
2017-03-09 04:20:43 +00:00
bbudge
cbfd9f5ede [WASM] Make F32x4 Tests pass on ARM hardware.
- Changes input filtering to test NaNs, but skip very large or very
  small inputs, which may cause imprecision on some platforms.
- Changes expected result filtering to only skip NaNs.

LOG=N
BUG=6020

Review-Url: https://codereview.chromium.org/2738703006
Cr-Commit-Position: refs/heads/master@{#43681}
2017-03-09 00:07:03 +00:00
bjaideep
c7ce19dcab PPC/s390: [Atomics] Make Atomics.exchange a builtin using TF
Port 301c12376e

R=binji@chromium.org, aseemgarg@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:4614
LOG=N

Review-Url: https://codereview.chromium.org/2733953004
Cr-Commit-Position: refs/heads/master@{#43680}
2017-03-08 18:37:46 +00:00
hpayer
b643bb7713 [heap] Add atomics to mark bit operations.
BUG=chromium:694255

Review-Url: https://codereview.chromium.org/2492263002
Cr-Commit-Position: refs/heads/master@{#43679}
2017-03-08 16:31:18 +00:00
bjaideep
e7be85daf6 PPC/s390: [assembler] Make register definitions constexpr
Port e82b7ccd32

Original Commit Message:

    I originally needed this for the initialization of a constexpr array in
    the wasm lazy compile builtin, but since it's a bigger change, I now
    split it off as this separate CL.
    The style guide recommends constexpr over const. I thus apply the
    constexprificaton over all headers that I touched anyway.

    I also remove the ARM64_DEFINE_REG_STATICS hack. It was introduced when
    merging in arm64 support more than three years ago, and I don't see the
    purpose for this.
    Also, some #defines can now be constexpr definitions, which was not
    possible before according to the comment.

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

Review-Url: https://codereview.chromium.org/2733323003
Cr-Commit-Position: refs/heads/master@{#43678}
2017-03-08 16:24:01 +00:00
Ross McIlroy
cb3f137639 [Flags] Remove compiler_dispatcher as implication of --ignition_staging.
The compiler dispatcher is not being used yet by Ignition, so we shouldn't
enable it when enabling Ignition + TurboFan by default.

Change-Id: I2806608ba95080df3538ef66373165107ac3beb6
Reviewed-on: https://chromium-review.googlesource.com/451279
Commit-Queue: Ross McIlroy <rmcilroy@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43677}
2017-03-08 15:47:08 +00:00
bjaideep
efd43f0947 PPC/s390: Make explicit that RelocInfo's target_object is always a HeapObject.
Port e1fde26608

R=neis@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
BUG=v8:6048
LOG=N

Review-Url: https://codereview.chromium.org/2739813002
Cr-Commit-Position: refs/heads/master@{#43676}
2017-03-08 15:42:53 +00:00
Michael Starzinger
72975d3597 [bootstrapper] Bump stack requirement for native compilation.
This bumps the required stack space gap when the bootstrapper kicks off
compilation of native scripts during genesis. The stack requirements are
now higher for simulators in no-snapshot mode with Ignition being used.

R=jochen@chromium.org
TEST=mjsunit/regress/regress-681984
BUG=v8:6066

Change-Id: I65df388d1b57c09db124ac9a85d380b4edb7d260
Reviewed-on: https://chromium-review.googlesource.com/451275
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Reviewed-by: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43675}
2017-03-08 15:25:03 +00:00
Ilija.Pavlovic
92da406213 MIPS64: Fix declaration for bit() function.
From declarations of bit() member functions (for structures Register,
FPURegister and FPUControlRegister) are removed constexpr specificators.

Build V8 will fail if function bit() is declared as a constant
expression.

TEST=
BUG=

Review-Url: https://codereview.chromium.org/2737143002
Cr-Commit-Position: refs/heads/master@{#43674}
2017-03-08 15:09:16 +00:00
leszeks
65a07b7a10 [tools/profview] Add individual function timeline view
Adds a bar below the current timeline view which can show the time
when an individual function was on the stack. Functions in the call
stack are now clickable to show them in this view.

Sections where the function was on the stack, but not at the top, are
displayed at half height.

Review-Url: https://codereview.chromium.org/2737083003
Cr-Commit-Position: refs/heads/master@{#43673}
2017-03-08 15:03:22 +00:00
Michael Starzinger
fb887b8192 [zone] Fix propagation of OOM in Zone::NewSegment.
This fixes various allocator methods to properly propagate {nullptr} to
callers without accidentally dereferencing it. We also disable one test
case for stress mode as it runs out of memory due to inlining limits
being lifted in the stress mode.

R=bmeurer@chromium.org
TEST=mjsunit/array-natives-elements
BUG=v8:6061

Change-Id: Id0a7b826a8612d00b4f4ae8aa0bea011c50890ca
Reviewed-on: https://chromium-review.googlesource.com/451365
Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43672}
2017-03-08 13:26:55 +00:00
bmeurer
6560707945 [ia32] Fix invalid DCHECK on cmpw with immediate.
The immediate passed to cmpw can be either a signed 16-bit or an
unsigned 16-bit integer, but the DCHECK was testing for signed 16-bit
values only.

R=mstarzinger@chromium.org
BUG=v8:6063

Review-Url: https://codereview.chromium.org/2735363002
Cr-Commit-Position: refs/heads/master@{#43671}
2017-03-08 13:04:45 +00:00
Michael Lippautz
215af922ca [heap] Reuse space of last closed LAB
Reuse the last LAB's unused area for further newspace allocation.

This is relevant when we expect GCs that use evacuation to compact down
new space to just live bytes for single tasks.

BUG=chromium:651354

Change-Id: Ic418521d98f418a93d3748b824e3ddb6ff7a40c3
Reviewed-on: https://chromium-review.googlesource.com/451398
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43670}
2017-03-08 12:40:14 +00:00
Michael Lippautz
724095aaba [heap] Remove VerifyAllObjectsBlack from VisitLiveObjects
Markbits should be verified in VerifyMarking and friends. The function
may also be used then e.g. iterating just black objects while
incremental marking is active for the fast promotion mode.

BUG=chromium:694255

Change-Id: Ia719a983fec27b2bae03f8c6c3332003a10e8823
Reviewed-on: https://chromium-review.googlesource.com/451363
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@{#43669}
2017-03-08 12:04:18 +00:00
Jochen Eisinger
dee757f43b Remove incorrect assumption that a failed context creation throws
BUG=chromium:696464
R=yangguo@chromium.org

Change-Id: Ie873e8af6af4dd95897f5f85e0eac5a350f59b32
Reviewed-on: https://chromium-review.googlesource.com/449714
Reviewed-by: Yang Guo <yangguo@chromium.org>
Commit-Queue: Jochen Eisinger <jochen@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43668}
2017-03-08 12:03:15 +00:00
Georg Neis
dcf46a67c0 [heap] Fix a comment.
BUG=

Change-Id: I7aed8e7bd35f59196b1b178942355aef4c97bca8
Reviewed-on: https://chromium-review.googlesource.com/451379
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Georg Neis <neis@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43667}
2017-03-08 12:02:12 +00:00
cwhan.tunz
5fc1bd5b32 [typedarrays] check byte offset for fast typedarray sort
BUG=v8:5953

Review-Url: https://codereview.chromium.org/2733393002
Cr-Commit-Position: refs/heads/master@{#43666}
2017-03-08 12:01:19 +00:00
Michael Lippautz
efd4b2d3af [heap] Bail out for page promotion tests when feature is disabled
BUG=chromium:651354

Change-Id: Iaa2be2504474842d101f19fa2f6c15baa88544c6
Reviewed-on: https://chromium-review.googlesource.com/451497
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
Cr-Commit-Position: refs/heads/master@{#43665}
2017-03-08 12:01:10 +00:00
machenbach
938e06f68f Revert of Turn on Ignition + TurboFan. (patchset #2 id:20001 of https://codereview.chromium.org/2736723006/ )
Reason for revert:
Collected enough test failures: http://crbug.com/698746

Original issue's description:
> Turn on Ignition + TurboFan.
>
>  _____            _ _   _
> |_   _|          (_) | (_)
>   | |  __ _ _ __  _| |_ _  ___  _ __
>   | | / _` | '_ \| | __| |/ _ \| '_ \
>  _| || (_| | | | | | |_| | (_) | | | |
>  \___/\__, |_| |_|_|\__|_|\___/|_| |_|
>        __/ |
>       |___/
>
>                     _
>                   _| |_
>                  |_   _|
>                    |_|
>
>
>
>  _____          _          ______
> |_   _|        | |         |  ___|
>   | |_   _ _ __| |__   ___ | |_ __ _ _ __
>   | | | | | '__| '_ \ / _ \|  _/ _` | '_ \
>   | | |_| | |  | |_) | (_) | || (_| | | | |
>   \_/\__,_|_|  |_.__/ \___/\_| \__,_|_| |_|
>
>
> BUG=v8:5267, v8:4280, chromium:692409
> NOTREECHECKS=true
>
> Review-Url: https://codereview.chromium.org/2736723006
> Cr-Commit-Position: refs/heads/master@{#43663}
> Committed: e7f8575851

TBR=mstarzinger@chromium.org,danno@chromium.org,bmeurer@chromium.org,rmcilroy@chromium.org,mvstanton@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5267, v8:4280, chromium:692409

Review-Url: https://codereview.chromium.org/2732113005
Cr-Commit-Position: refs/heads/master@{#43664}
2017-03-08 11:47:14 +00:00
mvstanton
e7f8575851 Turn on Ignition + TurboFan.
_____            _ _   _
|_   _|          (_) | (_)
  | |  __ _ _ __  _| |_ _  ___  _ __
  | | / _` | '_ \| | __| |/ _ \| '_ \
 _| || (_| | | | | | |_| | (_) | | | |
 \___/\__, |_| |_|_|\__|_|\___/|_| |_|
       __/ |
      |___/

                    _
                  _| |_
                 |_   _|
                   |_|

 _____          _          ______
|_   _|        | |         |  ___|
  | |_   _ _ __| |__   ___ | |_ __ _ _ __
  | | | | | '__| '_ \ / _ \|  _/ _` | '_ \
  | | |_| | |  | |_) | (_) | || (_| | | | |
  \_/\__,_|_|  |_.__/ \___/\_| \__,_|_| |_|

BUG=v8:5267, v8:4280, chromium:692409
NOTREECHECKS=true

Review-Url: https://codereview.chromium.org/2736723006
Cr-Commit-Position: refs/heads/master@{#43663}
2017-03-08 08:10:59 +00:00
yangguo
77165eb4df [debug] change coverage API to use offset instead of line/column.
R=caseq@chromium.org, pfeldman@chromium.org
BUG=v8:5808

Review-Url: https://codereview.chromium.org/2733783002
Cr-Commit-Position: refs/heads/master@{#43662}
2017-03-08 07:23:21 +00:00
jarin
18f169d46c [turbofan] Propagate minus-zero truncation in representation inference.
This introduces a new truncation bit for truncation of minus-zero to zero.

At the moment it is only used to handle the limit cases of deopt, such as the
one in the Google maps workload (see simplified version below), where the -q
(which is desugared to q * -1.0) currently deoptimizes because the result would
produce minus zero. To handle this situation, we exploit the knowledge that
righthand side of + cannot be -0, so even if lefthand side was -0, the result
would still be 0 (so the + operation cannot distinguish between left hand side
0 and -0).

function f(q) {
  q -= 4;
  return (-q) + q;
}

f(10);
f(10);
%OptimizeFunctionOnNextCall(f);
f(4);

Review-Url: https://codereview.chromium.org/2734253002
Cr-Commit-Position: refs/heads/master@{#43661}
2017-03-08 06:11:37 +00:00
bmeurer
99aaa69b29 [turbofan] Consume feedback types for NumberMax and NumberMin.
For nodes

  NumberMin(lhs, rhs)
  NumberMax(lhs, rhs)

we might have feedback types for lhs and rhs that would allow us to
generate unsigned32 or signed32 versions of this operator, which is way
more efficient that going to the full Float64Min/Float64Max operator.
However we cannot promise word32 truncations in this case, since we
based this decision on the feedback types.

This allows us to generate better code for Math.min and Math.max when
one of the inputs is a speculative number operator that provides better
typing during representation selection. We've seen such code in the
hottest function on Google Maps for example.

BUG=v8:5267
R=jarin@chromium.org,mvstanton@chromium.org

Review-Url: https://codereview.chromium.org/2734193003
Cr-Commit-Position: refs/heads/master@{#43660}
2017-03-08 06:05:41 +00:00