Commit Graph

34518 Commits

Author SHA1 Message Date
mlippautz
f88fe51a00 [heap] Remove PromotionMode used by Scavenger
The scavenger should never consider mark bits for promotion/copy as this creates
weird livetimes at the start of incremental marking. E.g. consider an object
marked black by the marker at the start of incremental marking. A scavenge would
promote it to the old generation although it could --and for short-living
objects actually does-- become unreachable during marking

Also, keeping this invariant significantly simplifies young generation mark
compacting as we can compare against the scavenging decision without keeping
different sets of markbits.

BUG=chromium:651354
R=hpayer@chromium.org

Review-Url: https://codereview.chromium.org/2397713002
Cr-Commit-Position: refs/heads/master@{#40026}
2016-10-06 10:14:23 +00:00
ishell
6d9b2e129a [crankshaft] Remove HLoadNamedGeneric and use HCallWithDescriptor to call LoadIC.
... because the latter automatically respects the desired calling convention.

BUG=v8:5408

Review-Url: https://codereview.chromium.org/2398683004
Cr-Commit-Position: refs/heads/master@{#40025}
2016-10-06 09:32:21 +00:00
heimbuef
506c9bcd46 Remove the runtime zone. The runtime zone is ugly
because ownership over it is not obviously clear
and leads to errors.

Review-Url: https://codereview.chromium.org/2366283003
Cr-Commit-Position: refs/heads/master@{#40024}
2016-10-06 09:13:18 +00:00
ishell
5b34db2249 [crankshaft] Remove HLoadGlobalGeneric and use HCallWithDescriptor instead to call LoadGlobalIC.
... because the latter automatically respects the desired calling convention.

BUG=v8:5408

Review-Url: https://codereview.chromium.org/2396023002
Cr-Commit-Position: refs/heads/master@{#40023}
2016-10-06 08:36:23 +00:00
bmeurer
e17ea8ddf2 [turbofan][x64] Use the root register for comparisons with certain roots.
Emit code like this

  cmpq reg, [kRootRegister + offset]

when selecting instructions for comparisons with immortal, immovable
roots. This reduces register pressure as we don't need to load those
roots into registers first.

R=jarin@chromium.org
TBR=hpayer@chromium.org

Review-Url: https://codereview.chromium.org/2396923003
Cr-Commit-Position: refs/heads/master@{#40022}
2016-10-06 08:19:17 +00:00
jarin
5d6b514192 Reland of "[turbofan] Osr value typing + dynamic type checks on entry. (patchset #5 id:80001 of https://codereview.chromium.org/2384113002/ )"
Fixes:

- Remove OsrGuards on frame specialization (for asm.js).
- Handle the rename in the walk for native context.
- Fix LoadContext effect wiring for Osr context chains.

Review-Url: https://codereview.chromium.org/2388303006
Cr-Commit-Position: refs/heads/master@{#40021}
2016-10-06 06:42:29 +00:00
danno
697aa6f579 [stubs]: Generalize loop handling in CodeStubAssembler and improve common loop performance
Specifically an attempt to address a 3.5% regression on the total load
time on cnn introduced by https://codereview.chromium.org/2113673002.

Non-refactoring effect of this CL is to reduce the number of branches in
CodeStubAssembler-generated loops iterating over FixedArrays from
two to one.

LOG=N
BUG=v8:5423

Review-Url: https://codereview.chromium.org/2380953002
Cr-Commit-Position: refs/heads/master@{#40020}
2016-10-06 06:40:21 +00:00
v8-autoroll
a3d0c2e08b Update V8 DEPS.
Rolling v8/build: 475d5b3..67604e1

Rolling v8/buildtools: 5fd6695..39b1db2

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

Review-Url: https://codereview.chromium.org/2397993002
Cr-Commit-Position: refs/heads/master@{#40019}
2016-10-06 03:38:43 +00:00
gsathya
4dc97f4a83 [promises] dont create resolving closures in PromiseThen
When we create native promises as part of PromiseThen, we don't have
to create resolving closures. The closure will only ever be called
once from PromiseHandle, therefore we don't need the alreadyResolved
check.

This results in a 21.76% improvement in the bluebird benchmark
over 5 runs.

BUG=v8:5046

Review-Url: https://codereview.chromium.org/2396763002
Cr-Commit-Position: refs/heads/master@{#40018}
2016-10-05 23:36:01 +00:00
ziyang
0c7e1bef40 PPC/s390: Remove unnecessary duplication of FunctionKind enums in CompilerHints
Port 7a82be3d0d

Original commit message:

    The duplicated enum values are only used by the FastNewClosureStub,
    so inline them there, with the help of one new constant (kFunctionKindShift)
    in SharedFunctionInfo.

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

Review-Url: https://codereview.chromium.org/2391343003
Cr-Commit-Position: refs/heads/master@{#40017}
2016-10-05 23:12:11 +00:00
kozyatinskiy
6ea067a40c [inspector] fix integer conversion
v8::Integer::Value() method returns int64 but all scriptIds are 32 bit based. We can safely cast int64 into int here to make compilers happy.

R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2394973002
Cr-Commit-Position: refs/heads/master@{#40016}
2016-10-05 22:56:56 +00:00
leszeks
b3c8b0ce2c [interpreter] Add string type feedback to add
Adds string type feedback to Ignition's AddWithFeedback code stub, for now only
adding a special case for when both lhs and rhs are strings. This improves
octane's splay by >100%.

BUG=v8:5400

Committed: https://crrev.com/fb4ae2239d37adaf0321165034050316914de708
Committed: https://crrev.com/bf1a94f1b269914856a8c8763fd282367f066c67
Review-Url: https://codereview.chromium.org/2392533002
Cr-Original-Original-Commit-Position: refs/heads/master@{#39987}
Cr-Original-Commit-Position: refs/heads/master@{#39996}
Cr-Commit-Position: refs/heads/master@{#40015}
2016-10-05 19:48:49 +00:00
bjaideep
45b64d15a0 [heap] Update verification of LO_SPACE in SizeOfInitialHeap
On PPC64 linux the OS page size is 64KB, therefore when the
snapshot is created the serialized heap already has LO_SPACE
allocated(the allocation goes beyond the 1st page of
CODE_SPACE and hence LO_SPACE is allocated).
I've updated the testcase to check if the delta
of the LO_SPACE is zero.

R=mlippautz@chromium.org, ulan@chromium.org, vogelheim@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2394893002
Cr-Commit-Position: refs/heads/master@{#40014}
2016-10-05 19:47:27 +00:00
bradnelson
e901ccdd18 [wasm] [asm.js] Fix asm.js issues around floating point globals.
Allow fround to take values without dots for globals (the spec allows this
subtly).

Drop over-restrictive assert preventing floating point globals from working.

BUG=v8:4203
R=jpp@chromium.org,aseemgarg@chromium.org

Review-Url: https://codereview.chromium.org/2397823003
Cr-Commit-Position: refs/heads/master@{#40013}
2016-10-05 19:46:25 +00:00
ziyang
8ba6686b20 S390: Change printf format specifier for size_t in heap.cc
GCC on S390 31-bit treats size_t as 'long unsigned int', which
is incompatible with %d format specifier that expects an 'int'.
Using the appropriate macro (PRIuS) instead.

R=mlippautz@chromium.org, hpayer@chromium.org
BUG=

Review-Url: https://codereview.chromium.org/2398703002
Cr-Commit-Position: refs/heads/master@{#40012}
2016-10-05 19:45:08 +00:00
gsathya
34a0ac3cca [promises] Use PromiseCreate when applicable
Review-Url: https://codereview.chromium.org/2376613003
Cr-Commit-Position: refs/heads/master@{#40011}
2016-10-05 19:44:04 +00:00
machenbach
a16f2ab076 [build] Landmine to fix windows build problems
NOTRY=true
NOTREECHECKS=true
NOPRESUBMIT=true
TBR=hablich@chromium.org

Review-Url: https://codereview.chromium.org/2392463007
Cr-Commit-Position: refs/heads/master@{#40010}
2016-10-05 19:33:33 +00:00
adamk
e75b9f6ed5 Revert of Reland "Turn libbase into a component" (patchset #1 id:1 of https://codereview.chromium.org/2395553002/ )
Reason for revert:
Speculative revert due to very strange-looking win/dbg failures
which reference SignedDivisionByConstant:

https://build.chromium.org/p/client.v8/builders/V8%20Win64%20-%20debug/builds/12736

Original issue's description:
> Reland "Turn libbase into a component"
>
> Original issue's description:
> > Turn libbase into a component
> >
> > This is a precondition for turning libplatform into a component
> >
> > BUG=v8:5412
> > R=jgruber@chromium.org,machenbach@chromium.org
> > CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_
> dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe
> >
> > Committed: https://crrev.com/614e615775f732d71b5ee94ed29737d8de687104
> > Cr-Commit-Position: refs/heads/master@{#39950}
>
> BUG=v8:5412
> TBR=jgruber@chromium.org,machenbach@chromium.org
> CQ_INCLUDE_TRYBOTS=master.tryserver.chromium.linux:linux_chromium_compile_dbg_ng;master.tryserver.chromium.android:android_clang_dbg_recipe;master.tryserver.chromium.mac:mac_chromium_compile_dbg_ng
>
> Committed: https://crrev.com/17cb51254cafa932025e9980b60f89f756d411cb
> Cr-Commit-Position: refs/heads/master@{#39969}

TBR=jgruber@chromium.org,machenbach@chromium.org,jochen@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5412

Review-Url: https://codereview.chromium.org/2396933002
Cr-Commit-Position: refs/heads/master@{#40009}
2016-10-05 19:14:41 +00:00
caitp
f5871336e2 Reland "[turbofan] inline %StringIteratorPrototype%.next in JSBuiltinReducer"
Reland https://codereview.chromium.org/2373983004/, reverted in
4e5a4d9352.

Reason: CL is not responsible for Win32 Debug failures (see https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/5031)

------------------------------------------------------------------------------

Implement the logic for StringIterator.prototype.next in the JSBuiltinReducer in order to allow inlining when the receiver is a JS_STRING_ITERATOR_TYPE map, built ontop of the SimplifiedOperators StringCharCodeAt and the newly added StringFromCodePoint.

Also introduces a new StringFromCodePoint simplified op which may be useful for other String builtins, such as String.fromCodePoint()

BUG=v8:5388
TBR=bmeurer@chromium.org, mstarzinger@chromium.org

Review-Url: https://codereview.chromium.org/2394823003
Cr-Commit-Position: refs/heads/master@{#40008}
2016-10-05 18:46:10 +00:00
kozyatinskiy
5ff4d02da5 [inspector] command line api debug and monitor works with bound functions
BUG=chromium:496666
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2391323002
Cr-Commit-Position: refs/heads/master@{#40007}
2016-10-05 17:59:06 +00:00
ishell
c56222c9bd [ic] Avoid feedback metadata names table reallocations.
An attempt to fix memory regression (r38047) caused another regression
because custom capacity chosen for names dictionary implied reallocations
during initialization in some cases.

BUG=chromium:625894,chromium:632231

Review-Url: https://codereview.chromium.org/2394873002
Cr-Commit-Position: refs/heads/master@{#40006}
2016-10-05 17:55:42 +00:00
adamk
7a82be3d0d Remove unnecessary duplication of FunctionKind enums in CompilerHints
The duplicated enum values are only used by the FastNewClosureStub,
so inline them there, with the help of one new constant (kFunctionKindShift)
in SharedFunctionInfo.

Review-Url: https://codereview.chromium.org/2390043003
Cr-Commit-Position: refs/heads/master@{#40005}
2016-10-05 17:54:37 +00:00
vogelheim
138127a608 Fix bad-char handling in utf-8 streaming streams. Also add test.
R=jochen@chromium.org
BUG=chromium:651333, v8:4947

Review-Url: https://codereview.chromium.org/2391273002
Cr-Commit-Position: refs/heads/master@{#40004}
2016-10-05 17:18:58 +00:00
kozyatinskiy
186e7db8dd [inspector] fix compilation on win and linux
BUG=chromium:635948
R=dgozman@chromium.org,machenbach@chromium.org

Review-Url: https://codereview.chromium.org/2389133004
Cr-Commit-Position: refs/heads/master@{#40003}
2016-10-05 17:07:46 +00:00
rmcilroy
7e237ad3c8 [Interpreter] Use RegisterList for kRegTriple and kRegPair operands.
BUG=v8:4280

Review-Url: https://codereview.chromium.org/2384123002
Cr-Commit-Position: refs/heads/master@{#40002}
2016-10-05 16:44:58 +00:00
rmcilroy
479e8f2346 [Interpreter]: Add kRegList operand type for register list operands.
Also get rid of useless kMaybeReg type.

BUG=v8:4280

Review-Url: https://codereview.chromium.org/2382273002
Cr-Commit-Position: refs/heads/master@{#40001}
2016-10-05 16:14:32 +00:00
leszeks
99493fea6b Revert of [interpreter] Add string type feedback to add (patchset #3 id:40001 of https://codereview.chromium.org/2392533002/ )
Reason for revert:
Broke the tree again, for no obvious reason :/

Original issue's description:
> [interpreter] Add string type feedback to add
>
> Adds string type feedback to Ignition's AddWithFeedback code stub, for now only
> adding a special case for when both lhs and rhs are strings. This improves
> octane's splay by >100%.
>
> BUG=v8:5400
>
> Committed: https://crrev.com/fb4ae2239d37adaf0321165034050316914de708
> Committed: https://crrev.com/bf1a94f1b269914856a8c8763fd282367f066c67
> Cr-Original-Commit-Position: refs/heads/master@{#39987}
> Cr-Commit-Position: refs/heads/master@{#39996}

TBR=rmcilroy@chromium.org,mythria@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5400

Review-Url: https://codereview.chromium.org/2393193002
Cr-Commit-Position: refs/heads/master@{#40000}
2016-10-05 15:34:14 +00:00
leszeks
fdc277e645 [tools] run-perf: ensure command line arguments are prepended
This change to run-perf.sh ensures that command line arguments are
prepended rather than appended to the passed in command. This is to
ensure that the arguments to d8 aren't accidentally passed through to
the js instead, as would be in the case:

tools/run-perf.sh d8 main.js -- --js-arg

A real-life example is passing --predictable to Octane's run.js

Review-Url: https://codereview.chromium.org/2391193003
Cr-Commit-Position: refs/heads/master@{#39999}
2016-10-05 15:15:38 +00:00
kozyatinskiy
e90a79c637 [inspector] introduced exceptionThrown support in test runner
BUG=chromium:635948
R=dgozman@chromium.org

Review-Url: https://codereview.chromium.org/2384373002
Cr-Commit-Position: refs/heads/master@{#39998}
2016-10-05 15:08:14 +00:00
ishell
360ee4f9b0 [stubs] Reduce number of StoreTransitionStub instances.
... by passing a field offset as a runtime parameter.

This CL also introduces a StoreMapStub - a special case of a store transition
that used to be handled by old StoreTransitionStub.

BUG=chromium:648545

Review-Url: https://codereview.chromium.org/2397573004
Cr-Commit-Position: refs/heads/master@{#39997}
2016-10-05 14:57:09 +00:00
leszeks
bf1a94f1b2 [interpreter] Add string type feedback to add
Adds string type feedback to Ignition's AddWithFeedback code stub, for now only
adding a special case for when both lhs and rhs are strings. This improves
octane's splay by >100%.

BUG=v8:5400

Committed: https://crrev.com/fb4ae2239d37adaf0321165034050316914de708
Review-Url: https://codereview.chromium.org/2392533002
Cr-Original-Commit-Position: refs/heads/master@{#39987}
Cr-Commit-Position: refs/heads/master@{#39996}
2016-10-05 14:49:16 +00:00
machenbach
4e5a4d9352 Revert of [turbofan] inline %StringIteratorPrototype%.next in JSBuiltinReducer. (patchset #12 id:210001 of https://codereview.chromium.org/2373983004/ )
Reason for revert:
[Sheriff] Speculative revert for win dbg: https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/5029

Or we have an infra problem. Manual build before seems fine:
https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/5030

Original issue's description:
> [turbofan] inline %StringIteratorPrototype%.next in JSBuiltinReducer.
>
> Implement the logic for StringIterator.prototype.next in the JSBuiltinReducer in order to allow inlining when the receiver is a JS_STRING_ITERATOR_TYPE map, built ontop of the SimplifiedOperators StringCharCodeAt and the newly added StringFromCodePoint.
>
> Also introduces a new StringFromCodePoint simplified op which may be useful for other String builtins, such as String.fromCodePoint()
>
> BUG=v8:5388
> R=bmeurer@chromium.org, mstarzinger@chromium.org
>
> Committed: https://crrev.com/aed32e0f22353527993de8bceaf246fc744558f5
> Cr-Commit-Position: refs/heads/master@{#39994}

TBR=bmeurer@chromium.org,mvstanton@chromium.org,caitp@igalia.com
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5388

Review-Url: https://codereview.chromium.org/2397753003
Cr-Commit-Position: refs/heads/master@{#39995}
2016-10-05 14:29:45 +00:00
caitp
aed32e0f22 [turbofan] inline %StringIteratorPrototype%.next in JSBuiltinReducer.
Implement the logic for StringIterator.prototype.next in the JSBuiltinReducer in order to allow inlining when the receiver is a JS_STRING_ITERATOR_TYPE map, built ontop of the SimplifiedOperators StringCharCodeAt and the newly added StringFromCodePoint.

Also introduces a new StringFromCodePoint simplified op which may be useful for other String builtins, such as String.fromCodePoint()

BUG=v8:5388
R=bmeurer@chromium.org, mstarzinger@chromium.org

Review-Url: https://codereview.chromium.org/2373983004
Cr-Commit-Position: refs/heads/master@{#39994}
2016-10-05 13:12:46 +00:00
bmeurer
7500e5077c [turbofan][x64] Improve code generation for external reference access.
Properly fold external reference access into memory operands whenever
possible, i.e. for accessing the allocation top/limit, similar to what
we do in Crankshaft and hand-written native code. This only works when
the serializer is disabled, i.e. doesn't apply to the stubs in the
snapshot (for now). This reduces register pressure especially around
allocations where we'd currently need two registers to hold both the
allocation top and limit pointers in registers (on x64).

R=epertoso@chromium.org

Review-Url: https://codereview.chromium.org/2398603002
Cr-Commit-Position: refs/heads/master@{#39993}
2016-10-05 13:07:39 +00:00
mstarzinger
c22e4278ec [interpreter] Module tests in all Ignition variants.
This makes sure we run the module tests against all variants using
Ignition as the first compilation tier. It will henceforth extend the
test coverage to the BytecodeGraphBuilder as well.

R=neis@chromium.org

Review-Url: https://codereview.chromium.org/2397733002
Cr-Commit-Position: refs/heads/master@{#39992}
2016-10-05 13:06:09 +00:00
machenbach
22a62df344 Revert of [interpreter] Add string type feedback to add (patchset #3 id:40001 of https://codereview.chromium.org/2392533002/ )
Reason for revert:
Fails unittests on win32 debug:
https://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20debug/builds/5026

Original issue's description:
> [interpreter] Add string type feedback to add
>
> Adds string type feedback to Ignition's AddWithFeedback code stub, for now only
> adding a special case for when both lhs and rhs are strings. This improves
> octane's splay by >100%.
>
> BUG=v8:5400
>
> Committed: https://crrev.com/fb4ae2239d37adaf0321165034050316914de708
> Cr-Commit-Position: refs/heads/master@{#39987}

TBR=rmcilroy@chromium.org,mythria@chromium.org,leszeks@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:5400

Review-Url: https://codereview.chromium.org/2395743004
Cr-Commit-Position: refs/heads/master@{#39991}
2016-10-05 13:04:56 +00:00
mlippautz
1a9df4cec0 Reland of [heap] Simplify marking of JSFunction and SFI (patchset #1 id:1 of https://codereview.chromium.org/2389963007/ )
Reason for revert:
Wrong culprit as this was already broken before.

Original issue's description:
> Revert of [heap] Simplify marking of JSFunction and SFI (patchset #3 id:40001 of https://codereview.chromium.org/2389183002/ )
>
> Reason for revert:
> Broke GCStress.
>
> Original issue's description:
> > [heap] Simplify marking of JSFunction and SFI
> >
> > BUG=chromium:651828
> >
> > Committed: https://crrev.com/4d45ed4597d537cf9624cb6683dc4bd646d11242
> > Cr-Commit-Position: refs/heads/master@{#39975}
>
> TBR=hpayer@chromium.org,mlippautz@chromium.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:651828
>
> Committed: https://crrev.com/5295d7a463cbcc78a4b694a7fb84af8e8e400303
> Cr-Commit-Position: refs/heads/master@{#39983}

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

Review-Url: https://codereview.chromium.org/2390373004
Cr-Commit-Position: refs/heads/master@{#39990}
2016-10-05 12:28:04 +00:00
machenbach
9fc7bbb13e [test] Skip asm-wasm for gc_stress and ignition
BUG=v8:5451
NOTRY=true
TBR=titzer@chromium.org, ahaas@chromium.org, rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/2389703006
Cr-Commit-Position: refs/heads/master@{#39989}
2016-10-05 12:12:02 +00:00
ahaas
90080f2a6b [wasm] Move test-signatures.h from test/cctest to test/common
R=titzer@chromium.org

Review-Url: https://codereview.chromium.org/2395743003
Cr-Commit-Position: refs/heads/master@{#39988}
2016-10-05 12:00:03 +00:00
leszeks
fb4ae2239d [interpreter] Add string type feedback to add
Adds string type feedback to Ignition's AddWithFeedback code stub, for now only
adding a special case for when both lhs and rhs are strings. This improves
octane's splay by >100%.

BUG=v8:5400

Review-Url: https://codereview.chromium.org/2392533002
Cr-Commit-Position: refs/heads/master@{#39987}
2016-10-05 11:52:41 +00:00
mlippautz
8b682e1a5a [heap] Use size_t throughout MemoryAllocator
BUG=chromium:652721
R=hpayer@chromium.org

Review-Url: https://codereview.chromium.org/2395563002
Cr-Commit-Position: refs/heads/master@{#39986}
2016-10-05 10:40:31 +00:00
jarin
ff81734cb9 Revert of [turbofan] Osr value typing + dynamic type checks on entry. (patchset #5 id:80001 of https://codereview.chromium.org/2384113002/ )
Reason for revert:
Tanks the world.

Original issue's description:
> [turbofan] Osr value typing + dynamic type checks on entry.
>
> This introduces a new OsrGuard node that is inserted during graph building
> to guard the inferred type of the OSR value.
>
> The type of the OSR value is inferred by running the typer before OSR
> deconstruction, and then taking the type from the phi that takes the
> OSR value. After the deconstruction, we throw the types away.
>
> At the moment we only support the SignedSmall OSR type and we always
> pick the tagged representation. Later, we might want to support more
> types (such as Number) and pick better representations (int32/float64).
>
> This CL also removes the OSR deconstruction tests because they build
> unrealistic graph (no effect chain, no loop termination). I considered
> adding the effect chains to the tests, but this would make the tests
> even more brittle.
>
> Committed: https://crrev.com/1f5dc90a900d222da44bee3eff171a2ba1e3c076
> Cr-Commit-Position: refs/heads/master@{#39971}

TBR=bmeurer@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/2395783002
Cr-Commit-Position: refs/heads/master@{#39985}
2016-10-05 10:34:33 +00:00
mlippautz
4eaccc7a45 [heap] ObjectStats: Handle empty deoptimization input data
BUG=chromium:652955

Review-Url: https://codereview.chromium.org/2393153002
Cr-Commit-Position: refs/heads/master@{#39984}
2016-10-05 10:24:05 +00:00
epertoso
5295d7a463 Revert of [heap] Simplify marking of JSFunction and SFI (patchset #3 id:40001 of https://codereview.chromium.org/2389183002/ )
Reason for revert:
Broke GCStress.

Original issue's description:
> [heap] Simplify marking of JSFunction and SFI
>
> BUG=chromium:651828
>
> Committed: https://crrev.com/4d45ed4597d537cf9624cb6683dc4bd646d11242
> Cr-Commit-Position: refs/heads/master@{#39975}

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

Review-Url: https://codereview.chromium.org/2389963007
Cr-Commit-Position: refs/heads/master@{#39983}
2016-10-05 10:22:38 +00:00
hpayer
1cb133e312 [heap] Concurrently free empty slot set buckets.
BUG=chromium:648568

Review-Url: https://codereview.chromium.org/2390743005
Cr-Commit-Position: refs/heads/master@{#39982}
2016-10-05 09:27:10 +00:00
jgruber
d515156441 [regexp] Port RegExpConstructor to C++
This moves the RegExp constructor to C++. Local runs of octane/regexp are
performance-neutral:

C++: 4970.1 +- 404.981
JS: 4869.2 +- 586.743

That's probably only the case because exec and replace dominate
octane/regexp. There's potential for improvement here, for instance by
adding a fast-path if new.target is an unmodified JSRegExp function.

BUG=v8:5339

Review-Url: https://codereview.chromium.org/2384613004
Cr-Commit-Position: refs/heads/master@{#39981}
2016-10-05 09:13:37 +00:00
ahaas
aa93e6ca95 [wasm] Call a runtime function for a MemorySize instruction.
The implementation of MemorySize with RelocatableInt32Constants is
problematic if MemorySize is placed close to a GrowMemory instruction in
the code. The use of a runtime function guarantees that the order in
which MemorySize and GrowMemory is executed is correct.

R=titzer@chromium.org
BUG=chromium:651961
TEST=mjsunit/regress/wasm/regression-651961

Committed: https://crrev.com/2c12a9a42d454a36fcd2931fa458d72832eeb689
Review-Url: https://codereview.chromium.org/2386183004
Cr-Original-Commit-Position: refs/heads/master@{#39972}
Cr-Commit-Position: refs/heads/master@{#39980}
2016-10-05 09:12:08 +00:00
mstarzinger
9c3d08f972 [interpreter] Implement support for the --trace flag.
R=rmcilroy@chromium.org

Review-Url: https://codereview.chromium.org/2387363003
Cr-Commit-Position: refs/heads/master@{#39979}
2016-10-05 09:04:43 +00:00
jgruber
f73074195e [stubs] Add String and JSReceiver instance type predicates
These improve readability of relevant code passages.

Review-Url: https://codereview.chromium.org/2395453002
Cr-Commit-Position: refs/heads/master@{#39978}
2016-10-05 08:43:14 +00:00
marja
1d40f81951 Add a command line flag to disable streaming.
It's useful for debugging / analytics purposes, since we can force all
parsing to happen on a foreground thread.

BUG=

Review-Url: https://codereview.chromium.org/2386123006
Cr-Commit-Position: refs/heads/master@{#39977}
2016-10-05 08:40:40 +00:00