Commit Graph

21644 Commits

Author SHA1 Message Date
balazs.kilvady
1320b9dc5f MIPS: CpuProfiler: enable tests except four failing tests.
Port 84e90b2d0d

Original commit message:
Four tests are failing due to a problem with no frame ranges.

TEST=cctest/test-cpu-profiler/CollectDeoptEvents
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27152}
2015-03-12 10:46:31 +00:00
dcarney
317ce1170d add 0 length guard in IsNonArrayIndexInteger
TBR=verwaest@chromium.org

BUG=466086
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27151}
2015-03-12 10:44:38 +00:00
mstarzinger
d4696c4841 Simplify pending message object handling.
This moves the decision whether to report a message or not to when
the pending exception is propagated instead of trying to preserve the
decision in a ThreadLocalTop field.

R=titzer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27150}
2015-03-12 09:50:44 +00:00
mvstanton
4ededa8694 Vector-ICs: Implement slot sharing for global loads.
We can reduce the number of type feedback vector slots required, and
also reduce IC misses.

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

Cr-Commit-Position: refs/heads/master@{#27149}
2015-03-12 09:23:01 +00:00
bmeurer
b5197ea478 [turbofan] Remove unused diamonds during control reduction.
A diamond is unused if the Merge node has no Phi/EffectPhi uses, exactly
two inputs, one IfTrue and one IfFalse, which have the same Branch
control input and no other uses except for the Merge. In this case the
diamond can safely be removed.

R=jarin@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27148}
2015-03-12 09:02:22 +00:00
machenbach
8329f04abe Mark ProcessDebugMessagesThreaded as flaky.
TBR=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27147}
2015-03-12 08:15:55 +00:00
michael_dawson
be2e9199cb PPC: simplify delta calculation in DoDeferredInstanceOfKnownGlobal.
... and improve protection against trampoline table generation in this
sequence.

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27146}
2015-03-12 08:14:51 +00:00
michael_dawson
7cbdadd495 PPC: remove test excludes no longer required
The test/cctest/cctest.status and test/mjsunit/mjsunit.status
tests now pass under the simulator so removing these
excludes

	modified:   test/cctest/cctest.status
	modified:   test/mjsunit/mjsunit.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27145}
2015-03-12 07:54:38 +00:00
michael_dawson
c67dab62c7 PPC: Simplify pending message script handling.
Port f71e262683

Original commit message:
This removes the separate tracking of the pending message script,
because that script is already stored in the message object and
duplicating it in the ThreadLocalTop makes it more brittle.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27127}

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27144}
2015-03-12 04:27:18 +00:00
adamk
9703c057c5 Modules: simplify logic around allocation of module internal variables
Since recursive modules are gone, only the top-level scope can have
module inner scopes. Rename Scope::AllocateModulesRecursively to
Scope::AllocateModules, and add test showing the module Variables
are still allocated appropriately in the top level scope.

BUG=v8:1569,v8:3940
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27143}
2015-03-11 23:19:57 +00:00
dpranke
ad5630db87 Fix the toolchain used to build the snapshots in GN.
We need the v8 snapshot to be compiled on the host cpu (the
machine doing the build), but using generated code that has the
same pointer size as the target_arch; i.e., for 32-bit arm builds,
we need to use a 32-bit x86 host binary, not a 64-bit host binary.

The easiest way to ensure that this happens is to just specify
a custom toolchain in GN to use to build the snapshot.

R=jochen@chromium.org, cjhopman@chromium.org
BUG=465456, 395249
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27142}
2015-03-11 21:55:57 +00:00
ishell
6d0677d845 Reland of Remove slots that point to unboxed doubles from the StoreBuffer/SlotsBuffer.
The problem is that tagged slot could become a double slot after migrating of an object to another map with "shifted" fields (for example as a result of generalizing immutable data property to a data field).
This CL also adds useful machinery that helps triggering incremental write barriers.

BUG=chromium:454297, chromium:465273
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27141}
2015-03-11 19:29:57 +00:00
balazs.kilvady
2bd426cdd5 MIPS: Simplify pending message script handling.
Port f71e262683

