Commit Graph

29823 Commits

Author SHA1 Message Date
mvstanton
ce1fe78d7e Bugfix: assert in lithium compile for LMaybeGrowElements
BUG=chromium:585041
LOG=N

Review URL: https://codereview.chromium.org/1854423003

Cr-Commit-Position: refs/heads/master@{#35331}
2016-04-07 11:41:39 +00:00
verwaest
4c2b04542f Migrate FastCloneShallowObjectStub to TurboFan
BUG=

Review URL: https://codereview.chromium.org/1838283003

Cr-Commit-Position: refs/heads/master@{#35330}
2016-04-07 09:54:14 +00:00
mstarzinger
105777a036 [turbofan] Deprecate CompilationInfo::has_scope predicate.
Now that we no longer compile stubs from JavaScript source, but have
other means of generating stubs using our optimizing compilers, we can
assume that scope analysis has happened whenever prologues are being
assembled.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/1863333004

Cr-Commit-Position: refs/heads/master@{#35329}
2016-04-07 09:54:13 +00:00
ssanfilippo
2f8de2e80a Fix Gyp rule that broke node.js build after snapshot log removal.
LOG=N

Review URL: https://codereview.chromium.org/1869453002

Cr-Commit-Position: refs/heads/master@{#35328}
2016-04-07 09:13:08 +00:00
mlippautz
165186f272 [heap] Fix Heap::EnsureFillerObjectAtTop for non-contiguous new space
R=hpayer@chromium.org
BUG=chromium:601014, chromium:601329, chromium:581412
LOG=N

Review URL: https://codereview.chromium.org/1862263003

Cr-Commit-Position: refs/heads/master@{#35327}
2016-04-07 08:54:17 +00:00
mstarzinger
51d3932580 [turbofan] Deprecate CompilationInfo::has_literal predicate.
Now that the SharedFunctionInfo is available to compilers all of the
time, we no longer need to rely on the literal for source printing.

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/1866613003

Cr-Commit-Position: refs/heads/master@{#35326}
2016-04-07 08:44:45 +00:00
machenbach
2e9fc9373b [test] Skip flaky test on linux.
BUG=v8:4894
NOTRY=true
LOG=n
TBR=yangguo@chromium.org

Review URL: https://codereview.chromium.org/1868923002

Cr-Commit-Position: refs/heads/master@{#35325}
2016-04-07 08:42:44 +00:00
machenbach
aa81cc689d S390: Extend test timeout.
TBR=jyan@ca.ibm.com
NOTRY=true

Review URL: https://codereview.chromium.org/1869683002

Cr-Commit-Position: refs/heads/master@{#35324}
2016-04-07 08:31:18 +00:00
mstarzinger
099189f400 [compiler] Simplify GetLazyCode for asm functions.
R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/1868553003

Cr-Commit-Position: refs/heads/master@{#35323}
2016-04-07 08:21:49 +00:00
clemensh
b4edd2f658 Allow to pass a user message to assert functions
Nothing too important, but it helps localizing the cause of an error
much faster.
By the way, I also changed the output for assertThrows and
assertDoesNotThrow a bit.
All new arguments are optional, so everything is backwards compatible.

R=jfb@chromium.org, titzer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1866693002

Cr-Commit-Position: refs/heads/master@{#35322}
2016-04-07 08:16:04 +00:00
machenbach
ecb458440c [test] Skip flaky test on windows.
Crashes flakily with stressopt/alwaysopt.

BUG=v8:4893
LOG=n
TBR=yangguo@chromium.org
NOTRY=true

Review URL: https://codereview.chromium.org/1863393002

Cr-Commit-Position: refs/heads/master@{#35321}
2016-04-07 08:14:02 +00:00
ivica.bogosavljevic
d4403b172f MIPS: Add tests for AddBranchOvf and SubBranchOvf macro instructions.
BUG=

Review URL: https://codereview.chromium.org/1857193002

Cr-Commit-Position: refs/heads/master@{#35320}
2016-04-07 07:16:29 +00:00
hablich
d8bc471b4a Revert of [heap] Respect idle deadline in AdvanceIncrementalMarking more carefully. (patchset #4 id:60001 of https://codereview.chromium.org/1855943002/ )
Reason for revert:
Reverting because of https://bugs.chromium.org/p/chromium/issues/detail?id=601204

Original issue's description:
> [heap] Respect idle deadline in AdvanceIncrementalMarking more carefully.
>
> Committed: https://crrev.com/0eb53167f492a44d26b68c2197e37452f70c3a4f
> Cr-Commit-Position: refs/heads/master@{#35288}

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

Review URL: https://codereview.chromium.org/1870613002

Cr-Commit-Position: refs/heads/master@{#35319}
2016-04-07 07:14:30 +00:00
jarin
3df0a8c1f2 [crankshaft] Make infinite loops preserve control flow.
We have to preserve control flow so that the liveness analysis is less
confused. This CL fixes loops to preserve teh original control flow.

BUG=chromium:599710
LOG=n

Review URL: https://codereview.chromium.org/1863123002

Cr-Commit-Position: refs/heads/master@{#35318}
2016-04-07 05:36:44 +00:00
v8-autoroll
ea61d86f0d Update V8 DEPS.
Rolling v8/tools/clang to f9d7a272792022ffdfc9bd2cd0c901b824baf029

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

Review URL: https://codereview.chromium.org/1868873003

Cr-Commit-Position: refs/heads/master@{#35317}
2016-04-07 03:20:19 +00:00
jyan
41a9298524 S390: [generators] Decouple generator resume from fullcodegen.
Port 974721c661

Original commit message:
    Introduce a ResumeGeneratorTrampoline, which does the actual stack state
    reconstruction (currently always restores a fullcodegen frame), and
    introduce appropriate TurboFan builtins for %GeneratorPrototype%.next,
    %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on
    this native builtin.

    Also unify the flooding in case of step-in to always work based on
    JSFunction and remove the special casing for JSGeneratorObject.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, mbrandy@us.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com
BUG=chromium:513471
LOG=n

Review URL: https://codereview.chromium.org/1870483002

Cr-Commit-Position: refs/heads/master@{#35316}
2016-04-06 22:12:24 +00:00
hpayer
d0151bfb13 [heap] Don't use black pages for map, code and, lo space. Instead color objects black.
This reduced fragmentation in spaces where black pages are not a requirement. The only spaces where we need black pages is old space, because of allocation folding and fast inline allocation in generated code.

BUG=chromium:599174
LOG=n

Review URL: https://codereview.chromium.org/1862063002

Cr-Commit-Position: refs/heads/master@{#35315}
2016-04-06 21:53:31 +00:00
mbrandy
1e001e71e8 PPC: [generators] Decouple generator resume from fullcodegen.
Port 974721c661

Original commit message:
    Introduce a ResumeGeneratorTrampoline, which does the actual stack state
    reconstruction (currently always restores a fullcodegen frame), and
    introduce appropriate TurboFan builtins for %GeneratorPrototype%.next,
    %GeneratorPrototype%.return and %GeneratorPrototype%.throw based on
    this native builtin.

    Also unify the flooding in case of step-in to always work based on
    JSFunction and remove the special casing for JSGeneratorObject.

R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com, bjaideep@ca.ibm.com
BUG=chromium:513471
LOG=n

Review URL: https://codereview.chromium.org/1868683002

Cr-Commit-Position: refs/heads/master@{#35314}
2016-04-06 20:49:31 +00:00
mstarzinger
55515c998a [compiler] Remove obsolete GetUnoptimizedCodeCommon.
This removes an unnecessary abstraction from the implementation of the
compilation pipeline that is no longer needed by now.

R=bmeurer@chromium.org

Review URL: https://codereview.chromium.org/1868553002

Cr-Commit-Position: refs/heads/master@{#35313}
2016-04-06 19:20:51 +00:00
mstarzinger
56c7d4b4f9 [compiler] Remove CompilationInfo::opt_count field.
This field duplicates information from the SharedFunctionInfo. Now that
backends are guaranteed to have a SharedFunctionInfo around, we drop it.

R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/1860123003

Cr-Commit-Position: refs/heads/master@{#35312}
2016-04-06 19:16:57 +00:00
jyan
b6d446635a S390: Fix incorrect V8_HOST_ARCH_S390X to V8_TARGET_ARCH_S390X
V8_HOST_ARCH_S390X doesn't exist but is incorrectly used. Therefore, preserved floating point registers are not being correctly saved/restored in JSEntryStub.

R=joransiu@ca.ibm.com, michael_dawson@ca.ibm.com, mbrandy@us.ibm.com
BUG=

Review URL: https://codereview.chromium.org/1865893002

Cr-Commit-Position: refs/heads/master@{#35311}
2016-04-06 19:05:40 +00:00
bryleun
960e25ea2c S390: Overflow check assert expanded to include kS390_Add/kS390_Sub
Debug asserts in code-generator-s390.cc are in place to ensure that overflow is only set when dealing with a sub or add opcode. However, the check only looked for kS390_Add/SubWithOverflow32, not kS390_Add/Sub which also sets overflow. This CL adds the second case to this assert check.

R=michael_dawson@ca.ibm.com,jyan@ca.ibm.com,mtbrandyberry@ca.ibm.com,joransiu@ca.ibm.com

BUG=

Review URL: https://codereview.chromium.org/1863983003

Cr-Commit-Position: refs/heads/master@{#35310}
2016-04-06 18:50:50 +00:00
balazs.kilvady
7df3477a16 MIPS: [turbofan] use Lsa/Dlsa in some Multiplication cases.
BUG=

Review URL: https://codereview.chromium.org/1859143002

Cr-Commit-Position: refs/heads/master@{#35309}
2016-04-06 16:31:59 +00:00
cbruni
ceb14f8c31 [runtime] reduce runtime function and builtins overhead
All the counters, trace events and runtime call stats roughly create a 30%
overhead when calling into the runtime. This CL factors out the counters into
separate non-inlined functions. This way we can reduce the overhead to a
minimum and still have some useful stats without a compile-time flag.

BUG=chromium:596055
LOG=n

Review URL: https://codereview.chromium.org/1868513002

Cr-Commit-Position: refs/heads/master@{#35308}
2016-04-06 15:33:06 +00:00
marija.antic
4b86e6e321 MIPS: [wasm] Lowering of Int64Shl, Int64Shr, Int64Sar, Int64Add and Int64Sub.
Implementation of turbofan operators Word32PairShl, Word32PairShr,
Word32PairSar, Int32AddPair and Int32SubPair for MIPS.

Port of:
https://codereview.chromium.org/1765973002/
https://codereview.chromium.org/1778893004/
https://codereview.chromium.org/1778493004/
https://codereview.chromium.org/1778893005/
https://codereview.chromium.org/1842013002/

Added tests for Word32PairShr and Word32PairSar in test-run-machops.cc.

BUG=

Review URL: https://codereview.chromium.org/1819383002

Cr-Commit-Position: refs/heads/master@{#35307}
2016-04-06 14:45:30 +00:00
verwaest
6ac509de6e Delay copying abstract code to avoid failing in the heap verifier
BUG=

Review URL: https://codereview.chromium.org/1861963003

Cr-Commit-Position: refs/heads/master@{#35306}
2016-04-06 14:34:14 +00:00
mattloring
3184aff964 Eliminate zero count allocations from profile
If no objects allocated at a location are live when a profile is
collected we report a zero count sample. This is confusing to those
looking at the profiles and will leak memory.

We now delete allocations once the number of sampled live objects for
that location reaches zero.

R=ofrobots@google.com
BUG=

Review URL: https://codereview.chromium.org/1828333002

Cr-Commit-Position: refs/heads/master@{#35305}
2016-04-06 14:23:02 +00:00
machenbach
69bad719fc [CQ] Add next-gen win-nosnap-shared trybot as experiment
BUG=535160
TBR=sergiyb@chromium.org, kjellander@chromium.org
NOTRY=true
NOPRESUBMIT=true

Review URL: https://codereview.chromium.org/1864963003

Cr-Commit-Position: refs/heads/master@{#35304}
2016-04-06 13:58:56 +00:00
cbruni
b8cfe6853d [elements] Fix merge conflict/resolution.
BUG=

NOTRY=true
NOPRESUBMIT=true
NOTREECHECKS=true

Review URL: https://codereview.chromium.org/1865903002

Cr-Commit-Position: refs/heads/master@{#35303}
2016-04-06 13:53:18 +00:00
cbruni
ca5b896fab [elements] cleaning up string wrapper elements kind and adding tests
drive-by-fix: unify template parameters

BUG=chromium:586068
LOG=n

Review URL: https://codereview.chromium.org/1857163002

Cr-Commit-Position: refs/heads/master@{#35302}
2016-04-06 13:38:34 +00:00
verwaest
911a5768dc Simplify IC interfaces
BUG=

Review URL: https://codereview.chromium.org/1865873002

Cr-Commit-Position: refs/heads/master@{#35301}
2016-04-06 13:38:33 +00:00
cbruni
604f5be5f7 [elements] add fast-path for slice with FastSloppyArguments
BUG=

Review URL: https://codereview.chromium.org/1834613003

Cr-Commit-Position: refs/heads/master@{#35300}
2016-04-06 13:30:08 +00:00
verwaest
a6882e8262 Keyed IC cleanup: we always return Handle<Code>(), so just return void instead.
BUG=

Review URL: https://codereview.chromium.org/1853373004

Cr-Commit-Position: refs/heads/master@{#35299}
2016-04-06 13:28:10 +00:00
ssanfilippo
cf8de862ab Fix annotated disassembly in ll_prof.py
An overzealous removal in
https://crrev.com/9e39a9fff1c2966a3f650a4c31dbbe533886d614
caused the disassembly not to be annotated with ticks, even when
requested.

LOG=N

Review URL: https://codereview.chromium.org/1861323002

Cr-Commit-Position: refs/heads/master@{#35298}
2016-04-06 12:38:44 +00:00
verwaest
787516891f Cleanup IC-related code
BUG=

Review URL: https://codereview.chromium.org/1865863003

Cr-Commit-Position: refs/heads/master@{#35297}
2016-04-06 12:07:46 +00:00
hpayer
d16c3825fb [heap] Old generation limit is based on capacity.
BUG=chromium:600258
LOG=n

Review URL: https://codereview.chromium.org/1864433003

Cr-Commit-Position: refs/heads/master@{#35296}
2016-04-06 11:53:10 +00:00
bmeurer
318d9f52fd [test] Fix windows nosnap test expectations.
Now that we pass all these tests, we need to update the test
expectations.

TBR=machenbach@chromium.org

Review URL: https://codereview.chromium.org/1864013002

Cr-Commit-Position: refs/heads/master@{#35295}
2016-04-06 11:40:17 +00:00
mlippautz
6a5e24b29b Move MemoryAllocator and CodeRange into Heap
- MemoryAllocator is now part of Heap
- CodeRange is now part of MemoryAllocator

BUG=chromium:581076
LOG=N

Review URL: https://codereview.chromium.org/1862653002

Cr-Commit-Position: refs/heads/master@{#35294}
2016-04-06 11:40:16 +00:00
clemensh
0845448672 Prepare StackFrame hierarchy & iterators for WASM
This particularly changes the StackTraceFrameIterator such that is not
only returs JavaScriptFrames, but also WasmFrames. Because of that,
some methods (Summarize, function, receiver) were pulled up to the
StandardFrame, with specializations in JavaScriptFrame and WasmFrame.

R=jfb@chromium.org, titzer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1861283002

Cr-Commit-Position: refs/heads/master@{#35293}
2016-04-06 11:38:20 +00:00
jacob.bramley
141324cfdc [arm] Implement Float(32|64)(Min|Max) using vsel.
BUG=

Review URL: https://codereview.chromium.org/1862993002

Cr-Commit-Position: refs/heads/master@{#35292}
2016-04-06 10:17:57 +00:00
verwaest
d2eb555ee1 Use a dictionary-mode code cache on the map rather than a dual system.
The previous code cache system required stubs to be marked with a StubType, causing them to be inserted either into a fixed array or into a dictionary-mode code cache. This could cause names to be in both cases, and lookup would just find the "fast" one first. Given that we clear out the caches on each GC, the memory overhead shouldn't be too bad. Additionally, the dictionary itself should just stay linear for small arrays; that's faster anyway.

This CL additionally deletes some dead IC code.

BUG=

Review URL: https://codereview.chromium.org/1846963002

Cr-Commit-Position: refs/heads/master@{#35291}
2016-04-06 10:06:30 +00:00
clemensh
ca9f2c8034 Add tags file to gitignore
R=ahaas@chromium.org, titzer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1861293002

Cr-Commit-Position: refs/heads/master@{#35290}
2016-04-06 09:59:02 +00:00
ahaas
a7d3e24fd6 [wasm] Refactoring of wasm-external-refs.
1) I moved the implementations of the wrapper functions into a new cc
file so that I can use these wrapper functions in tests.

2) I made a generic test for all tests in
test-run-calls-to-external-references.cc. In the new test we only
compare the result of a function call through an external reference with
the result of a direct function call. This is sufficient because we only
want to test function calls through external references work here.
The implementation of these functions are tested somewhere else.

R=titzer@chromium.org

Review URL: https://codereview.chromium.org/1853123002

Cr-Commit-Position: refs/heads/master@{#35289}
2016-04-06 09:26:05 +00:00
hpayer
0eb53167f4 [heap] Respect idle deadline in AdvanceIncrementalMarking more carefully.
Review URL: https://codereview.chromium.org/1855943002

Cr-Commit-Position: refs/heads/master@{#35288}
2016-04-06 09:07:35 +00:00
epertoso
6c2bb8389d [stubs] Introduce MultiplyStub.
Adds a MultiplyStub for the multiplication operator and hooks it with TurboFan and Ignition.

Currently, the SMI times SMI case is handled by converting both the operands to double precision floating points, we may consider adding a fast path later.

Review URL: https://codereview.chromium.org/1860043002

Cr-Commit-Position: refs/heads/master@{#35287}
2016-04-06 09:05:39 +00:00
titzer
e00a0c621c [wasm] Local decl parsing tweak.
R=ahaas@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1860103002

Cr-Commit-Position: refs/heads/master@{#35286}
2016-04-06 08:57:50 +00:00
clemensh
9a65c0ef03 Refactoring: Avoid redundant checks in SingletonFor
SingletonFor(type, state) returns NULL and does nothing whenever SingletonFor(type) also return NULL. So checking this beforehand is redundant.

This is my first CL, so I also use it to get familiar with the system.

R=titzer@chromium.org
BUG=

Review URL: https://codereview.chromium.org/1862753003

Cr-Commit-Position: refs/heads/master@{#35285}
2016-04-06 08:57:49 +00:00
mlippautz
260df721d4 [heap] Unify LargePage, NewSpacePage, and Page allocation
BUG=

Review URL: https://codereview.chromium.org/1864953003

Cr-Commit-Position: refs/heads/master@{#35284}
2016-04-06 08:43:13 +00:00
bmeurer
974721c661 [generators] Decouple generator resume from fullcodegen.
Introduce a ResumeGeneratorTrampoline, which does the actual stack state
reconstruction (currently always restores a fullcodegen frame), and
introduce appropriate TurboFan builtins for %GeneratorPrototype%.next,
%GeneratorPrototype%.return and %GeneratorPrototype%.throw based on
this native builtin.

Also unify the flooding in case of step-in to always work based on
JSFunction and remove the special casing for JSGeneratorObject.

R=mstarzinger@chromium.org, neis@chromium.org
TBR=rossberg@chromium.org
BUG=chromium:513471
LOG=n

Review URL: https://codereview.chromium.org/1865833002

Cr-Commit-Position: refs/heads/master@{#35283}
2016-04-06 08:39:24 +00:00
ishell
03953f52bd Convert receiver when calling an Api accessor.
BUG=chromium:590071
LOG=N

Review URL: https://codereview.chromium.org/1856123005

Cr-Commit-Position: refs/heads/master@{#35282}
2016-04-06 08:02:24 +00:00