Commit Graph

32403 Commits

Author SHA1 Message Date
jarin
2aa2b652af [turbofan] Stage loop peeling.
We will try to loop inner-most loops if they have <1000 nodes (randomly chosen value).

This is an experimental CL to see the performance impact of peeling,
both on compile time and on the generated code.

Review-Url: https://codereview.chromium.org/2156573002
Cr-Commit-Position: refs/heads/master@{#37811}
2016-07-17 20:04:09 +00:00
v8-autoroll
cc840efd18 Update V8 DEPS.
Rolling v8/build to e609d4bcabeef6b140c6326caea53c5b6dbec72a

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

Review-Url: https://codereview.chromium.org/2155043002
Cr-Commit-Position: refs/heads/master@{#37810}
2016-07-17 03:27:08 +00:00
joransiu
2b4c9c100b S390:Update inline asm constraint in test-platform
The GetStackPointer() routine in test-platform uses an inline
assembly code to store the current stack pointer value into a static
variable sp_addr.  The existing asm code for S390 uses an ST/STG
instruction, with the memory operand associated with the general ('=g')
constraint to sp_addr.

On GCC 4.8.5, the GCC compiler got confused and treated sp_addr as
an integer operand instead of memory operand, resulting in a store
being emitted that writes to an invalid meory location.

Given the specific store instructions being inlined here, we should
restict the sp_addr operand to explicitly be a memory operand using '=m'
instead of '=g'.

R=bmeurer@chromium.org,jkummerow@chormium.org,rmcilroy@chromium.org,yangguo@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2158523002
Cr-Commit-Position: refs/heads/master@{#37809}
2016-07-16 15:36:45 +00:00
jarin
514951f651 [turbofan] In effect control linearizer, only delay effect phi update for loops.
Delaying for merges caused branch cloning using dummy effect phi inputs,
potentially splitting the effect chain at start.

We still have to delay the creation for loops because we need to break
cycles.

BUG=chromium:628403

Review-Url: https://codereview.chromium.org/2159603002
Cr-Commit-Position: refs/heads/master@{#37808}
2016-07-16 12:39:14 +00:00
gdeepti
18543ff1da Convert SIMD wasm ops to runtime function calls
- Add Simd128 type to Wasm AST types
 - Decode SIMD prefix, wasm opcodes correctly
 - Add a pass that converts SIMD machine ops to runtime calls
 - Sample opcodes Int32x4Splat, Int32x4ExtractLane and test

LOG=N
BUG=v8:4124

R=bradnelson@chromium.org, bbudge@chromium.org, titzer@chromium.org

Committed: https://crrev.com/73df92fc2fdbbfadc17e8ab4e58ec56ae2b3d91a
Review-Url: https://codereview.chromium.org/1991143002
Cr-Original-Commit-Position: refs/heads/master@{#37789}
Cr-Commit-Position: refs/heads/master@{#37807}
2016-07-16 03:50:54 +00:00
v8-autoroll
4ab82dd67b Update V8 DEPS.
Rolling v8/build to c409cdb27d5dfcfd5d08f22b18af9010ae50b6a8

Rolling v8/third_party/android_tools to 20a4bd598cf3ba8434311156ce94c110a0024fe7

Rolling v8/tools/mb to 6aa2ae44b604e6feec721bec77208210142dd4f5

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

Review-Url: https://codereview.chromium.org/2154983002
Cr-Commit-Position: refs/heads/master@{#37806}
2016-07-16 03:25:03 +00:00
dpranke
6c3aaae969 Land v8-side changes to switch to v8_current_cpu in the GN build.
This change makes  the architecture that we target generated
v8 code for a property of the current toolchain, rather than a
global setting that applies to every toolchain.

This will allow us to properly build two snapshots for two different
architectures in a single build, which is needed for android
webview/monochrome builds.

R=brettw@chromium.org, jochen@chromium.org, michaelbai@chromium.org
BUG=625383

Review-Url: https://codereview.chromium.org/2116913002
Cr-Commit-Position: refs/heads/master@{#37805}
2016-07-15 22:35:20 +00:00
jyan
a151ea9e7c S390: [turbofan] Introduce integer multiplication with overflow.
port 8e18a5f2a0

R=bjaideep@ca.ibm.com, mvstanton@chromium.org, joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
BUG=

Review-Url: https://codereview.chromium.org/2153913002
Cr-Commit-Position: refs/heads/master@{#37804}
2016-07-15 18:49:09 +00:00
jkummerow
9c59539f27 [LoadIC] Handle simple field loads in the dispatcher
No compiled handlers required! Instead, the type feedback vector
contains a Smi encoding the field index.

Review-Url: https://codereview.chromium.org/2133233002
Cr-Commit-Position: refs/heads/master@{#37803}
2016-07-15 17:44:29 +00:00
alph
7e1d1fc708 [cpu-profiler] Do not record empty stack trace.
When it is in executing JS state there should be a JS stack.
Having no stack means something is wrong with frame pointer, so
just skip the bogus sample.

Review-Url: https://codereview.chromium.org/2151103002
Cr-Commit-Position: refs/heads/master@{#37802}
2016-07-15 17:21:47 +00:00
ishell
e6b3002a61 Revert of [ic] [stubs] Don't use Code::flags in megamorphic stub cache hash computations. (patchset #2 id:20001 of https://codereview.chromium.org/2147433002/ )
Reason for revert:
Unfortunately, the performance issues are still there on Android.

Original issue's description:
> [ic] [stubs] Don't use Code::flags in megamorphic stub cache hash computations.
>
> This should avoid weird performance issues when changing layout of Code::flags field.
>
> BUG=chromium:618701
>
> Committed: https://crrev.com/aa4140b1ccc114b82700471513c715f68b7c5dac
> Cr-Commit-Position: refs/heads/master@{#37755}

TBR=jkummerow@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:618701

Review-Url: https://codereview.chromium.org/2147213004
Cr-Commit-Position: refs/heads/master@{#37801}
2016-07-15 17:21:46 +00:00
jpp
a25e9c6f97 V8. ASM-2-WASM. Fixes issue 628446.
The issue was caused by a mishandling of "special" identifiers, i.e.,
the module's name, and the module's parameter.

BUG= https://bugs.chromium.org/p/chromium/issues/detail?id=628446
BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203
TEST= cctest/asmjs/test-asm-typer.cc
TEST= cctest/wasm/*
LOG=N

Review-Url: https://codereview.chromium.org/2147403002
Cr-Commit-Position: refs/heads/master@{#37800}
2016-07-15 16:10:25 +00:00
ssanfilippo
cecded1c24 Emit unwinding information for TurboFan code.
This commit introduces support for writing unwinding tables in the
.eh_frame format, to be inserted in the jitdump read by Linux perf and
emitted with FLAG_perf_prof and FLAG_perf_prof_unwinding_info enabled.

x64 is fully implemented and tested, arm and arm64 are untested and the
unwinding information needs to be expanded, but the mechanism is ready.

BUG=v8:4899
LOG=N

Review-Url: https://codereview.chromium.org/2026313002
Cr-Commit-Position: refs/heads/master@{#37799}
2016-07-15 15:05:56 +00:00
machenbach
c6d6cd2fad [gn] Use PIE in v8 executables
This uses the same compiler flag as the chrome executable
does for better performance comparison.

BUG=chromium:474921

Review-Url: https://codereview.chromium.org/2152853004
Cr-Commit-Position: refs/heads/master@{#37798}
2016-07-15 14:56:01 +00:00
machenbach
911ff2672e [gn] Set correct defaults for some gn args
This sets default values for v8_enable_gdbjit and
v8_imminent_deprecation_warnings, while allowing to override
them as gn args.

Without this patch the project-specific overrides have no
effect.

BUG=chromium:474921, chromium:626064

Review-Url: https://codereview.chromium.org/2153753002
Cr-Commit-Position: refs/heads/master@{#37797}
2016-07-15 14:42:55 +00:00
ishell
5d66a7f76b [fullcode] Restore context after calling ToNumber builtin.
BUG=chromium:628573

Review-Url: https://codereview.chromium.org/2153783002
Cr-Commit-Position: refs/heads/master@{#37796}
2016-07-15 13:18:57 +00:00
bgeron
feb93dd60b [turbolizer] Show a label with a shorter parameter for some opcodes.
With this patch, every node in turbo-*.json has an opcode, a title, and
a label. The label field is new; the opcode and title were already
there. The title is for the mouseover text. The label is what will be
displayed in the graph view, unless it's too long, in which case only
the opcode will be displayed. (This is similar to the preexisting
behaviour of putting titles in labels, except that the titles were
rarely short enough to fit in a label.)

With this patch, the labels generated are in practice the same as the
titles we had before, except for LoadField and StoreField, which will be
rendered as LoadField[[+432]] and StoreField[[+432]] (if 432 was the
offset).

This diff adds an overloadable method

    virtual void Operator1<T>::PrintParameter(ostream&, PrintVerbosity)

for each type T to Operator1. Its default implementation just uses
operator<<(ostream&, T const&) and adds square brackets around it, but
it is overridden for FieldAccess to print "[+432]" in the example case.

BUG=
R=jarin,danno

Review-Url: https://codereview.chromium.org/2093013002
Cr-Commit-Position: refs/heads/master@{#37795}
2016-07-15 12:07:43 +00:00
oth
0e20ae6d8d Reland "[interpreter] Reduce dependencies in bytecodes.{h,cc}"
> Original issue's description:
> [interpreter] Reduce dependencies in bytecodes.{h,cc}
>
> This CL reduces the number of dependencies bytecodes.{h,cc} to facilitate
> generating the bytecode peephole optimizer table during build. Specifically,
> it avoids depending on v8_base.
>
> BUG=v8:4280
> LOG=N
>
> Committed: https://crrev.com/4edebb1cd870ae6c1359ad54f83e618e185883b1
> Cr-Commit-Position: refs/heads/master@{#37715}

BUG=v8:4280
LOG=N

Review-Url: https://codereview.chromium.org/2149093002
Cr-Commit-Position: refs/heads/master@{#37794}
2016-07-15 12:04:22 +00:00
neis
f47e722403 Revert "Make toLocaleString on arrays always call toLocaleString on its elements."
This reverts commit 457c02573c because it caused a
regression in SunSpider/string-fasta and possibly AreWeFastYet/Life.  Need to
implement this in a smarter way.

TBR=littledan@chromium.org
BUG=chromium:627729,v8:5113

Review-Url: https://codereview.chromium.org/2149303003
Cr-Commit-Position: refs/heads/master@{#37793}
2016-07-15 11:28:42 +00:00
jarin
9f859c66a1 [turbofan] Add re-typing for PlainPrimitiveToNumber during representation inference.
This makes sure that the uses of PlainPrimitiveToNumber get a more
precise type (so that the uses know how to interpret the output
representation).

BUG=chromium:628516

Review-Url: https://codereview.chromium.org/2151223002
Cr-Commit-Position: refs/heads/master@{#37792}
2016-07-15 10:37:27 +00:00
jarin
54a0389309 [turbofan] Loop peeling with explicit loop exits.
Review-Url: https://codereview.chromium.org/2143163002
Cr-Commit-Position: refs/heads/master@{#37791}
2016-07-15 10:24:25 +00:00
machenbach
9f46c1112b Revert of Convert SIMD wasm ops to runtime function calls (patchset #17 id:320001 of https://codereview.chromium.org/1991143002/ )
Reason for revert:
[Sheriff] Violates msan and tsan:
https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20MSAN/builds/9663
https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20TSAN/builds/10670

Original issue's description:
> Convert SIMD machine ops to runtime function calls
>  - Add Simd128 type to Wasm AST types
>  - Add a pass that converts SIMD machine ops to runtime calls
>  - Sample opcodes Int32x4Splat, Int32x4ExtractLane and test
>  - Separate out generic SIMD Machine ops as these cannot be
>  handled by runtime functions just yet.
>
> LOG=N
> BUG=v8:4124
>
> R=bradnelson@chromium.org, bbudge@chromium.org, titzer@chromium.org
>
> Committed: https://crrev.com/73df92fc2fdbbfadc17e8ab4e58ec56ae2b3d91a
> Cr-Commit-Position: refs/heads/master@{#37789}

TBR=bbudge@chromium.org,bradnelson@chromium.org,titzer@chromium.org,gdeepti@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:4124

Review-Url: https://codereview.chromium.org/2154723002
Cr-Commit-Position: refs/heads/master@{#37790}
2016-07-15 09:00:02 +00:00
gdeepti
73df92fc2f Convert SIMD machine ops to runtime function calls
- Add Simd128 type to Wasm AST types
 - Add a pass that converts SIMD machine ops to runtime calls
 - Sample opcodes Int32x4Splat, Int32x4ExtractLane and test
 - Separate out generic SIMD Machine ops as these cannot be
 handled by runtime functions just yet.

LOG=N
BUG=v8:4124

R=bradnelson@chromium.org, bbudge@chromium.org, titzer@chromium.org

Review-Url: https://codereview.chromium.org/1991143002
Cr-Commit-Position: refs/heads/master@{#37789}
2016-07-15 08:30:25 +00:00
verwaest
ebf166df3f Templatize AstVisitor with its subclass
This replaces the vtable on AstNode with a NodeType tag. The visitors replace double dispatch with a single switch over the NodeType.

For now, visitors with subclasses still have virtual methods themselves. We should probably specialize them later as well.

The uint8_t NodeType allows us to better pack memory, saving 8-16 bytes on many AST nodes (with additional packing that I'll do in a follow-up CL)

BUG=

Review-Url: https://codereview.chromium.org/2142233003
Cr-Commit-Position: refs/heads/master@{#37788}
2016-07-15 07:58:09 +00:00
marja
d4341d1fea Fix temporary zones: DoExpression should go into local_zone_.
There's no use putting it into parser_zone_, and if we do so, it might
refer to dead memory (the Block is in local_zone_ which might get
discarded).

BUG=

Review-Url: https://codereview.chromium.org/2145293003
Cr-Commit-Position: refs/heads/master@{#37787}
2016-07-15 07:32:24 +00:00
bmeurer
ddda77eeca [builtins] Migrate NonNumberToNumber to TurboFan builtin.
Migrate the platform NonNumberToNumber builtin to TurboFan, and change
it to use the new NonPrimitiveToPrimitive builtin for the JSReceiver
case.

R=yangguo@chromium.org
BUG=v8:5049

Review-Url: https://codereview.chromium.org/2153053002
Cr-Commit-Position: refs/heads/master@{#37786}
2016-07-15 07:06:37 +00:00
zhengxing.li
eb3723553e X87: [turbofan] Introduce integer multiplication with overflow.
port 8e18a5f2a0 (r37748)

  original commit message:

BUG=

Review-Url: https://codereview.chromium.org/2155553002
Cr-Commit-Position: refs/heads/master@{#37785}
2016-07-15 04:32:31 +00:00
v8-autoroll
1cbe5d5a15 Update V8 DEPS.
Rolling v8/build to 6d146149b533ff2223abf1523d097e21884a2595

Rolling v8/buildtools to 55638fe5c31652a808f059027b99b08bafd15fb7

Rolling v8/tools/mb to 1b8214f7fe4354b36d90b62086d844dae0c71747

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

Review-Url: https://codereview.chromium.org/2151073003
Cr-Commit-Position: refs/heads/master@{#37784}
2016-07-15 03:24:32 +00:00
bakkot
f6c6ae9034 Block-scoped functions in evals are now only conditionally hoisted out.
Annex B.3.3 of the spec requires that sloppy-mode block-scoped functions
declared by "eval" are hoisted unless doing so would cause an early
error (which is to say, conflict with a lexical declaration). This patch
amends the check for conflicting declarations to include those outside
of the eval itself.

BUG=v8:4468, v8:4479

Review-Url: https://codereview.chromium.org/2112163002
Cr-Commit-Position: refs/heads/master@{#37783}
2016-07-14 22:43:01 +00:00
peterssen
da4f249150 Fix context for fast accessors (lazy).
Fast accessors do not have an associated JSFunction, similar to lazy accessors.
Now using the 'lazy' version of the CallApiCallbackStub.

R=vogelheim@chromium.org
BUG=chromium:508898

Review-Url: https://codereview.chromium.org/2143983002
Cr-Commit-Position: refs/heads/master@{#37782}
2016-07-14 20:59:57 +00:00
wfh
bc44b1c627 V8: Add API to report OOM to embedder.
This is a dependent CL for the blink/chromium side change in https://codereview.chromium.org/2130293003/

BUG=614440

Review-Url: https://codereview.chromium.org/2139873002
Cr-Commit-Position: refs/heads/master@{#37781}
2016-07-14 19:42:39 +00:00
adamk
458bd3b9a3 Slight cleanup of TryCatch parsing/variable declaration
Instead of unconditionally parsing the catch parameter as an expression
and then recovering if it turns out to be a simple variable proxy
(the overwhelmingly common case), this patch peeks one token ahead
before attempting to parse. This avoids doing the usual RemoveUnresolved
gymnastics in ParseTryStatement, and as a side-effect slightly improves
function name inference for an async arrow function test case.

Review-Url: https://codereview.chromium.org/2151433005
Cr-Commit-Position: refs/heads/master@{#37780}
2016-07-14 17:55:45 +00:00
ishell
53be253039 Cleanup interface descriptors to reflect that vectors are part of stores.
All stores require a Slot parameter so VectorStoreICTrampolineDescriptor is a new StoreDescriptor.

VectorStoreICDescriptor renamed to StoreWithVectorDescriptor.

Review-Url: https://codereview.chromium.org/2147043002
Cr-Commit-Position: refs/heads/master@{#37779}
2016-07-14 17:07:03 +00:00
cbruni
1b44afe537 Reland of Avoid Context::Enter and Context::Exit if we're reentering the active and last entered context (patchset #1 id:1 of https://codereview.chromium.org/2140563002/ )
Reason for reland:
https://codereview.chromium.org/2122953002 fixed context issues.

Original issue's description:
> Revert of Avoid Context::Enter and Context::Exit if we're reentering the active and last entered context (patchset #2 id:20001 of https://codereview.chromium.org/2131483002/ )
>
> Reason for revert:
> crashes: crbug.com/626719
>
> Original issue's description:
> > Avoid Context::Enter and Context::Exit if we're reentering the active and last entered context
> >
> > A bit of browsing around indicates that the new fast-path is taken most of the time:
> >    3496 Entering new
> >  152295 Reentering same
> >
> > BUG=
> >
> > Committed: https://crrev.com/1829eb661ef1cf432fb551bcb193f521a219d490
> > Cr-Commit-Position: refs/heads/master@{#37570}
>
> TBR=jochen@chromium.org,verwaest@chromium.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=
>
> Committed: https://crrev.com/bec49a4876fdf8a20600ecdfc8534d0ef45c9528
> Cr-Commit-Position: refs/heads/master@{#37632}

TBR=jochen@chromium.org,verwaest@chromium.org,jkummerow@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=

Review-Url: https://codereview.chromium.org/2152803003
Cr-Commit-Position: refs/heads/master@{#37778}
2016-07-14 17:00:29 +00:00
jpp
ca25c845e2 V8. ASM-2-WASM. Fixes import handling logic.
The asm typer would CHECK fail for imports like

var bogus = stdlib.<HeapViewType>

This CL changes this behavior so the typer reports a validation error
instead.

BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203
TEST=cctest/asmjs/test-asm-typer.cc
LOG=N

Review-Url: https://codereview.chromium.org/2152763002
Cr-Commit-Position: refs/heads/master@{#37777}
2016-07-14 16:44:26 +00:00
jpp
43d3187e7a V8. ASM-2-WASM. Small fixes.
1) Validation fails for literal indexes too large for accessing a given
heap type

2) Removes the special handling of FloatishDoubleQ, and FloatQDoubleQ;
the inheritance issue that required this special handling was fixed in
another CL.

3) Fix a macro name (from asm_* to ASM_*)

BUG= https://bugs.chromium.org/p/v8/issues/detail?id=4203
TEST=cctest/asmjs/test-asm-typer.cc
LOG=N

Review-Url: https://codereview.chromium.org/2150583003
Cr-Commit-Position: refs/heads/master@{#37776}
2016-07-14 16:40:59 +00:00
mtrofin
bd03c64297 [wasm] Compile and Instantiation
Implemented the WebAssembly.Module and WebAssembly.Instance
in terms of the WasmModule::CompileFunctions and
WasmModule::Instantiate APIs.

Added negative tests - for invalid module object.

BUG=

Review-Url: https://codereview.chromium.org/2121593002
Cr-Commit-Position: refs/heads/master@{#37775}
2016-07-14 16:31:07 +00:00
neis
78bf1bff28 Minor cleanup: remove an unused declaration, reuse some others.
BUG=

Review-Url: https://codereview.chromium.org/2149763004
Cr-Commit-Position: refs/heads/master@{#37774}
2016-07-14 16:14:59 +00:00
neis
1c1bdfe17e [test] Extend a test of destructuring.
R=adamk@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2147733003
Cr-Commit-Position: refs/heads/master@{#37773}
2016-07-14 16:11:41 +00:00
ssanfilippo
915e14777d Fix EhFrameTest.Alignment unit test on ARM.
R=machenbach@chromium.org
BUG=v8:4899
LOG=N

Review-Url: https://codereview.chromium.org/2153443002
Cr-Commit-Position: refs/heads/master@{#37772}
2016-07-14 15:41:58 +00:00
mstarzinger
fa8d4346e6 [turbofan] Remove obsolete frame state before comparison.
This removes the obsolete use of FrameStateBeforeAndAfter when visiting
compare operations. None of the operators in question require a "before"
frame state by now.

R=jarin@chromium.org

Review-Url: https://codereview.chromium.org/2144063003
Cr-Commit-Position: refs/heads/master@{#37771}
2016-07-14 15:35:24 +00:00
verwaest
157008add0 Devirtualize AstNode and subclasses, except for visiting-related methods.
This is a requirement to replace AstNode vtable with a NodeType tag. In a second CL (https://codereview.chromium.org/2142233003/) I switch over that tag rather than double dispatch. With additional packing in a third CL there's roughly 8 byte reduction for almost all AstNode types, and for some even more.

BUG=

Review-Url: https://codereview.chromium.org/2126233002
Cr-Commit-Position: refs/heads/master@{#37770}
2016-07-14 15:28:42 +00:00
jarin
7a61bbcfd8 [turbofan] Introduce explicit loop exits markers.
This CL introduces explicit LoopExit control nodes at loop exits.
We also attach explicit value renames (LoopExitMarker) and effect
rename (LoopExitEffect) to each loop exit. This is in preparation
to loop peeling, which will replace LoopExit, LoopExitMarker and
LoopExitEffect with Merge, Phi and EffectPhi respectively.

At the moment, we insert loop exit at every return, break,
continue and locally caught throw. We do not yet handle
uncaught throws (including error throws, such as ReferenceError).

Review-Url: https://codereview.chromium.org/2140673007
Cr-Commit-Position: refs/heads/master@{#37769}
2016-07-14 15:02:34 +00:00
mlippautz
fee5858391 [heap] ObjectStats: Fix accounting for fixed array subtypes
- Fix recording sub types that have their own instance type
- Fix double accounting by keeping a shadow map for tracking recorded status
- Add recording of more fixed array sub types

BUG=hpayer@chromium.org

Review-Url: https://codereview.chromium.org/2147693004
Cr-Commit-Position: refs/heads/master@{#37768}
2016-07-14 14:43:06 +00:00
mstarzinger
ed5802cc8c [turbofan] Re-enable flaky tests that should no longer flake.
R=machenbach@chromium.org

Review-Url: https://codereview.chromium.org/2143973002
Cr-Commit-Position: refs/heads/master@{#37767}
2016-07-14 13:54:24 +00:00
cbruni
9aa8051f1a [crankshaft] do not restore rsi in stub for deferred number conversions
BUG=v8:5188, chromium:626719

Review-Url: https://codereview.chromium.org/2122953002
Cr-Commit-Position: refs/heads/master@{#37766}
2016-07-14 13:44:37 +00:00
machenbach
d0d99bee2b [cq] Make chromium win trybot blocking
BUG=chromium:474921
NOTRY=true

Review-Url: https://codereview.chromium.org/2148673004
Cr-Commit-Position: refs/heads/master@{#37765}
2016-07-14 13:41:15 +00:00
mvstanton
e7111cfff7 [Turbofan]: Add integer multiplication with overflow to typed lowering.
BUG=

Review-Url: https://codereview.chromium.org/2141953002
Cr-Commit-Position: refs/heads/master@{#37764}
2016-07-14 13:25:15 +00:00
mstarzinger
8bad947449 [turbofan] Remove fallback to TurboFan when Crankshaft bails out.
This removes the fallback path in question. Now the {AstNumbering} phase
is the only phase deciding whether Crankshaft is supposed to be disabled
or not. This in turn simplifies reasoning about the paths through the
compilation pipeline. We can decide early whether we want Ignition to
kick in depending on whether Crankshaft is enabled or not.

R=mvstanton@chromium.org,rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/2146573004
Cr-Commit-Position: refs/heads/master@{#37763}
2016-07-14 13:05:54 +00:00
epertoso
d93fd41aaa [turbofan] Introduces the SpeculativeNumberShiftLeft opcode.
Typed lowering now produces SpeculativeNumberShiftLeft for JSShiftLeft if the type feedback is kSignedSmall or kSigned32.

BUG=v8:4583
LOG=n

Review-Url: https://codereview.chromium.org/2150553002
Cr-Commit-Position: refs/heads/master@{#37762}
2016-07-14 12:49:32 +00:00