Original commit message:
This removes the separate tracking of the pending message script,
because that script is already stored in the message object and
duplicating it in the ThreadLocalTop makes it more brittle.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27140}
2015-03-11 17:25:11 +00:00
balazs.kilvady
94d49b1150 MIPS64: CpuProfiler: fix for CollectDeoptEvents test.
Port a925f3f478

Original commit message:
The same idea as in https://codereview.chromium.org/984893003/

BUG=chromium:452067
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27139}
2015-03-11 16:52:29 +00:00
yangguo
9333e7e135 Hide native Date implementation in function context.
This further reduces the context size.

R=jkummerow@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27138}
2015-03-11 15:53:37 +00:00
svenpanne
a69cfac182 Re-arranged intrinsic macros a bit.
Outside of runtime.h, only the distinction between intrinsics
returning pairs and those returning pairs is really meaningful, not
the internal traditional partitioning of them.

BUG=v8:3947
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27137}
2015-03-11 15:18:52 +00:00
michael_dawson
d88656af9f cctest/test-deoptimization/DeoptimizeCompare was failing on PPC because the path that is optimized for isel incorrectly used integer values instead of Smi's
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27136}
2015-03-11 14:58:03 +00:00
svenpanne
611eb25894 Converted FullCode to have its own list of known intrinsics.
Combined the various lists, the only slightly ugly thing is now the
distinction between intrinsics returning pairs and the rest, but
that's no big deal.

BUG=v8:3947
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27135}
2015-03-11 14:03:29 +00:00
loislo
df9e6fe329 CpuProfiler: simplify inlined function info magic.
I did some investigation and found that in the most cases
the old schema with the separate List for functions and inlines
gives us no memory benefits because more frequently we inlines
different functions into parent function. So the plain schema
wins a tens or even hundreds bytes a few thousand times.

The only drawback is that we will print the inlined body
the each time when we inline it. But is not a problem
because it happens only under FLAG_hydrogen_track_positions.

Also I added script_id to the structure, so it could be used later
by cpu-profiler.

BUG=chromium:452067
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27134}
2015-03-11 13:51:25 +00:00
balazs.kilvady
ee4f1bd81d MIPS: CpuProfiler: fix for CollectDeoptEvents test.
Port a925f3f478

Original commit message:
The same idea as in https://codereview.chromium.org/984893003/

BUG=chromium:452067
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27133}
2015-03-11 13:42:51 +00:00
mstarzinger
61e4b6028b Remove superfluous ThreadLocalTop::catcher field.
The external v8::TryCatch handler was computed eagerly and kept in
intact. This changes it to be computed lazily for simplicity and
readability of the code.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27132}
2015-03-11 13:36:15 +00:00
svenpanne
88a7f24f46 Bailout for %_FastOneByteArrayJoin again.
This recovers the performance loss for some ancient benchmarks.
Added some comments/UNIMPLEMENTED on the way.

BUG=v8:3947
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27131}
2015-03-11 13:28:46 +00:00
dcarney
b1a5812203 the IsPromise function should not execute js
BUG=v8:3929
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27130}
2015-03-11 12:14:18 +00:00
verwaest
e77d0abd4a [scanner] Extend fast-smi parsing to the entire range minus Smi::kMinValue
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27129}
2015-03-11 11:33:33 +00:00
hpayer
aab76eff43 Just visit young array buffers during scavenge. Additionally keep the views in new space in a separate global list and move them to the corresponding array buffers when they get promoted.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27128}
2015-03-11 10:58:03 +00:00
mstarzinger
f71e262683 Simplify pending message script handling.
This removes the separate tracking of the pending message script,
because that script is already stored in the message object and
duplicating it in the ThreadLocalTop makes it more brittle.

R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27127}
2015-03-11 10:02:48 +00:00
dcarney
5234d9977d convert most remaining api functions needing context to maybes
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27126}
2015-03-11 09:33:04 +00:00
michael_dawson
45e4a78911 Contribution of PowerPC port (continuation of 422063005) - uplevel
Contribution of PowerPC port (continuation of 422063005,
817143002,866843003, and 901083004). This patch updates
the ppc directories to make them current with changes in
common code as of today.

We had to exclude the test test-serialize/SerializeInternalReference
until we agree on the right way to add those changes for PPC as
outlined in the description in the google doc provided earlier.

