ishell [Mon, 16 Mar 2015 13:46:10 +0000 (06:46 -0700)]
Bugfix in hydrogen GVN.
BUG=chromium:467481
LOG=Y
Review URL: https://codereview.chromium.org/
1009933002
Cr-Commit-Position: refs/heads/master@{#27223}
jarin [Mon, 16 Mar 2015 13:43:02 +0000 (06:43 -0700)]
[turbofan] Cache for reusing parts of value vector nodes in frame states.
Instead of the current approach of storing flat vectors in frame states (and possibly reusing the last vector in AST graph builder), this change list builds a tree for the values and tries to reuse the nodes for different frame states. At the moment, we only use this for the local variable part of frame state, but nothing prevents us from using this for all parts.
This change provides two new classes: one for creating the tree (StateValuesCache) and one for iterating the trees (StateValuesAccess).
BUG=
Review URL: https://codereview.chromium.org/
1008213002
Cr-Commit-Position: refs/heads/master@{#27222}
loislo [Mon, 16 Mar 2015 13:41:50 +0000 (06:41 -0700)]
CpuProfiler: convert List<InlinedFunctionInfo> into std::vector<InlinedFunctionInfo>
this is the first part of https://codereview.chromium.org/
1012633002.
mechanical change.
The motivation: the original patch needs to use List of List but list is not copiable.
BUG=chromium:452067
LOG=n
Review URL: https://codereview.chromium.org/
1011733002
Cr-Commit-Position: refs/heads/master@{#27221}
yangguo [Mon, 16 Mar 2015 13:19:10 +0000 (06:19 -0700)]
Promote code from code cache to compilation cache.
The per-isolate compilation cache is a lot faster still than
the serialized code cache. Promote code to compilation cache
after deserialization.
R=vogelheim@chromium.org
BUG=chromium:399580
LOG=N
Review URL: https://codereview.chromium.org/
1008363002
Cr-Commit-Position: refs/heads/master@{#27220}
svenpanne [Mon, 16 Mar 2015 13:08:42 +0000 (06:08 -0700)]
Remove BLACKLIST from check-name-clashes.py, it's wrong nowadays.
Fix the resulting warnings by renaming things apart.
BUG=v8:3947
LOG=n
Review URL: https://codereview.chromium.org/
1009373002
Cr-Commit-Position: refs/heads/master@{#27219}
jochen [Mon, 16 Mar 2015 12:51:47 +0000 (05:51 -0700)]
Repeatedly overapproximate the weak closure as long as we make progress
Also, include the time for building object groups in the tracing scope
for the overapproximation.
BUG=v8:3862
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1012593004
Cr-Commit-Position: refs/heads/master@{#27218}
hpayer [Mon, 16 Mar 2015 12:22:10 +0000 (05:22 -0700)]
Remove all atomic access from store buffer.
Store buffer does not contain stale pointers anymore. Hence, sweeper threads and store buffer processing does not collide.
BUG=
Review URL: https://codereview.chromium.org/
1007273002
Cr-Commit-Position: refs/heads/master@{#27217}
yangguo [Mon, 16 Mar 2015 11:43:28 +0000 (04:43 -0700)]
Fix RelocInfo::Mode enum wrt LAST_STANDARD_NONCOMPACT_ENUM.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1011613003
Cr-Commit-Position: refs/heads/master@{#27216}
mstarzinger [Mon, 16 Mar 2015 11:41:27 +0000 (04:41 -0700)]
Revert of Remove kind field from StackHandler. (patchset #4 id:60001 of https://codereview.chromium.org/
1002203002/)
Reason for revert:
Layout test failure in inspector/sources/debugger/debugger-pause-on-promise-rejection.html
Original issue's description:
> Remove kind field from StackHandler.
>
> This makes the Isolate::Throw logic not depend on a prediction of
> whether an exception is caught or uncaught. Such a prediction is
> inherently undecidable because a finally block can decide between
> consuming or re-throwing an exception depending on arbitray control
> flow.
>
> There still is a conservative prediction mechanism in place that
> components like the debugger or tracing can use for reporting.
>
> With this change we can get rid of the StackHandler::kind field, a
> pre-requisite to do table-based lookups of exception handlers.
>
> R=yangguo@chromium.org
>
> Committed: https://crrev.com/
96f79568a926966ebcf0685bf9adc947f4e1fbff
> Cr-Commit-Position: refs/heads/master@{#27210}
TBR=yangguo@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
1009903002
Cr-Commit-Position: refs/heads/master@{#27215}
hpayer [Mon, 16 Mar 2015 11:40:12 +0000 (04:40 -0700)]
Delete dead store buffer verification code and code that changes the store buffer in debug mode.
BUG=
Review URL: https://codereview.chromium.org/
1009323002
Cr-Commit-Position: refs/heads/master@{#27214}
jacob.bramley [Mon, 16 Mar 2015 11:34:45 +0000 (04:34 -0700)]
Fix ll_prof.py for static binaries.
BUG=
Review URL: https://codereview.chromium.org/
1007613005
Cr-Commit-Position: refs/heads/master@{#27213}
dusan.milosavljevic [Mon, 16 Mar 2015 11:00:00 +0000 (04:00 -0700)]
MIPS64: Unify and improve Word32 compares to use same instructions as Word64 compares.
The CL enables the same instructions are selected for Word32 and Word64 compare
operations which is possible due to a fact 32-bit inputs and produced values
are always sign-extended.
TEST=
BUG=
Review URL: https://codereview.chromium.org/
1005123002
Cr-Commit-Position: refs/heads/master@{#27212}
ulan [Mon, 16 Mar 2015 10:16:59 +0000 (03:16 -0700)]
Fix data race in Isolate::CheckDetachedContextsAfterGC
BUG=chromium:462908
LOG=NO
Review URL: https://codereview.chromium.org/
1010713002
Cr-Commit-Position: refs/heads/master@{#27211}
mstarzinger [Mon, 16 Mar 2015 10:06:11 +0000 (03:06 -0700)]
Remove kind field from StackHandler.
This makes the Isolate::Throw logic not depend on a prediction of
whether an exception is caught or uncaught. Such a prediction is
inherently undecidable because a finally block can decide between
consuming or re-throwing an exception depending on arbitray control
flow.
There still is a conservative prediction mechanism in place that
components like the debugger or tracing can use for reporting.
With this change we can get rid of the StackHandler::kind field, a
pre-requisite to do table-based lookups of exception handlers.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1002203002
Cr-Commit-Position: refs/heads/master@{#27210}
jochen [Mon, 16 Mar 2015 09:54:46 +0000 (02:54 -0700)]
Clarify arm gn configuration
R=dpranke@chromium.org
TBR=machenbach@chromium.org
BUG=
LOG=n
Review URL: https://codereview.chromium.org/
1004113003
Cr-Commit-Position: refs/heads/master@{#27209}
yurys [Mon, 16 Mar 2015 09:49:18 +0000 (02:49 -0700)]
Remove obsolete TakeHeapSnapshot method from API
BUG=chromium:465651
LOG=Y
Review URL: https://codereview.chromium.org/
997583004
Cr-Commit-Position: refs/heads/master@{#27208}
ishell [Mon, 16 Mar 2015 09:40:34 +0000 (02:40 -0700)]
Revert of Reland of Remove slots that point to unboxed doubles from the StoreBuffer/SlotsBuffer. (patchset #3 id:40001 of https://codereview.chromium.org/
988363002/)
Reason for revert:
Increased rate of Chrome crashes. Requires further investigation.
Original issue's description:
> 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
>
> Committed: https://crrev.com/
6d0677d845c47ab9fa297de61d0e3d8e5480a02a
> Cr-Commit-Position: refs/heads/master@{#27141}
TBR=hpayer@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:454297, chromium:465273
Review URL: https://codereview.chromium.org/
1004623003
Cr-Commit-Position: refs/heads/master@{#27207}
michael_dawson [Mon, 16 Mar 2015 09:26:31 +0000 (02:26 -0700)]
PPC: Exclude mirror-object test until issue is resolved
modified: test/mjsunit/mjsunit.status
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
997773003
Cr-Commit-Position: refs/heads/master@{#27206}
yurys [Mon, 16 Mar 2015 09:16:12 +0000 (02:16 -0700)]
Beautify syntax error for unterminated argument list
BUG=chromium:339474
LOG=Y
Review URL: https://codereview.chromium.org/
1002263004
Cr-Commit-Position: refs/heads/master@{#27205}
michael_dawson [Mon, 16 Mar 2015 08:40:14 +0000 (01:40 -0700)]
PPC: Further leverage internal references.
Enable code dependent on the newly provided common code support for
encoded internal references.
modified: src/ppc/code-stubs-ppc.cc
modified: test/cctest/cctest.status
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1008963002
Cr-Commit-Position: refs/heads/master@{#27204}
yangguo [Mon, 16 Mar 2015 08:14:32 +0000 (01:14 -0700)]
Add more debug output for flaky debug-references test.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
1013603002
Cr-Commit-Position: refs/heads/master@{#27203}
michael_dawson [Mon, 16 Mar 2015 08:01:51 +0000 (01:01 -0700)]
PPC: Implement turbofan Float64Min and Float64Max machine operators.
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1006913002
Cr-Commit-Position: refs/heads/master@{#27202}
bmeurer [Mon, 16 Mar 2015 07:27:52 +0000 (00:27 -0700)]
[turbofan] Fix typo in ControlReducer.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1001063003
Cr-Commit-Position: refs/heads/master@{#27201}
machenbach [Sat, 14 Mar 2015 18:41:28 +0000 (11:41 -0700)]
Update V8 DEPS.
Rolling v8/tools/clang to
37246cb63b9720d6fe74b473210291007e49297b
TBR=jochen@chromium.org
BUG=chromium:466099
LOG=n
Review URL: https://codereview.chromium.org/
1005333002
Cr-Commit-Position: refs/heads/master@{#27200}
Michael Achenbach [Sat, 14 Mar 2015 17:12:49 +0000 (10:12 -0700)]
Whitespace change for updating perf shards (2)
Cr-Commit-Position: refs/heads/master@{#27199}
Michael Achenbach [Sat, 14 Mar 2015 16:49:22 +0000 (09:49 -0700)]
Whitespace change for updating perf shards (1)
Cr-Commit-Position: refs/heads/master@{#27198}
machenbach [Sat, 14 Mar 2015 02:04:33 +0000 (19:04 -0700)]
Make release scripts even more robust.
Also clean up left alone release branch in the chromium
checkout of the v8rel script.
TBR=tandrii@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1003383003
Cr-Commit-Position: refs/heads/master@{#27197}
machenbach [Sat, 14 Mar 2015 01:20:45 +0000 (18:20 -0700)]
Make release scripts more robust.
Remembering the current branch is a relic from the past
where no work-dir checkout was used. Now this doesn't give
much benefit and screws up the script if it was left in
a bad state (e.g. after a master restart).
TBR=tandrii@chromium.org
NOTRY=true
Review URL: https://codereview.chromium.org/
1002383002
Cr-Commit-Position: refs/heads/master@{#27196}
Michael Achenbach [Sat, 14 Mar 2015 00:33:24 +0000 (17:33 -0700)]
Whitespace change to test slave-side triggers.
Cr-Commit-Position: refs/heads/master@{#27195}
Michael Achenbach [Fri, 13 Mar 2015 21:51:42 +0000 (14:51 -0700)]
Whitespace change to test slave-side triggers.
Cr-Commit-Position: refs/heads/master@{#27194}
Michael Achenbach [Fri, 13 Mar 2015 21:50:40 +0000 (14:50 -0700)]
Whitespace change to test slave-side triggers.
Cr-Commit-Position: refs/heads/master@{#27193}
jochen [Fri, 13 Mar 2015 20:49:43 +0000 (13:49 -0700)]
Don't assert that we only cross compile on linux
We also cross compile on Windows for example. Since we can't switch the
toolchain there, we'll just use the 64bit toolchain and produce an
invalid snapshot :-/
BUG=none
R=dpranke@chromium.org
LOG=n
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1008933002
Cr-Commit-Position: refs/heads/master@{#27192}
mstarzinger [Fri, 13 Mar 2015 17:58:04 +0000 (10:58 -0700)]
Remove some dead code from the Isolate.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1009453004
Cr-Commit-Position: refs/heads/master@{#27191}
arv [Fri, 13 Mar 2015 17:19:40 +0000 (10:19 -0700)]
[es6] Function length property should be configurable
ES6 specs the function length property (it was not part of ES5) and
it makes it configurable.
BUG=v8:3045
LOG=N
R=mstarzinger@chromium.org, adamk@chromium.org
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
Review URL: https://codereview.chromium.org/
993073002
Cr-Commit-Position: refs/heads/master@{#27190}
dslomov [Fri, 13 Mar 2015 16:57:25 +0000 (09:57 -0700)]
Fix test for function declarations syntax error.
Also fix parsing of declarations after case labels.
R=waldron.rick@gmail.com,rossberg@chromium.org
BUG=v8:3939
LOG=N
Review URL: https://codereview.chromium.org/
964063003
Cr-Commit-Position: refs/heads/master@{#27189}
rossberg [Fri, 13 Mar 2015 16:26:38 +0000 (09:26 -0700)]
[strong] Check super constructor calls
R=marja@chromium.org
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
1002253002
Cr-Commit-Position: refs/heads/master@{#27188}
dslomov [Fri, 13 Mar 2015 15:15:42 +0000 (08:15 -0700)]
Remove --harmony-scoping flag.
We have been shipping harmony scoping for 2 Chrome releases now (M41
and M42). Time to remove the flag.
R=rossberg@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/
1007783002
Cr-Commit-Position: refs/heads/master@{#27187}
kozyatinskiy [Fri, 13 Mar 2015 15:11:47 +0000 (08:11 -0700)]
[V8] Use Function.name in Error.stack
Error.stack contains function.name if its type is string.
Otherwise if function have inferred name then .stack contains it.
For functions from eval .stack property contains "eval".
LOG=N
BUG=chromium:17356
R=yurys@chromium.org
Review URL: https://codereview.chromium.org/
919653002
Cr-Commit-Position: refs/heads/master@{#27186}
yangguo [Fri, 13 Mar 2015 15:08:12 +0000 (08:08 -0700)]
Hide Symbol implementation in a closure.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1009443002
Cr-Commit-Position: refs/heads/master@{#27185}
jochen [Fri, 13 Mar 2015 14:51:22 +0000 (07:51 -0700)]
Use the incremental root marking visitor for overapproximating the weak closure
Since incremental marking hasn't completed yet at this point, we can't
use the MC's root visitor.
Also, we shouldn't hurry with incremental marking while
overapproximating
BUG=v8:3862
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
997423002
Cr-Commit-Position: refs/heads/master@{#27184}
yangguo [Fri, 13 Mar 2015 13:39:18 +0000 (06:39 -0700)]
Encode RelocInfo extra tag to fit changed RelocInfo kind enum.
This fixes some failures on MIPS. Though not all of them, since
MIPS does not correctly implement set_target_internal_reference.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1008823002
Cr-Commit-Position: refs/heads/master@{#27183}
dslomov [Fri, 13 Mar 2015 13:28:05 +0000 (06:28 -0700)]
Implement TDZ in StoreIC for top-level lexicals.
StoreIC::Store was missing a check present in LoadIC::Load.
R=rossberg@chromium.org
BUG=v8:3941
LOG=Y
Review URL: https://codereview.chromium.org/
1001323002
Cr-Commit-Position: refs/heads/master@{#27182}
yangguo [Fri, 13 Mar 2015 12:27:33 +0000 (05:27 -0700)]
Add more output to flaky debug-references test.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
1006873002
Cr-Commit-Position: refs/heads/master@{#27181}
jochen [Fri, 13 Mar 2015 12:14:01 +0000 (05:14 -0700)]
Extract code to mark an object during incremental marking
Not only does this remove code duplication, I also plan to use this for
unifying reference group marking later
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
1007793002
Cr-Commit-Position: refs/heads/master@{#27180}
yangguo [Fri, 13 Mar 2015 11:18:25 +0000 (04:18 -0700)]
PPC: fix allocation issues for PPC64.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
1009433002
Cr-Commit-Position: refs/heads/master@{#27179}
titzer [Fri, 13 Mar 2015 10:47:31 +0000 (03:47 -0700)]
Speed up FastElementsAccessor::ValidContents by removing redundant handle scope.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1002203003
Cr-Commit-Position: refs/heads/master@{#27178}
yangguo [Fri, 13 Mar 2015 10:07:54 +0000 (03:07 -0700)]
Serializer: prepare support for INTERNAL_REFERENCE_ENCODED.
Platform ports that use this RelocInfo kind need to implement
set_target_internal_reference accordingly to distinguish between
INTERNAL_REFERENCE and INTERNAL_REFERENCE_ENCODED.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
1000373003
Cr-Commit-Position: refs/heads/master@{#27177}
marja [Fri, 13 Mar 2015 09:46:05 +0000 (02:46 -0700)]
Remove duplicate script scope.
We previously had two nested SCRIPT_SCOPEs (used to be GLOBAL_SCOPES), but as
the lexical variable implementation changed, the inner one is no longer needed.
BUG=
Review URL: https://codereview.chromium.org/
1002193002
Cr-Commit-Position: refs/heads/master@{#27176}
jochen [Fri, 13 Mar 2015 09:13:50 +0000 (02:13 -0700)]
Turn on job-based optimizing compiler
BUG=v8:3608
R=yangguo@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
1001313002
Cr-Commit-Position: refs/heads/master@{#27175}
michael_dawson [Fri, 13 Mar 2015 07:39:53 +0000 (00:39 -0700)]
PPC: [turbofan] Introduce optional Float64Min and Float64Max machine operators.
Port
99f8d57f3c5d967bc3b10356b22d7ec7be55e89f
Original commit message:
Basically recognize certain x < y ? x : y constructs and turn that into
Float64Min/Float64Max operations, if the target machine supports that.
On x86 we lower to (v)minsd/(v)maxsd.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
998283002
Cr-Commit-Position: refs/heads/master@{#27160}
R=danno@chromium.org, svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1005693002
Cr-Commit-Position: refs/heads/master@{#27174}
michael_dawson [Fri, 13 Mar 2015 07:34:47 +0000 (00:34 -0700)]
PPC: Simplify pending message object handling.
Port
d4696c484142c601cbd691ae80164043785a3af7
Original commit message:
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}
R=danno@chromium.org, svenpanne@chromium.org, titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1000963002
Cr-Commit-Position: refs/heads/master@{#27173}
bmeurer [Fri, 13 Mar 2015 07:06:02 +0000 (00:06 -0700)]
[turbofan] Use builtin inlining mechanism for Math.abs and Math.sqrt.
Reduces the amount of custom support code for Math functions in TurboFan
and allows for more general inlining (i.e. independent of parameter
types).
BUG=v8:3952
LOG=n
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1004083002
Cr-Commit-Position: refs/heads/master@{#27172}
adamk [Thu, 12 Mar 2015 19:04:29 +0000 (12:04 -0700)]
Fix error message for Object.observe accept argument
BUG=chromium:464695
LOG=n
Review URL: https://codereview.chromium.org/
1005553003
Cr-Commit-Position: refs/heads/master@{#27171}
Hannes Payer [Thu, 12 Mar 2015 18:01:47 +0000 (19:01 +0100)]
Reactivate all the cores in cpu.sh.
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1004763002
Cr-Commit-Position: refs/heads/master@{#27170}
balazs.kilvady [Thu, 12 Mar 2015 17:29:00 +0000 (10:29 -0700)]
MIPS: Improve naming of turbofan ops for %_DoubleHi, %_DoubleLo and %_ConstructDouble.
BUG=
Review URL: https://codereview.chromium.org/
1006523002
Cr-Commit-Position: refs/heads/master@{#27169}
balazs.kilvady [Thu, 12 Mar 2015 16:43:39 +0000 (09:43 -0700)]
MIPS: [turbofan] Introduce optional Float64Min and Float64Max machine operators.
Port
99f8d57f3c5d967bc3b10356b22d7ec7be55e89f
Original commit message:
Basically recognize certain x < y ? x : y constructs and turn that into
Float64Min/Float64Max operations, if the target machine supports that.
On x86 we lower to (v)minsd/(v)maxsd.
BUG=
Review URL: https://codereview.chromium.org/
1006513002
Cr-Commit-Position: refs/heads/master@{#27168}
arv [Thu, 12 Mar 2015 16:36:16 +0000 (09:36 -0700)]
Use path in name for test262-es6
For ES5 the file names always included the whole path, like this:
ch15/15.2/15.2.3/15.2.3.14/15.2.3.14-1-3.js
For ES6 this is no longer true:
language/computed-property-names/basics/symbol.js
language/computed-property-names/class/method/symbol.js
To allow the status file to correctly identify the right test we need
to change the reported test name to include the whole path.
BUG=None
LOG=N
R=rossberg@chromium.org, machenbach@chromium.org
Review URL: https://codereview.chromium.org/
1001613002
Cr-Commit-Position: refs/heads/master@{#27167}
dcarney [Thu, 12 Mar 2015 16:03:19 +0000 (09:03 -0700)]
remove DeletedField from PropertyDetails
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
1002703002
Cr-Commit-Position: refs/heads/master@{#27166}
dslomov [Thu, 12 Mar 2015 15:44:32 +0000 (08:44 -0700)]
Switch the order of experimental global initialization and running natives.
The order should match the one for normal natives.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
988513003
Cr-Commit-Position: refs/heads/master@{#27165}
jochen [Thu, 12 Mar 2015 15:39:41 +0000 (08:39 -0700)]
Use target_cpu instead of cpu_arch in BUILD.gn
Also add missing defines for arm simulator build
BUG=v8:3841
R=machenbach@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
874393007
Cr-Commit-Position: refs/heads/master@{#27164}
johan [Thu, 12 Mar 2015 15:12:37 +0000 (08:12 -0700)]
Fix build on solaris platforms
e8b9f2d7 introduced a different cast which broke building on Illumos.
Revert to previous behavior for V8_OS_SOLARIS only.
Found on SmartOS while building with gcc 4.9.0.
edit1: adding jochen to reviewers since he was assigned through the issue tracker and danno since he seems to do a fair amount of cross-platform work
edit2: removing BUG reference because I don't understand what LOG needs to contain (and it seems to link to chromium and not the v8 repo). Please edit commit message as appropriate.
BUG=3935
LOG=n
Review URL: https://codereview.chromium.org/
990063002
Cr-Commit-Position: refs/heads/master@{#27163}
mstarzinger [Thu, 12 Mar 2015 15:04:30 +0000 (08:04 -0700)]
[turbofan] Bring back long lost comment to AstGraphBuilder.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1004673002
Cr-Commit-Position: refs/heads/master@{#27162}
yangguo [Thu, 12 Mar 2015 14:47:35 +0000 (07:47 -0700)]
Hide RegExp and String initialization in a closure.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
1000063002
Cr-Commit-Position: refs/heads/master@{#27161}
bmeurer [Thu, 12 Mar 2015 14:07:28 +0000 (07:07 -0700)]
[turbofan] Introduce optional Float64Min and Float64Max machine operators.
Basically recognize certain x < y ? x : y constructs and turn that into
Float64Min/Float64Max operations, if the target machine supports that.
On x86 we lower to (v)minsd/(v)maxsd.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
998283002
Cr-Commit-Position: refs/heads/master@{#27160}
caitpotter88 [Thu, 12 Mar 2015 14:01:56 +0000 (07:01 -0700)]
[es6] support template literals after MemberExpression
BUG=v8:3958, 450942
LOG=N
R=arv@chromium.org
Review URL: https://codereview.chromium.org/
996223003
Cr-Commit-Position: refs/heads/master@{#27159}
balazs.kilvady [Thu, 12 Mar 2015 13:54:31 +0000 (06:54 -0700)]
MIPS: Simplify pending message object handling.
Port
d4696c484142c601cbd691ae80164043785a3af7
Original commit message:
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.
BUG=
Review URL: https://codereview.chromium.org/
1004623002
Cr-Commit-Position: refs/heads/master@{#27158}
mstarzinger [Thu, 12 Mar 2015 13:49:55 +0000 (06:49 -0700)]
[turbofan] Introduce builders for property access.
This introduces a choke point in the AstGraphBuilder for property
access creation. This makes it easier to enrich all such nodes with
additional side-table or debugging information.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1002713002
Cr-Commit-Position: refs/heads/master@{#27157}
bashi [Thu, 12 Mar 2015 12:27:41 +0000 (05:27 -0700)]
Add Cast() for Int32 and Uint32
It should be possible to cast a Value to Int32 without throwing an exception
when IsInt32() is true. Same for Uint32.
BUG=chromium:462402
LOG=Y
Review URL: https://codereview.chromium.org/
1003663002
Cr-Commit-Position: refs/heads/master@{#27156}
Sven Panne [Thu, 12 Mar 2015 11:46:12 +0000 (12:46 +0100)]
Remove funky 2-stage initialization of ParserInfo and an adventurous memset.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/
1002673002
Cr-Commit-Position: refs/heads/master@{#27155}
ishell [Thu, 12 Mar 2015 11:44:23 +0000 (04:44 -0700)]
Incorrect handling of HTransitionElementsKind in hydrogen check elimination phase fixed.
BUG=chromium:460917
LOG=Y
Review URL: https://codereview.chromium.org/
1000893003
Cr-Commit-Position: refs/heads/master@{#27154}
marja [Thu, 12 Mar 2015 10:52:04 +0000 (03:52 -0700)]
[strong] Cleanup and fix test (declaration-after-use.js).
Cleanup: Better helpers, unified line splitting. Also asserting that without
strong mode, the snippets don't produce errors.
Fix: The eval related tests were wrong (we didn't make sure that the error
thrown comes from strong scoping and is not a normal runtime error).
BUG=v8:3956
LOG=N
Review URL: https://codereview.chromium.org/
993393002
Cr-Commit-Position: refs/heads/master@{#27153}
balazs.kilvady [Thu, 12 Mar 2015 10:46:22 +0000 (03:46 -0700)]
MIPS: CpuProfiler: enable tests except four failing tests.
Port
84e90b2d0d28229b4107ff350620fc40935c5770
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}
dcarney [Thu, 12 Mar 2015 10:44:31 +0000 (03:44 -0700)]
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}
mstarzinger [Thu, 12 Mar 2015 09:50:30 +0000 (02:50 -0700)]
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}
mvstanton [Thu, 12 Mar 2015 09:22:47 +0000 (02:22 -0700)]
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}
bmeurer [Thu, 12 Mar 2015 09:02:07 +0000 (02:02 -0700)]
[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}
machenbach [Thu, 12 Mar 2015 08:15:48 +0000 (01:15 -0700)]
Mark ProcessDebugMessagesThreaded as flaky.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
1004583002
Cr-Commit-Position: refs/heads/master@{#27147}
michael_dawson [Thu, 12 Mar 2015 08:14:38 +0000 (01:14 -0700)]
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}
michael_dawson [Thu, 12 Mar 2015 07:54:30 +0000 (00:54 -0700)]
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}
michael_dawson [Thu, 12 Mar 2015 04:27:11 +0000 (21:27 -0700)]
PPC: Simplify pending message script handling.
Port
f71e26268338d2840133264329bf35a63011bb5a
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}
adamk [Wed, 11 Mar 2015 23:19:44 +0000 (16:19 -0700)]
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}
dpranke [Wed, 11 Mar 2015 21:55:41 +0000 (14:55 -0700)]
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}
ishell [Wed, 11 Mar 2015 19:29:51 +0000 (12:29 -0700)]
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}
balazs.kilvady [Wed, 11 Mar 2015 17:24:59 +0000 (10:24 -0700)]
MIPS: Simplify pending message script handling.
Port
f71e26268338d2840133264329bf35a63011bb5a
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}
balazs.kilvady [Wed, 11 Mar 2015 16:52:15 +0000 (09:52 -0700)]
MIPS64: CpuProfiler: fix for CollectDeoptEvents test.
Port
a925f3f4784f8318f69a201a6b44aa94f97e4ba3
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}
yangguo [Wed, 11 Mar 2015 15:53:24 +0000 (08:53 -0700)]
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}
svenpanne [Wed, 11 Mar 2015 15:18:44 +0000 (08:18 -0700)]
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}
michael_dawson [Wed, 11 Mar 2015 14:57:57 +0000 (07:57 -0700)]
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}
svenpanne [Wed, 11 Mar 2015 14:03:21 +0000 (07:03 -0700)]
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}
loislo [Wed, 11 Mar 2015 13:51:18 +0000 (06:51 -0700)]
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}
balazs.kilvady [Wed, 11 Mar 2015 13:42:39 +0000 (06:42 -0700)]
MIPS: CpuProfiler: fix for CollectDeoptEvents test.
Port
a925f3f4784f8318f69a201a6b44aa94f97e4ba3
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}
mstarzinger [Wed, 11 Mar 2015 13:36:08 +0000 (06:36 -0700)]
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}
svenpanne [Wed, 11 Mar 2015 13:28:29 +0000 (06:28 -0700)]
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}
dcarney [Wed, 11 Mar 2015 12:14:08 +0000 (05:14 -0700)]
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}
verwaest [Wed, 11 Mar 2015 11:33:18 +0000 (04:33 -0700)]
[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}
hpayer [Wed, 11 Mar 2015 10:57:53 +0000 (03:57 -0700)]
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}
mstarzinger [Wed, 11 Mar 2015 10:02:39 +0000 (03:02 -0700)]
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}
dcarney [Wed, 11 Mar 2015 09:32:57 +0000 (02:32 -0700)]
convert most remaining api functions needing context to maybes
BUG=
Review URL: https://codereview.chromium.org/
993223003
Cr-Commit-Position: refs/heads/master@{#27126}
michael_dawson [Wed, 11 Mar 2015 08:49:27 +0000 (01:49 -0700)]
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}
bashi [Tue, 10 Mar 2015 23:40:11 +0000 (16:40 -0700)]
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}