dcarney [Wed, 11 Feb 2015 14:35:52 +0000 (06:35 -0800)]
skip failing test on arm64
LOG=N
BUG=v8:3884
Review URL: https://codereview.chromium.org/
916803002
Cr-Commit-Position: refs/heads/master@{#26582}
Yang Guo [Wed, 11 Feb 2015 14:32:15 +0000 (15:32 +0100)]
Fix shared library build.
TBR=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
913173002
Cr-Commit-Position: refs/heads/master@{#26581}
svenpanne [Wed, 11 Feb 2015 14:12:03 +0000 (06:12 -0800)]
Removed most of the bogus CompilationInfo constructor calls.
A CompilationInfo constructed from just an Isolate* and a Zone* is in
weird an inconsistent state (calling e.g. flags() on it will crash),
so we need to avoid them. This CL removes almost all of them, the
remaining 2 call sites in (for testing only) will be handled in a
separate CL. Things which have been changed:
* Linkage is basically a decorator for CallDescriptor now.
* ChangeLowering doesn't need Linkage at all.
* JSGenericLowering doesn't need a full CompilationInfo*, just a
single flag.
* JSContextSpecializer doesn't need the full CompilationInfo, just a
Context.
* Removed unused CompilationInfo from SimplifiedLoweringTester.
This nicely decouples things already a bit more, but there's still
work to do...
Review URL: https://codereview.chromium.org/
899803003
Cr-Commit-Position: refs/heads/master@{#26580}
yangguo [Wed, 11 Feb 2015 14:10:02 +0000 (06:10 -0800)]
Catch graceful failures when deserializing in d8.
R=vogelheim@chromium.org
Review URL: https://codereview.chromium.org/
917653002
Cr-Commit-Position: refs/heads/master@{#26579}
yangguo [Wed, 11 Feb 2015 14:03:10 +0000 (06:03 -0800)]
Whitelist serialized objects wrt MSAN.
R=jochen@chromium.org
BUG=chromium:457459
LOG=N
Review URL: https://codereview.chromium.org/
919613002
Cr-Commit-Position: refs/heads/master@{#26578}
hpayer [Wed, 11 Feb 2015 13:39:29 +0000 (05:39 -0800)]
Use just one to-space page for the promotion queue.
BUG=454725
LOG=n
Review URL: https://codereview.chromium.org/
919473008
Cr-Commit-Position: refs/heads/master@{#26577}
titzer [Wed, 11 Feb 2015 13:26:35 +0000 (05:26 -0800)]
[turbofan] Use heavy-handed graph duplication to do loop peeling for OSR.
BUG=
Review URL: https://codereview.chromium.org/
898353002
Cr-Commit-Position: refs/heads/master@{#26576}
yangguo [Wed, 11 Feb 2015 12:06:11 +0000 (04:06 -0800)]
Fix NewStringRangeError failure due to failing malloc.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
912333002
Cr-Commit-Position: refs/heads/master@{#26575}
yangguo [Wed, 11 Feb 2015 10:21:18 +0000 (02:21 -0800)]
Throw on range error when creating a string via API.
R=jkummerow@chromium.org
BUG=v8:3853
LOG=Y
Review URL: https://codereview.chromium.org/
867373003
Cr-Commit-Position: refs/heads/master@{#26574}
ulan [Wed, 11 Feb 2015 09:59:41 +0000 (01:59 -0800)]
Reland r26549 "Fix IsWeakObjectInOptimizedCode predicate to also include property cells."
BUG=v8:3882
LOG=NO
Review URL: https://codereview.chromium.org/
913093002
Cr-Commit-Position: refs/heads/master@{#26573}
dslomov [Wed, 11 Feb 2015 09:47:32 +0000 (01:47 -0800)]
new classes: implement new.target passing to superclass constructor.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:3834
LOG=N
Committed: https://crrev.com/
8aed43e82c6d2742fe5988603cb8841324cc942b
Cr-Commit-Position: refs/heads/master@{#26560}
Review URL: https://codereview.chromium.org/
908883002
Cr-Commit-Position: refs/heads/master@{#26572}
dcarney [Wed, 11 Feb 2015 09:28:06 +0000 (01:28 -0800)]
remove undetectable strings
BUG=
Review URL: https://codereview.chromium.org/
916753002
Cr-Commit-Position: refs/heads/master@{#26571}
mstarzinger [Wed, 11 Feb 2015 09:25:37 +0000 (01:25 -0800)]
Remove obsolete Malloced::FatalProcessOutOfMemory.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
897213003
Cr-Commit-Position: refs/heads/master@{#26570}
dcarney [Wed, 11 Feb 2015 09:15:19 +0000 (01:15 -0800)]
add transitions for global properties in ics
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
911713003
Cr-Commit-Position: refs/heads/master@{#26569}
dusan.milosavljevic [Wed, 11 Feb 2015 09:05:16 +0000 (01:05 -0800)]
Make SNaN verification universal for all arches.
The mips HW prior to revision 5 has opposite encoding for NaNs.
TEST=mjsunit/regress/*, regress-1167, regress-undefined-nan2
BUG=
Review URL: https://codereview.chromium.org/
912833003
Cr-Commit-Position: refs/heads/master@{#26568}
svenpanne [Wed, 11 Feb 2015 08:52:32 +0000 (00:52 -0800)]
Relaxed parameter types a bit.
Somehow these changes didn't make it into https://codereview.chromium.org/
915583002 ... :-/
Review URL: https://codereview.chromium.org/
919473005
Cr-Commit-Position: refs/heads/master@{#26567}
Benedikt Meurer [Wed, 11 Feb 2015 07:42:53 +0000 (08:42 +0100)]
[vim] Pass correct -std flags to YCM libclang.
TBR=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
915933003
Cr-Commit-Position: refs/heads/master@{#26566}
loislo [Wed, 11 Feb 2015 07:26:59 +0000 (23:26 -0800)]
Remove obsolete method ProfileTree::AddPathFromStart and the corresponding test.
BUG=
LOG=n
Review URL: https://codereview.chromium.org/
907353003
Cr-Commit-Position: refs/heads/master@{#26565}
bmeurer [Wed, 11 Feb 2015 07:11:56 +0000 (23:11 -0800)]
[vim] Add YouCompleteMe configuration.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
915983002
Cr-Commit-Position: refs/heads/master@{#26564}
bmeurer [Wed, 11 Feb 2015 06:59:00 +0000 (22:59 -0800)]
[vim] Add ninja-powered CrBuild/CrCompileFile functions.
These are based on the ninja-build.vim file found in Chromium, adapted
to V8, and enhanced with goma support (automatically increase job limit
for ninja if goma is detected).
Review URL: https://codereview.chromium.org/
915963002
Cr-Commit-Position: refs/heads/master@{#26563}
v8-autoroll [Wed, 11 Feb 2015 04:34:47 +0000 (20:34 -0800)]
Update V8 DEPS.
Rolling v8/tools/clang to
e64bdee4434b184d13a8f2cce79b65cd18e02ee2
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
919473003
Cr-Commit-Position: refs/heads/master@{#26562}
dslomov [Wed, 11 Feb 2015 01:36:17 +0000 (17:36 -0800)]
Revert of new classes: implement new.target passing to superclass constructor. (patchset #9 id:150001 of https://codereview.chromium.org/
908883002/)
Reason for revert:
Breaks Linux64 release
Original issue's description:
> new classes: implement new.target passing to superclass constructor.
>
> R=arv@chromium.org,rossberg@chromium.org
> BUG=v8:3834
> LOG=N
>
> Committed: https://crrev.com/
8aed43e82c6d2742fe5988603cb8841324cc942b
> Cr-Commit-Position: refs/heads/master@{#26560}
TBR=arv@chromium.org,rossberg@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3834
Review URL: https://codereview.chromium.org/
911363002
Cr-Commit-Position: refs/heads/master@{#26561}
dslomov [Wed, 11 Feb 2015 01:23:03 +0000 (17:23 -0800)]
new classes: implement new.target passing to superclass constructor.
R=arv@chromium.org,rossberg@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/
908883002
Cr-Commit-Position: refs/heads/master@{#26560}
arv [Tue, 10 Feb 2015 22:13:29 +0000 (14:13 -0800)]
Remove Function.prototype.toMethod
Function.prototype.toMethod was removed from ES6.
This removes the function and updates the tests to either
use %ToMethod or a dedicated syntax (using concise method
or a class).
BUG=v8:3330
LOG=N
R=dslomov@chromium.org, adamk
Review URL: https://codereview.chromium.org/
914713002
Cr-Commit-Position: refs/heads/master@{#26559}
Erik Arvidsson [Tue, 10 Feb 2015 21:15:42 +0000 (16:15 -0500)]
Fix usage of super in js perf test
BUG=none
LOG=N
R=adamk@chromium.org, adamk, dslomov@chromium.org
Review URL: https://codereview.chromium.org/
916573002
Cr-Commit-Position: refs/heads/master@{#26558}
arv [Tue, 10 Feb 2015 19:51:18 +0000 (11:51 -0800)]
super is only allowed in methods, accessors and constructor
super() is only allowed in a class constructor.
super.p is allowed in methods, accessors and constructors.
The parser now checks the FunctionState to see what kind of function
we are currently inside.
BUG=v8:3330
LOG=N
R=dslomov@chromium.org, marja@chromium.org
Review URL: https://codereview.chromium.org/
915563003
Cr-Commit-Position: refs/heads/master@{#26557}
rossberg [Tue, 10 Feb 2015 19:12:51 +0000 (11:12 -0800)]
[strong] Introduce --use-strong flag
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
907403002
Cr-Commit-Position: refs/heads/master@{#26556}
adamk [Tue, 10 Feb 2015 19:11:44 +0000 (11:11 -0800)]
Enable compiling mjsunit tests as ES6 modules
Adding the line "// MODULE" to an mjsunit file will now cause
run-tests.py to prefix the test case with "--module" in the
d8 commandline.
d8 has itself been updated to treat files preceded with "--module" as
modules (that is, it compiles them with ScriptCompiler::CompileModule,
and turns on --harmony-modules).
Review URL: https://codereview.chromium.org/
902263002
Cr-Commit-Position: refs/heads/master@{#26555}
balazs.kilvady [Tue, 10 Feb 2015 19:10:37 +0000 (11:10 -0800)]
MIPS64: Propagate DeoptInfo to cpu-profiler
Port
86cae1633caa31f2225b6932850fb13d3a21cf59
Original commit message:
1) Deoptimizer::Reason was replaced with Deoptimizer::DeoptInfo
because it also has raw position. Also the old name clashes with DeoptReason enum.
2) c_entry_fp assignment call was added to EntryGenerator::Generate
So we can calculate sp and have a chance to record the stack for the deopting function.
btw it makes the test stable.
3) new kind of CodeEvents was added to cpu-profiler
4) GetDeoptInfo method was extracted from PrintDeoptLocation.
So it could be reused in cpu profiler.
BUG=452067
LOG=n
Review URL: https://codereview.chromium.org/
907383003
Cr-Commit-Position: refs/heads/master@{#26554}
balazs.kilvady [Tue, 10 Feb 2015 19:09:25 +0000 (11:09 -0800)]
MIPS: Parsing: Make Scope not know about Isolate.
Port
5d68529be240a1fc9fcc67c8950ead4baf7604e4
Original commit message:
Scope, like Parser, must be able to operate independent of Isolate and the V8
heap (for background parsing). After the heap-independent phase, there is a heap
dependent phase, during which we do operations such as scope anaylysis.
This CL makes the phases explicit by not telling Scope about the Isolate too
early (during the heap-independent phase, Scope should know nothing about
Isolate). This decreases the probability of accidental code changes which would
add heap-dependent operations into the heap-independent phase.
BUG=
Review URL: https://codereview.chromium.org/
911073004
Cr-Commit-Position: refs/heads/master@{#26553}
Michael Achenbach [Tue, 10 Feb 2015 17:00:41 +0000 (18:00 +0100)]
Revert "Whitespace CL to test poller."
This reverts commit
f27de256c12ab0d5f152ab3ad66950caa5158d03.
Cr-Commit-Position: refs/heads/master@{#26552}
machenbach [Tue, 10 Feb 2015 16:58:39 +0000 (08:58 -0800)]
Revert of Fix IsWeakObjectInOptimizedCode predicate to also include property cells. (patchset #1 id:1 of https://codereview.chromium.org/
909123002/)
Reason for revert:
Seems to fail several slow asserts (not on the try server):
http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20debug/builds/1841
Original issue's description:
> Fix IsWeakObjectInOptimizedCode predicate to also include property cells.
>
> BUG=v8:3882
> LOG=NO
>
> Committed: https://crrev.com/
f8c404849dd01b538e52d95412225c06a0101808
> Cr-Commit-Position: refs/heads/master@{#26549}
TBR=dcarney@chromium.org,ulan@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=v8:3882
Review URL: https://codereview.chromium.org/
909973004
Cr-Commit-Position: refs/heads/master@{#26551}
ishell [Tue, 10 Feb 2015 16:42:16 +0000 (08:42 -0800)]
Revert of Temporarily disable double fields unboxing. (patchset #1 id:1 of https://codereview.chromium.org/
893843004/)
Reason for revert:
Experiment is over, turning it on back.
Original issue's description:
> Temporarily disable double fields unboxing.
>
> Committed: https://crrev.com/
51c59ede18831d1c1a1d70fa9fa456f946ac486b
> Cr-Commit-Position: refs/heads/master@{#26492}
TBR=jochen@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
Review URL: https://codereview.chromium.org/
912673003
Cr-Commit-Position: refs/heads/master@{#26550}
ulan [Tue, 10 Feb 2015 16:09:12 +0000 (08:09 -0800)]
Fix IsWeakObjectInOptimizedCode predicate to also include property cells.
BUG=v8:3882
LOG=NO
Review URL: https://codereview.chromium.org/
909123002
Cr-Commit-Position: refs/heads/master@{#26549}
Michael Achenbach [Tue, 10 Feb 2015 16:03:39 +0000 (17:03 +0100)]
Whitespace CL to test poller.
Cr-Commit-Position: refs/heads/master@{#26548}
vogelheim [Tue, 10 Feb 2015 15:38:01 +0000 (07:38 -0800)]
Fix cctest + unittest to work with an external snapshot.
To do so, extract startup_data_util from d8 and use it those executables.
BUG=
Review URL: https://codereview.chromium.org/
913703002
Cr-Commit-Position: refs/heads/master@{#26547}
marja [Tue, 10 Feb 2015 14:39:00 +0000 (06:39 -0800)]
Parsing: Make Scope not know about Isolate.
Scope, like Parser, must be able to operate independent of Isolate and the V8
heap (for background parsing). After the heap-independent phase, there is a heap
dependent phase, during which we do operations such as scope anaylysis.
This CL makes the phases explicit by not telling Scope about the Isolate too
early (during the heap-independent phase, Scope should know nothing about
Isolate). This decreases the probability of accidental code changes which would
add heap-dependent operations into the heap-independent phase.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
909093003
Cr-Commit-Position: refs/heads/master@{#26546}
loislo [Tue, 10 Feb 2015 14:32:42 +0000 (06:32 -0800)]
Propagate DeoptInfo to cpu-profiler
1) Deoptimizer::Reason was replaced with Deoptimizer::DeoptInfo
because it also has raw position. Also the old name clashes with DeoptReason enum.
2) c_entry_fp assignment call was added to EntryGenerator::Generate
So we can calculate sp and have a chance to record the stack for the deopting function.
btw it makes the test stable.
3) new kind of CodeEvents was added to cpu-profiler
4) GetDeoptInfo method was extracted from PrintDeoptLocation.
So it could be reused in cpu profiler.
BUG=452067
LOG=n
Review URL: https://codereview.chromium.org/
910773002
Cr-Commit-Position: refs/heads/master@{#26545}
marja [Tue, 10 Feb 2015 13:27:08 +0000 (05:27 -0800)]
Get rid of PreParserScope.
It's unnecessary; PreParser can just use normal Scopes for the things it needs
to track. Note: the only functionalities of PreParserScope were keeping track of
the scope stack, and for each scope, the scope type and language mode. Those are
now done by Scope. PreParser doesn't yet put variables into scopes (that will be
done in a follow up).
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
912563004
Cr-Commit-Position: refs/heads/master@{#26544}
v8-autoroll [Tue, 10 Feb 2015 12:52:46 +0000 (04:52 -0800)]
Update V8 DEPS.
Rolling v8/tools/clang to
4b5142322face2df2374a246dba98ae82be317b0
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
872893010
Cr-Commit-Position: refs/heads/master@{#26543}
svenpanne [Tue, 10 Feb 2015 11:45:59 +0000 (03:45 -0800)]
Massage the CodeStub class hierarchy a bit.
Several tiny changes for the upcoming TurboFan-genrated handlers/stubs:
* Relaxed the type of code_stub().
* Made GetCodeKind() public, it effectly was like this, anyway.
* Const-corrected GetStubType().
Review URL: https://codereview.chromium.org/
915583002
Cr-Commit-Position: refs/heads/master@{#26542}
yangguo [Tue, 10 Feb 2015 11:19:57 +0000 (03:19 -0800)]
Correctly pointer-align code cache payload.
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/
912763002
Cr-Commit-Position: refs/heads/master@{#26541}
titzer [Tue, 10 Feb 2015 09:53:09 +0000 (01:53 -0800)]
Reduce the number of iterations in some OSR tests by using an explicit %OptimizeOsr().
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
913463002
Cr-Commit-Position: refs/heads/master@{#26540}
bmeurer [Tue, 10 Feb 2015 09:04:17 +0000 (01:04 -0800)]
Add compile_commands.json to .gitignore.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
912653004
Cr-Commit-Position: refs/heads/master@{#26539}
chunyang.dai [Tue, 10 Feb 2015 08:55:58 +0000 (00:55 -0800)]
Fix the MachineSignature* parameters change for turbofan unsupported platform.
this issue is introduced by
30787d4e564efe7f85182bd5b1b99e9f40e265ca.
(https://codereview.chromium.org/
874693006).
original commit message:
Const-corrected some MachineSignature* parameters.
Recipe: Add "const" to RawMachineAssembler constructor, fix breakage.
BUG=
Review URL: https://codereview.chromium.org/
905283002
Cr-Commit-Position: refs/heads/master@{#26538}
Benedikt Meurer [Tue, 10 Feb 2015 07:51:28 +0000 (08:51 +0100)]
Ignore unsupport host architectures for binutils download.
BUG=v8:3880
LOG=n
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
908173002
Cr-Commit-Position: refs/heads/master@{#26537}
bmeurer [Tue, 10 Feb 2015 07:26:59 +0000 (23:26 -0800)]
[linux] Improve link time with Chromium-bundled binutils.
Also enabled concurrent linking with gold on Linux.
Mostly copy and paste from Chromium with customization for
V8 where necessary.
BUG=v8:3880
LOG=n
Review URL: https://codereview.chromium.org/
896703003
Cr-Commit-Position: refs/heads/master@{#26536}
akos.palfi [Tue, 10 Feb 2015 04:02:18 +0000 (20:02 -0800)]
MIPS: [turbofan] Initial support for Switch.
Port
feb2890711e8072a9550abb89621929816fc9699
Original commit message:
Adds Switch and Case operators to TurboFan and handles them
appropriately in instruction selection and code generation.
BUG=
Review URL: https://codereview.chromium.org/
896973005
Cr-Commit-Position: refs/heads/master@{#26535}
balazs.kilvady [Mon, 9 Feb 2015 20:49:46 +0000 (12:49 -0800)]
MIPS: Assembler support for internal references.
Port
49cbe537e715c960fb9773af2e240133726f465b
BUG=
Review URL: https://codereview.chromium.org/
911623003
Cr-Commit-Position: refs/heads/master@{#26534}
chunyang.dai [Mon, 9 Feb 2015 18:43:09 +0000 (10:43 -0800)]
Add dummy implementation for turbofan unsupported platform.
This function is defined in
feb2890711e8072a9550abb89621929816fc9699.
(https://codereview.chromium.org/
892513003).
original commit message:
[turbofan] Initial support for Switch.
Adds Switch and Case operators to TurboFan and handles them
appropriately in instruction selection and code generation.
BUG=
Review URL: https://codereview.chromium.org/
902943005
Cr-Commit-Position: refs/heads/master@{#26533}
jochen [Mon, 9 Feb 2015 16:25:47 +0000 (08:25 -0800)]
Add a flag to over approximate the weak closure during GC
BUG=v8:3862
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
894703002
Cr-Commit-Position: refs/heads/master@{#26532}
yangguo [Mon, 9 Feb 2015 15:19:26 +0000 (07:19 -0800)]
Add DCHECKs to back reference deserialization.
R=jochen@chromium.org
BUG=chromium:441896
LOG=N
Review URL: https://codereview.chromium.org/
909493002
Cr-Commit-Position: refs/heads/master@{#26531}
jochen [Mon, 9 Feb 2015 15:15:29 +0000 (07:15 -0800)]
Introduce a compile method that takes context extensions
BUG=chromium:456192
R=yangguo@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/
910683002
Cr-Commit-Position: refs/heads/master@{#26530}
yangguo [Mon, 9 Feb 2015 14:49:35 +0000 (06:49 -0800)]
Add payload checksum to code cache data.
R=jochen@chromium.org
BUG=chromium:441896
LOG=N
Review URL: https://codereview.chromium.org/
907013002
Cr-Commit-Position: refs/heads/master@{#26529}
dcarney [Mon, 9 Feb 2015 14:20:06 +0000 (06:20 -0800)]
[turbofan] make zone allocation of InstructionOperand explicit
BUG=
Review URL: https://codereview.chromium.org/
907873002
Cr-Commit-Position: refs/heads/master@{#26528}
titzer [Mon, 9 Feb 2015 14:11:14 +0000 (06:11 -0800)]
Remove some busy-OSR loops from tests using %OptimizeOsr().
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
908863002
Cr-Commit-Position: refs/heads/master@{#26527}
chunyang.dai [Mon, 9 Feb 2015 14:10:07 +0000 (06:10 -0800)]
X87: Externalize deoptimization reasons.
port
2491a639bf46da4bfdcf65329305ee3053aa5fec (r26463)
original commit message:
Externalize deoptimization reasons.
1) The hardcoded strings were converted into DeoptReason enum.
2) Deopt comment were converted into a pair location and deopt reason entries so
the deopt reason tracking mode would less affect the size of the RelocInfo table and heap.
3) DeoptReason entry in RelocInfo reuses kCommentTag value and generates short entry in RelocInfo table.
BUG=
Review URL: https://codereview.chromium.org/
867243005
Cr-Commit-Position: refs/heads/master@{#26526}
mstarzinger [Mon, 9 Feb 2015 13:13:15 +0000 (05:13 -0800)]
Remove dependency on v8.h from TurboFan.
R=bmeurer@chromium.org
TEST=presubmit
Review URL: https://codereview.chromium.org/
905293002
Cr-Commit-Position: refs/heads/master@{#26525}
dcarney [Mon, 9 Feb 2015 13:02:41 +0000 (05:02 -0800)]
[turbofan] remove one level of indirection in phi inputs
BUG=
Review URL: https://codereview.chromium.org/
910753002
Cr-Commit-Position: refs/heads/master@{#26524}
titzer [Mon, 9 Feb 2015 12:47:31 +0000 (04:47 -0800)]
Make it easier to test OSR with %OptimizeOsr() runtime call.
This call triggers OSR for the current function. And also allows explicitly testing OSR on the top-level code.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
906243002
Cr-Commit-Position: refs/heads/master@{#26523}
dcarney [Mon, 9 Feb 2015 11:33:36 +0000 (03:33 -0800)]
add support for all can read interceptors
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
906463002
Cr-Commit-Position: refs/heads/master@{#26522}
bmeurer [Mon, 9 Feb 2015 10:43:56 +0000 (02:43 -0800)]
[x64] Fix strict aliasing error with GCC.
BUG=v8:3872
LOG=n
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/
898953003
Cr-Commit-Position: refs/heads/master@{#26521}
cdai2 [Mon, 9 Feb 2015 10:27:16 +0000 (18:27 +0800)]
X87: Remove the obsolete OverwriteMode optimization.
port
634b0f20f4bbdad305c87fd8e196f4c05efbde1f (r26454).
original commit message:
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
880743005
Cr-Commit-Position: refs/heads/master@{#26520}
cdai2 [Mon, 9 Feb 2015 10:24:36 +0000 (18:24 +0800)]
X87: Fix assertion in full codegen for holed 'this'
port
275e088abec213aa0be3eef748926e4be2c5c79f (r26423)
original commit message:
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
907853002
Cr-Commit-Position: refs/heads/master@{#26519}
dcarney [Mon, 9 Feb 2015 09:50:06 +0000 (01:50 -0800)]
fix transition of typedarrays in ics
R=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
904423002
Cr-Commit-Position: refs/heads/master@{#26518}
cdai2 [Mon, 9 Feb 2015 09:29:04 +0000 (17:29 +0800)]
X87: Retry "Use a WeakCell in the CallIC type vector."
port
6fc97a19653e03a891d3cd397069d5a10b9ab325 (r26420)
original commit message:
Retry "Use a WeakCell in the CallIC type vector."
The first try failed because I needed to make a better distinction
between clearing ICs according to policy at GC time or unconditional
clearing (say, via %ClearFunctionTypeFeedback).
It was also blocked by an issue in super constructor calls.
This fix (https://codereview.chromium.org/
892113002/) needs to land
before checking in this CL.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
865713004
Cr-Commit-Position: refs/heads/master@{#26517}
yangguo [Mon, 9 Feb 2015 09:04:45 +0000 (01:04 -0800)]
Correctly clean up natives sources on tear down.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
911543002
Cr-Commit-Position: refs/heads/master@{#26516}
bmeurer [Mon, 9 Feb 2015 08:56:01 +0000 (00:56 -0800)]
[turbofan] Initial support for Switch.
Adds Switch and Case operators to TurboFan and handles them
appropriately in instruction selection and code generation.
BUG=v8:3872
LOG=n
Review URL: https://codereview.chromium.org/
892513003
Cr-Commit-Position: refs/heads/master@{#26515}
cdai2 [Mon, 9 Feb 2015 08:49:24 +0000 (16:49 +0800)]
X87: Introduce LanguageMode, drop StrictMode.
port
c7851da4aefb644ab198ead1fa284932fd424797 (r26419)
original commit message:
Introduce LanguageMode, drop StrictMode.
This enables adding more language modes in the future.
For maximum flexibility, LanguageMode is a bitmask, so we're not restricted to
use a sequence of language modes which are progressively stricter, but we can
express the language mode as combination of features.
For now, LanguageMode can only be "sloppy" or "strict", and there are
STATIC_ASSERTS in places which need to change when more modes are added.
LanguageMode is a bit like the old LanguageMode when "extended" mode was still
around (see https://codereview.chromium.org/
8417035 and
https://codereview.chromium.org/
181543002 ) except that it's transmitted through
all the layers (there's no StrictModeFlag).
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
902053005
Cr-Commit-Position: refs/heads/master@{#26514}
akos.palfi [Mon, 9 Feb 2015 08:11:03 +0000 (00:11 -0800)]
Fix build with GCC 4.6.
Fix build with GCC 4.6 after
158a87659f02ad4d5e41d2dc19eec1f0f4ded41f.
BUG=
Review URL: https://codereview.chromium.org/
908713002
Cr-Commit-Position: refs/heads/master@{#26513}
cdai2 [Mon, 9 Feb 2015 08:05:24 +0000 (16:05 +0800)]
X87: new classes: special construct stub for derived classs and TDZ for `this`.
port
6f97a4948f1495a9b9d60b7f495d0e0efeaa1006 (r26409)
original commit message:
new classes: special construct stub for derived classs and TDZ for `this`.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
902423002
Cr-Commit-Position: refs/heads/master@{#26512}
cdai2 [Mon, 9 Feb 2015 07:59:41 +0000 (15:59 +0800)]
X87: Super Constructor Calls need to use a vector slot, not an ic slot.
port
64f81870ee0bc51a32620be8face35e7cbd0da92 (r26414)
original commit message:
Super Constructor Calls need to use a vector slot, not an ic slot.
The Ast Call node is accustomed to using a vector IC slot for the
cases when it uses a CallIC. The super constructor work alters this
somewhat by using a CallConstructStub instead, however the
CallConstructStub expects a vector slot and not a vector ic slot.
This distinction needs to be maintained because slots and ic slots
have different clearing strategies and are handled differently.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
911513002
Cr-Commit-Position: refs/heads/master@{#26511}
ben [Mon, 9 Feb 2015 07:00:32 +0000 (23:00 -0800)]
Fix --max_old_space_size=4096 integer overflow.
BUG=v8:3857
LOG=N
Review URL: https://codereview.chromium.org/
897543002
Cr-Commit-Position: refs/heads/master@{#26510}
Yang Guo [Mon, 9 Feb 2015 06:56:29 +0000 (07:56 +0100)]
Add StrongLoop, Inc. to AUTHORS.
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/
891373003
Cr-Commit-Position: refs/heads/master@{#26509}
cdai2 [Mon, 9 Feb 2015 06:33:40 +0000 (14:33 +0800)]
X87: Megamorphic KeyedLoadIC needs special handling for vector ics
port
16843e239d95f5e8eaaa06d2a0a6e371298fe11f (r26381)
original commit message:
Megamorphic KeyedLoadIC needs special handling for vector ics.
When --vector-ics is true, we still tail-call to the hand-written
megamorphic KeyedLoadIC (formerly "generic"). Now that this code uses
the megamorphic cache, it needs to deal properly with the vector and
slot registers. Achieve this with a sentinel vectors/slot combo.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
910623002
Cr-Commit-Position: refs/heads/master@{#26508}
chunyang.dai [Mon, 9 Feb 2015 06:08:42 +0000 (22:08 -0800)]
X87: Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros
port
c65ae4f10c7273956e88db433f626b26a1377caf (r26346).
fix one spelling error introduced by this CL.
original commit message:
Reland "Initial switch to Chromium-style CHECK_* and DCHECK_* macros.".
BUG=
Review URL: https://codereview.chromium.org/
886833006
Cr-Commit-Position: refs/heads/master@{#26507}
cdai2 [Mon, 9 Feb 2015 05:18:28 +0000 (13:18 +0800)]
X87: Continue learning for calls in crankshaft.
port
7d363783e14433032a4e8dd426fe0e27d1637fe5.
original commit message:
Continue learning for calls in crankshaft.
The type feedback vector makes this easy to do.
This is a re-land of https://codereview.chromium.org/
868453005/
with a fix for the DCHECK failure.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
904373002
Cr-Commit-Position: refs/heads/master@{#26506}
chunyang.dai [Sat, 7 Feb 2015 09:31:08 +0000 (01:31 -0800)]
X87: Add MEGAMORPHIC state support for KeyedLoadIC
port
491eb81780873aafd4d7f6638d20f26839383c68 (r26345)
BUG=
Review URL: https://codereview.chromium.org/
891203003
Cr-Commit-Position: refs/heads/master@{#26505}
chunyang.dai [Sat, 7 Feb 2015 09:09:48 +0000 (01:09 -0800)]
X87: Initial switch to Chromium-style CHECK_* and DCHECK_* macros
port
0deaa4b629faeae6832046c294dc7c034a0a6653 (r26340)
(code change in full-codegen-x87.cc is covered by r26340 ).
original commit message:
Initial switch to Chromium-style CHECK_* and DCHECK_* macros.
BUG=
Review URL: https://codereview.chromium.org/
903353002
Cr-Commit-Position: refs/heads/master@{#26504}
chunyang.dai [Sat, 7 Feb 2015 08:43:40 +0000 (00:43 -0800)]
X87: fix performance regression on intel call api stubs
port
b18ad510798d3a5e75f6b68656d8f8826571e782 (r26291)
original commit message:
additionally, make the interface match the JSFunction interface
BUG=
Review URL: https://codereview.chromium.org/
906743002
Cr-Commit-Position: refs/heads/master@{#26503}
chunyang.dai [Sat, 7 Feb 2015 07:52:17 +0000 (23:52 -0800)]
X87: Use a trampoline stub to load the type feedback vector for CallICs
port
2a567faa3e7242359e29c63f8dc8c18104af0610 (r26290)
original commit message:
Use a trampoline stub to load the type feedback vector for CallICs.
BUG=
Review URL: https://codereview.chromium.org/
905983002
Cr-Commit-Position: refs/heads/master@{#26502}
cdai2 [Sat, 7 Feb 2015 06:21:53 +0000 (14:21 +0800)]
X87: Remove the dependency of Zone on Isolate
port
c7b09aac317dd810d29b82061973199b80363b65 (r26252)
original commit message:
Along the way:
- Thread isolate parameter explicitly through code that used to
rely on getting it from the zone.
- Canonicalize the parameter position of isolate and zone for
affected code
- Change Hydrogen New<> instruction templates to automatically
pass isolate
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
903183003
Cr-Commit-Position: refs/heads/master@{#26501}
cdai2 [Sat, 7 Feb 2015 06:20:27 +0000 (14:20 +0800)]
X87: new classes: change semantics of super(...) call and add new.target to construct stub.
port
22ce08ade63a9c4f28225db11a5b5d2726c5a8e7 (r26227)
original commit message:
new classes: change semantics of super(...) call and add new.target to construct stub.
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
900423002
Cr-Commit-Position: refs/heads/master@{#26500}
v8-autoroll [Sat, 7 Feb 2015 04:24:55 +0000 (20:24 -0800)]
Update V8 DEPS.
Rolling v8/tools/clang to
5489bbf01a5292a6c44d4cad7875ba2cb4ac975b
TBR=machenbach@chromium.org
Review URL: https://codereview.chromium.org/
903233003
Cr-Commit-Position: refs/heads/master@{#26499}
arv [Fri, 6 Feb 2015 23:26:18 +0000 (15:26 -0800)]
Rename ParseSourceElements in preparser too
BUG=None
R=adamk
LOG=N
Review URL: https://codereview.chromium.org/
905003003
Cr-Commit-Position: refs/heads/master@{#26498}
arv [Fri, 6 Feb 2015 18:04:11 +0000 (10:04 -0800)]
Allow eval and arguments as property names
We incorrectly disallowed eval and arguments in accessor and method
names. This was because we checked the name inside the
ParseFunctionLiteral. We now flag accessors so that lazy parsing of
these functions are treated correctly.
BUG=v8:1984
R=adamk, dslomov@chromium.org
LOG=N
Review URL: https://codereview.chromium.org/
899363002
Cr-Commit-Position: refs/heads/master@{#26497}
adamk [Fri, 6 Feb 2015 17:52:20 +0000 (09:52 -0800)]
Add basic compilation support for modules
This adds an "experimental" API hook (v8::ScriptCompiler::CompileModule)
allowing compilation of modules. The code gen is incredibly basic: the
module body is represented by a Block in the AST. But this at least gets
more of the pipeline working, and opens the door to writing mjsunit tests
(once d8 is modified to support module compilation).
BUG=v8:1569
LOG=n
Review URL: https://codereview.chromium.org/
902093002
Cr-Commit-Position: refs/heads/master@{#26496}
loislo [Fri, 6 Feb 2015 16:50:56 +0000 (08:50 -0800)]
Simplify cpu-profiler test code with help of wrappers.
BTW: a few fixes for string comparison
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/
892953004
Cr-Commit-Position: refs/heads/master@{#26495}
marja [Fri, 6 Feb 2015 15:58:36 +0000 (07:58 -0800)]
PreParser / Parser consistency: Make PreParser aware of Zone and AstValueFactory.
Previously it just had hacks to have NULLs instead of them and pretended to know
nothing about Zone. The hacks provide no real benefit (probably historically
based on some weird misconception about the relationship between Zone and
Isolate), and make it harder for the PreParser to start to know more about
variables and scoping.
BUG=
Review URL: https://codereview.chromium.org/
909463003
Cr-Commit-Position: refs/heads/master@{#26494}
titzer [Fri, 6 Feb 2015 15:56:58 +0000 (07:56 -0800)]
[turbofan] OSR loops assign all local variables.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
886733005
Cr-Commit-Position: refs/heads/master@{#26493}
ishell [Fri, 6 Feb 2015 15:50:31 +0000 (07:50 -0800)]
Temporarily disable double fields unboxing.
Review URL: https://codereview.chromium.org/
893843004
Cr-Commit-Position: refs/heads/master@{#26492}
jochen [Fri, 6 Feb 2015 15:36:08 +0000 (07:36 -0800)]
Check that we're called on a valid heap during idle notifications
BUG=chromium:425035
R=dcarney@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/
892413006
Cr-Commit-Position: refs/heads/master@{#26491}
yangguo [Fri, 6 Feb 2015 15:20:40 +0000 (07:20 -0800)]
Add hash fields to code cache header.
R=jochen@chromium.org
BUG=chromium:441896
LOG=N
Review URL: https://codereview.chromium.org/
909473002
Cr-Commit-Position: refs/heads/master@{#26490}
titzer [Fri, 6 Feb 2015 15:19:33 +0000 (07:19 -0800)]
[turbofan] Fix loop analysis bug with certain phi structures.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
909463002
Cr-Commit-Position: refs/heads/master@{#26489}
mstarzinger [Fri, 6 Feb 2015 15:07:15 +0000 (07:07 -0800)]
Make the Linkage::NeedsFrameState list more intuitive.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/
878743006
Cr-Commit-Position: refs/heads/master@{#26488}
cdai2 [Fri, 6 Feb 2015 14:59:06 +0000 (22:59 +0800)]
x87: currently Turbofan is not supported by X87 so this test case is disabled.
BUG=
R=mstarzinger@chromium.org, weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/
879693005
Cr-Commit-Position: refs/heads/master@{#26487}
bmeurer [Fri, 6 Feb 2015 12:48:15 +0000 (04:48 -0800)]
[x64] Assembler support for internal references and RIP relative addressing.
R=dcarney@chromium.org
BUG=v8:3872
LOG=n
Review URL: https://codereview.chromium.org/
887013003
Cr-Commit-Position: refs/heads/master@{#26486}
svenpanne [Fri, 6 Feb 2015 12:18:44 +0000 (04:18 -0800)]
Const-corrected some MachineSignature* parameters.
Recipe: Add "const" to RawMachineAssembler constructor, fix breakage.
Review URL: https://codereview.chromium.org/
874693006
Cr-Commit-Position: refs/heads/master@{#26485}
Dan Carney [Fri, 6 Feb 2015 12:07:48 +0000 (13:07 +0100)]
split interceptor tests off of test-api
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
900033003
Cr-Commit-Position: refs/heads/master@{#26484}
dslomov [Fri, 6 Feb 2015 10:34:50 +0000 (02:34 -0800)]
new classes: assert that constructors are not callable and rewrite 'return;'
R=arv@chromium.org
BUG=v8:3834
LOG=N
Review URL: https://codereview.chromium.org/
885643004
Cr-Commit-Position: refs/heads/master@{#26483}