We also had to exclude a couple of other tests due to new
failures seen since the last uplevel.  We excluded as opposed
to waiting until we could investigate to maximize the chance
of getting PPC compiling in the google repos before new
breaking changes are made.

I'll note that before applying any of our changes the
mozilla part of quickcheck was already broken when using
the lastest repo content so I had to run without that

	modified:   src/compiler/ppc/code-generator-ppc.cc
	modified:   src/compiler/ppc/instruction-codes-ppc.h
	modified:   src/compiler/ppc/instruction-selector-ppc.cc
	modified:   src/ic/ppc/handler-compiler-ppc.cc
	modified:   src/ic/ppc/ic-compiler-ppc.cc
	modified:   src/ppc/assembler-ppc-inl.h
	modified:   src/ppc/assembler-ppc.cc
	modified:   src/ppc/assembler-ppc.h
	modified:   src/ppc/builtins-ppc.cc
	modified:   src/ppc/code-stubs-ppc.cc
	modified:   src/ppc/codegen-ppc.cc
	modified:   src/ppc/full-codegen-ppc.cc
	modified:   src/ppc/lithium-codegen-ppc.cc
	modified:   src/ppc/macro-assembler-ppc.cc
	modified:   src/ppc/macro-assembler-ppc.h
	modified:   test/cctest/cctest.status

R=danno@chromium.org, svenpanne@chromium.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27125}
2015-03-11 08:49:33 +00:00
bashi
8bdac10631 Add Cast() to Boolean
We should be able to cast a Value to Boolean when IsBoolean() is true.

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

Cr-Commit-Position: refs/heads/master@{#27124}
2015-03-10 23:40:20 +00:00
paul.lind
0c12ff2db4 MIPS: Remove frame pointer from StackHandler.
Port 36e69a916f

Original commit message:
This reduces the size of the StackHandler by yet another word. We no
longer need to keep track of the frame pointer, as the stack walk will
be able to recalculate it.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27123}
2015-03-10 20:43:54 +00:00
caitpotter88
f950ddf581 [parser] parse arrow function only if no linefeed before =>
BUG=v8:3954
LOG=N
R=arv@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27122}
2015-03-10 19:25:03 +00:00
dcarney
040225a315 handle the special snowflakes that are Integer Indexed Exotic objects
the implementation doesn't yet throw on strict mode assignment

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27121}
2015-03-10 19:11:20 +00:00
balazs.kilvady
fd012f1080 MIPS: Remove code object from StackHandler.
Port e0aa8ebf93

Original commit message:
This reduces the size of the StackHandler by one word. We no longer
need to keep track of the code object, as the stack walk finds it.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27120}
2015-03-10 19:07:25 +00:00
balazs.kilvady
99e0f1a8db MIPS: [es6] Throw TypeError for computed static prototype property name
Port 8d946b9c3f

Original commit message:
The prototype of a class constructor function is read only. When we set
computed property names we were ignoring this and we were overriding the
property.

Since the prototype is the only possible own read only property on the
constructor function object we special case this so we do not have to
check this for every property in the class literal.

BUG=v8:3945
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27119}
2015-03-10 19:06:20 +00:00
marja
6ad87e4f86 [strong] More scoping related errors: object literal methods.
This CL adds errors for illegal references which occur inside object literal
methods inside computed properrty names.

BUG=v8:3948,v8:3956
LOG=N

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

Cr-Commit-Position: refs/heads/master@{#27118}
2015-03-10 16:48:07 +00:00
balazs.kilvady
9c8bead966 MIPS: [turbofan] Unify Math.floor / Math.ceil optimization.
Port 022ea7e057

Original commit message:
Provide an intrinsic %MathFloor / %_MathFloor that is used to optimize
both Math.ceil and Math.floor, and use the JS inlining mechanism to
inline Math.ceil into TurboFan code. Although we need to touch code
outside of TurboFan to make this work, this does not affect the way we
handle Math.ceil and/or Math.floor in CrankShaft, because for CrankShaft
the old-style builtin function id based inlining still kicks in first.

Once this solution is stabilized, we can use it for Math.floor as well.
And once that is settled, we can establish it as the unified way to
inline builtins, and get rid of the specialized builtin function id
based inlining at some point.

Note that "builtin" applies to basically every piece of internal
JavaScript/intrinsics based code, so this also applies to the yet to be
defined JavaScript based code stubs and handlers.

BUG=v8:3953
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27117}
2015-03-10 16:34:51 +00:00
loislo
84e90b2d0d CpuProfiler: enable tests except four failing tests.
Four tests are failing due to a problem with no frame ranges.

BUG=
LOG=n

Committed: https://crrev.com/2be160e726f2be6272b77e53fbd556aded6024f1
Cr-Commit-Position: refs/heads/master@{#27035}

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

Cr-Commit-Position: refs/heads/master@{#27116}
2015-03-10 16:18:36 +00:00
mstarzinger
36e69a916f Remove frame pointer from StackHandler.
This reduces the size of the StackHandler by yet another word. We no
longer need to keep track of the frame pointer, as the stack walk will
be able to recalculate it.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27115}
2015-03-10 15:56:27 +00:00
loislo
a925f3f478 CpuProfiler: fix for CollectDeoptEvents test on arm
The same idea as in https://codereview.chromium.org/984893003/

BUG=chromium:452067
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27114}
2015-03-10 15:15:24 +00:00
yurys
619d4535cc Remove uid and title from HeapSnapshot
None of these fields is used in Blink. Embedder always can implement them using existing API.

BUG=chromium:465651
LOG=Y

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

Cr-Commit-Position: refs/heads/master@{#27113}
2015-03-10 15:14:07 +00:00
loislo
0fcebccd7e CpuProfiler: slightly reduce the size of JumpTable code on arm64.
BUG=chromium:452067
LOG=n
R=svenpanne@chromium.org, jacob.bramley@arm.com, yurys@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27112}
2015-03-10 15:13:05 +00:00
Ben L. Titzer
c1d0f845a9 Refactor TypeFeedbackOracle to accept Handle<Name> instead of Handle<String>.
R=verwaest@chromium.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27111}
2015-03-10 15:06:24 +00:00
svenpanne
db2d31ab3b Removed bailout-only 'implementations' of intrinsics in Crankshaft.
Doing a runtime call should always be better than totally giving up
(unless we have fullcode-only intrinsics, which we'll probably never
have).

BUG=v8:3947
LOG=n

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

Cr-Commit-Position: refs/heads/master@{#27110}
2015-03-10 15:00:18 +00:00
mstarzinger
37729a52fd Simplify and correctify pending message location handling.
This makes sure that the pending message location is only tracked by
the message object, as only this is saved for finally-blocks. The
location information is duplicated and becomes stale.

R=titzer@chromium.org
TEST=maeh, not so much.

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

Cr-Commit-Position: refs/heads/master@{#27109}
2015-03-10 14:45:26 +00:00
jarin
a3e06f5489 [turbofan] Do not generate any framestates with --noturbo-deoptimization.
BUG=chromium:465701
LOG=n
R=bmeurer@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27108}
2015-03-10 14:40:21 +00:00
hpayer
d49657edd7 Remove unnecessary NoBarrier_load instructions in store buffer.
There are no stale store buffer pointers anymore. The sweeper thread can not be in conflict with store buffer processing.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27107}
2015-03-10 14:19:25 +00:00
arv
8d946b9c3f [es6] Throw TypeError for computed static prototype property name
The prototype of a class constructor function is read only. When we set
computed property names we were ignoring this and we were overriding the
property.

Since the prototype is the only possible own read only property on the
constructor function object we special case this so we do not have to
check this for every property in the class literal.

BUG=v8:3945
LOG=N
R=mstarzinger@chromium.org, dslomov@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27106}
2015-03-10 14:14:38 +00:00
hpayer
02ce445394 Remove lazy sweeping of new space and corresponding complicated pointer updating logic.
We can do that now since we have the invariant that the store buffer always has valid slots after marking.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#27105}
2015-03-10 13:42:21 +00:00
hpayer
0fd9bf8f14 Reland Fix old space check in IsSlotInBlackObject.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#27104}
2015-03-10 13:26:10 +00:00
mstarzinger
e0aa8ebf93 Remove code object from StackHandler.
This reduces the size of the StackHandler by one word. We no longer
need to keep track of the code object, as the stack walk finds it.

R=yangguo@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#27103}
2015-03-10 13:20:23 +00:00