bmeurer@chromium.org
80836787a3
[turbofan] Improve code generation for inline comparisons with zero.
...
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/669133004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24832 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 10:22:06 +00:00
dcarney@chromium.org
887b3ca079
Cleanup ConsStringIteratorOp.
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/663313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24818 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 05:57:01 +00:00
titzer@chromium.org
5a1774268a
Add Terminate operator.
...
Terminate is need for non-terminating loops (NTLs) that can appear after optimizing control flow. It gathers the control and effect(s) from a NTL and connects them to end so that they are not dead-code removed.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/651843004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 17:15:38 +00:00
bmeurer@chromium.org
6619a7975d
[turbofan] Add support for deferred code.
...
Branch can now have an optional hint, when the condition is
likely true or false, and if such a hint is present the other
basic block will be marked as deferred and placed at the end
of the function.
We currently use this feature for tagging int32/uint32 in
change lowering, and for load/store bounds checks in simplified
lowering.
TEST=cctest,unittests
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/642883003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24802 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 11:24:55 +00:00
sigurds@chromium.org
81420f003b
Add FRINTP (round towards positive infinity) instruction.
...
Macro Assember, assembler and simulator for ARM64 were missing FRINTP.
R=rodolph.perfetta@arm.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/669923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24800 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 11:06:22 +00:00
jochen@chromium.org
4669a5cfb9
Really disable test when running with optimize for size
...
R=bmeurer@chromium.org
TBR=bmeurer@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/652903008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24795 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 08:15:47 +00:00
jochen@chromium.org
b57976051b
Fix newly added test to not run with optimize-for-size
...
TBR=ulan@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/673593002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24792 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 07:36:12 +00:00
jochen@chromium.org
8f7a455fe2
Add support for a target new space size
...
When this flag is set, we will commit additional pages up until the
target size before doing a scavenge.
I made sure that all tests pass when a target size of 16MB is set.
BUG=v8:3626
R=ulan@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/652543007
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-22 06:58:38 +00:00
dslomov@chromium.org
37bd114925
Update ObjectToString to Harmony-draft algorithm
...
Updates Object.prototype.toString() to use algorithm described in harmony drafts.
Currently, the behaviour is essentially the same as ES262's version, however this changes when internal structures
such as Promise make use of symbolToStringTag (as they are supposed to, see v8:3241), and changes further once
Symbol.toStringTag is exposed publicly.
BUG=v8:3241, v8:3502
LOG=N
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/546803003
Patch from Caitlin Potter <caitpotter88@gmail.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 17:21:32 +00:00
dcarney@chromium.org
1c5fafe890
[turbofan] use ZonePool in most places in the compiler pipeline a temp zone is used.
...
R=jarin@chromium.org , bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/663333003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 14:44:50 +00:00
titzer@chromium.org
12a82ef32c
Fix AstGraphBuilder for loops like for(;;).
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/640203004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 14:17:08 +00:00
dcarney@chromium.org
54fef44df3
[turbofan] add ZonePool to correctly track compiler phase memory usage
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/665893006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:38:46 +00:00
wingo@igalia.com
4eddbacabf
Assign bailout and type feedback IDs in a post-pass
...
This will allow us to move expressions from one function to another, for
example when the parser determines that a given cover grammar instance
is actually the default value initializer for an arrow function.
This is a re-land of https://codereview.chromium.org/636403003/ with a
fix for the arm64 code generator.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/663373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 12:16:37 +00:00
svenpanne@chromium.org
d66d302b00
Revert "Assign bailout and type feedback IDs in a post-pass"
...
This reverts r24757, which breaks the ARM64 simulator build.
Simple repro:
out/arm64.debug/d8 -e 'eval("(function(){ const x; var x; })")'
TBR=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/652543006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 10:55:12 +00:00
ulan@chromium.org
e777fc4126
Use smi zero instead of undefine_value to zap dead weak cells.
...
It is faster to test for smi zero from generated code.
BUG=
R=erikcorry@chromium.org
Review URL: https://codereview.chromium.org/637253004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24758 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 09:42:16 +00:00
svenpanne@chromium.org
2b8d734037
Assign bailout and type feedback IDs in a post-pass
...
This will allow us to move expressions from one function to another, for
example when the parser determines that a given cover grammar instance
is actually the default value initializer for an arrow function.
R=svenpanne@chromium.org , marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/636403003
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24757 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 08:52:32 +00:00
svenpanne@chromium.org
3de17c6950
Remove v8stdint.h, it doesn't serve a purpose anymore.
...
Basically a follow-up to https://codereview.chromium.org/667573005/ .
LOG=y
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/670673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 08:25:14 +00:00
dcarney@chromium.org
6c1e4f08d1
[turbofan] cleanup InstructionSequence
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/664123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-21 06:59:50 +00:00
mvstanton@chromium.org
8a54a9a4f0
Fix gc mole test failure.
...
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/651683003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 17:32:06 +00:00
yangguo@chromium.org
b1d4bf4158
Move some Runtime:: functions and remove runtime.h as include when unnecessary.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/662413002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:07:45 +00:00
bmeurer@chromium.org
010f089971
Remove (untested) code for unsupported compilers.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/656143004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 12:04:22 +00:00
mvstanton@chromium.org
c688ebd858
vector-based ICs did not update type feedback counts correctly.
...
BUG=v8:3605
LOG=N
R=jkummerow@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/650073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 11:42:56 +00:00
dcarney@chromium.org
32161089da
[turbofan] pass zone to InstructionSequence
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/663073002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 11:18:07 +00:00
dcarney@chromium.org
4e191e782e
[turbofan] remove schedule from InstructionSequence
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/669613002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 10:19:15 +00:00
marja@chromium.org
394af55a8c
Script streaming: more UTF-8 handing fixes (again).
...
1) Since we fill the output buffer both from the chunks and the conversion
buffer, it's possible that we run out of space and call CopyCharsHelper with 0
length. The underlying functions don't handle it gracefully, so check there.
2) There was a bug where we used to try to copy too many characters from the
beginning of the data chunk into the conversion buffer. Continuation bytes in
UTF-8 are of the form 0b10XXXXXX. If a byte is bigger than that, it's the first
byte of a new UTF-8 character and we should ignore it.
These two together (or maybe in combination with surrogates) are a probable
reason for crbug.com/420932.
3) The test data was off; \uc481 is \xec\x92\x81.
BUG=420932
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/662003003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 09:23:43 +00:00
sigurds@chromium.org
bc475b4a6b
Add inlining for intrinsics.
...
This issue is for discussion on how to proceed.
I think the implementation of ValueOf shows that directly creating the IR does not scale.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/612043003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-20 07:56:50 +00:00
jkummerow@chromium.org
c186399e5f
Tick processor: Print C++ entry points
...
R=loislo@chromium.org , yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/638633002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 15:44:02 +00:00
titzer@chromium.org
e4c6f9488e
Implement graph trimming in ControlReducer.
...
Trimming the graph consists of breaking links from nodes that are not reachable from end to nodes that are reachable from end. Such dead nodes show up in the use lists of the live nodes and though mostly harmless, just clutter up the graph. They also can limit instruction selection opportunities, so it is good to get rid of them.
This CL is one half of the ControlReducer functionality, the other half
being branch folding.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/661923002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 11:51:57 +00:00
neis@chromium.org
7f7354f3fd
Test monotonicity of expression typings.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/653093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24693 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 11:46:06 +00:00
yangguo@chromium.org
66170eaa52
test-serialize/Bug3628 is expected to fail, not crash.
...
TBR=jochen@chromium.org
BUG=v8:3628
LOG=N
Review URL: https://codereview.chromium.org/663483003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24688 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 10:22:47 +00:00
yangguo@chromium.org
f0e3ae8e24
Prohibit serializing with --harmony-scoping.
...
R=jochen@chromium.org
BUG=v8:3628
LOG=N
Review URL: https://codereview.chromium.org/650423005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24686 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 09:54:48 +00:00
bmeurer@chromium.org
0854ee289b
[x64] simply tweak materialization of float/double constants
...
port 24485
Fixed a bug of "psllq" instruction in x64
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/658813003
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 04:18:38 +00:00
haraken@chromium.org
f3bfd04bcf
Pass an Isolate to v8::VisitHandlesWithClassIds
...
The Isolate version of v8::VisitHandlesWithClassIds is needed
for https://codereview.chromium.org/651713002/
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/664473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24671 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-17 00:46:18 +00:00
mvstanton@chromium.org
e8c3708825
Fix ASAN warning.
...
Missing line in a test to dispose of a string.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/643873004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 13:26:28 +00:00
wingo@igalia.com
0841f7241b
Track usage of "this" and "arguments" in Scope
...
This adds flags in Scope to track wheter a Scope uses "this" and,
"arguments". The information is exposed via Scope::uses_this(),
and Scope::uses_arguments(), respectively. Flags for tracking
usage on any inner scope uses are available as well via
Scope::inner_uses_this(), and Scope::inner_uses_arguments().
Knowing whether scopes use "this" and "arguments" will be handy
to generate the code needed to capture their values when generating
the code for arrow functions.
BUG=v8:2700
LOG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/422923004
Patch from Adrian Perez de Castro <aperez@igalia.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24663 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 13:19:36 +00:00
bmeurer@chromium.org
fe3a8845f0
[turbofan] Correctify typed lowering.
...
We cannot add new JSToNumber nodes here in general, because:
a) The inserted ToNumber operation screws up observability of valueOf.
b) Deoptimization at ToNumber doesn't have corresponding bailout id.
TEST=cctest,mjsunit
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/649543004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 11:31:00 +00:00
aandrey@chromium.org
b96b570628
Introduce v8::Exception::GetStackTrace API method.
...
This will be needed to get a stack trace from a DOMException.
API=v8::Exception::GetStackTrace
R=yangguo@chromium.org
LOG=Y
Review URL: https://codereview.chromium.org/655243002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24655 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-16 10:42:08 +00:00
sigurds@chromium.org
2577d6c261
Fix compilation after r24639
...
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/653353003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:42:32 +00:00
yangguo@chromium.org
4f9fd83d85
Break deserializer reservations into chunks that fit onto a page.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/653033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 14:04:53 +00:00
titzer@chromium.org
ad80a80a8b
Fix bug in NodeCache::GetCachedNodes
...
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/656033003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24635 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 13:07:18 +00:00
titzer@chromium.org
754abff699
Add JSGraph::GetCachedNodes and NodeCache::GetCachedNodes. These routines are necessary in the dead code elimination phase to trim away uses from unreachable nodes.
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/656103002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 12:29:39 +00:00
dcarney@chromium.org
37f1645023
[turbofan] more verification of rpo
...
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/603533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 12:15:38 +00:00
rossberg@chromium.org
0e16150d33
Better typing and type verification
...
- Extend verifier to check types of JS and Simplified nodes.
- Untyped nodes now contain NULL as types, enforcing hard failure.
- Typer immediately installs itself as a decorator; remove explicit decorator installation.
- Decorator eagerly types all nodes that have typed inputs
(subsumes typing of constant cache, removing its typing
side-channel and various spurious dependencies on the typer).
- Cut down typer interface to prevent inconsistently typed graphs.
- Remove verification from start, since it caused too much trouble
with semi-wellformed nodes.
- Fix a couple of bugs on the way that got uncovered.
To do: verifying machine operators. Also, various conditions in the
verifier are currently commented out, because they don't yet hold.
BUG=
R=jarin@chromium.org ,titzer@chromium.org
Review URL: https://codereview.chromium.org/658543002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 11:38:04 +00:00
ulan@chromium.org
ac1f429689
Remove test-api/Regress2107 since it doesn't test what Chrome does.
...
BUG=v8:3625
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/657033003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 08:44:00 +00:00
neis@chromium.org
93d0e79d6e
Again reland "Refine expression typing, esp. by propagating range information."
...
This relands commit 24552.
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/650513003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 08:21:46 +00:00
bmeurer@chromium.org
f574d93e51
Revert "Reland "Refine expression typing, esp. by propagating range information.""
...
This reverts commit r24609 for breaking the
cctest/test-js-typed-lowering/Int32BitwiseBinops test.
TBR=rossberg@chromium.org ,neis@chromium.org
Review URL: https://codereview.chromium.org/656003002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-15 03:50:13 +00:00
neis@chromium.org
a7eb593147
Reland "Refine expression typing, esp. by propagating range information."
...
This relands commit 24552.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/653693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 16:27:26 +00:00
ulan@chromium.org
dd49272c00
Weak Cells
...
Introduce an object that holds a weak reference.
Design document: http://goo.gl/9dSvvy .
BUG=
R=erik.corry@gmail.com
Review URL: https://codereview.chromium.org/640303006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 14:43:45 +00:00
jkummerow@chromium.org
d7482818a6
Fix de/serialization tests after r24592
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/654853002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 12:21:18 +00:00
sigurds@chromium.org
4dc4b40925
Reland "Fix scheduler to correctly schedule nested diamonds".
...
Reland fix: Consume less memory.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/636233006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 12:08:55 +00:00
bmeurer@chromium.org
81877a6440
[turbofan] Optimize division/modulus by constant.
...
TEST=cctest,mjsunit,unittests
R=dcarney@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/654833002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 11:57:06 +00:00
dcarney@chromium.org
75d15894f6
[turbofan] remove some of the dependency of Instruction on Schedule
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/646393002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 08:51:22 +00:00
hpayer@chromium.org
2c18a51c72
Increase final idle time in idle notifcation of test test-api/Regress2107.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/653863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 08:10:41 +00:00
bmeurer@chromium.org
8a00950303
[arm] Drop SMMLS support.
...
Apparently
SMMLS r, b, c, a
computes
r = ((a << 32) - b * c) >> 32
while the documentation is kinda misleading and states that it should
compute
r = a - ((b * c) >> 32)
The actual behavior is kinda useless, so we drop the instruction again.
TEST=cctest,unittests
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/654653004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 07:47:27 +00:00
bmeurer@chromium.org
8950e0a3de
[arm] Add support for SMMLA, SMMLS and SMMUL.
...
TEST=cctest,unittests
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/648283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-14 05:03:04 +00:00
hpayer@chromium.org
c7149e50a3
Fix IdleNotificationFinishMarking test on slow devices.
...
BUG=
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/641533004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 18:54:20 +00:00
hpayer@chromium.org
d1e693a43a
Check if there is still time before finalizing an incremental collection.
...
BUG=
R=erik.corry@gmail.com , ulan@chromium.org
Review URL: https://codereview.chromium.org/629903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 16:27:55 +00:00
sigurds@chromium.org
aa67d12f09
Revert "Fix scheduler to correctly schedule nested diamonds."
...
This reverts commit 0ab306041a6eba99fe5e2ef78251de137321f559.
"Fix" make scheduler run out of memory.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/656473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 16:08:29 +00:00
sigurds@chromium.org
0f5949d605
Fix scheduler to correctly schedule nested diamonds.
...
The scheduler rewires control based on the last *control*
node that appears in the schedule of a block. This is not
sufficient to account for dependencies.
This patch adds additional dependencies to floating control
nodes. Given a floating control node A, every non-control
dependency of every node B that depends on A is introduces
as an additional dependency of A.
This allows the scheduler to correctly schedule two
diamonds A, B, if their only correct schedule is to
schedule B into the ifTrue successor in A.
TEST=cctest/test-scheduler/NestedFloatingDiamonds
R=mstarzinger@chromium.org , titzer@chromium.org
Review URL: https://codereview.chromium.org/602083003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 13:07:49 +00:00
neis@chromium.org
a2f4963abd
Revert "Refine expression typing, esp. by propagating range information."
...
This reverts commit 24552.
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/648163002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 10:48:01 +00:00
neis@chromium.org
5a0ff8e656
Refine expression typing, esp. by propagating range information.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/618803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 10:40:29 +00:00
marja@chromium.org
363ac55a5d
Script streaming: UTF-8 handling fix.
...
The problem was that there can be several multi-byte UTF-8 characters near the
splitting point of the data chunks, and the code didn't handle it properly.
This was also the source of crbug.com/417891 - I thought the crash can only
happen when V8 is passed invalid UTF-8 data, but it can also happen in the
abovementioned case. After the fix, we handle the valid UTF-8 case and also
guard against invalid UTF-8 data.
R=yangguo@chromium.org
BUG=chromium:417891
LOG=N
Review URL: https://codereview.chromium.org/654503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 09:01:54 +00:00
dcarney@chromium.org
657052e87f
[turbofan] remove graph from InstructionSequence
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/652643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 08:09:27 +00:00
dcarney@chromium.org
907ad65dce
[turbofan]IA: ChangeFloat32ToFloat64 supports mem operand
...
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/641153003
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 07:42:35 +00:00
dcarney@chromium.org
3396c2badd
[turbofan] IA: TruncateFloat64ToFloat32 supports mem operand
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/639283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-13 07:12:57 +00:00
dslomov@chromium.org
c9049c0325
Keyed loads from super with numeric keys.
...
R=ishell@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/638193004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-10 10:40:29 +00:00
yangguo@chromium.org
8659e50723
Update unicode to 7.0.0.
...
And do not use code points with PATTERN_* property for identifier start.
Maintain that \u180E is a white space character.
BUG=v8:2892
LOG=Y
R=dpino@igalia.com , mathias@qiwi.be
Review URL: https://codereview.chromium.org/638643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 14:55:03 +00:00
bmeurer@chromium.org
9b306893a3
[turbofan] Properly emit bounds checks for typed array element loads.
...
Also fix an awfull bug in simplified lowering.
TEST=cctest,mjsunit/asm
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/640603003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 11:16:45 +00:00
titzer@chromium.org
015f963e8f
Lower NumberMultiply, NumberDivide, and NumberModulus to Int32Mul, Int32[U]Div, and Int32[U]Mod when possible in simplified-lowering.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/620553008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 10:53:46 +00:00
jochen@chromium.org
e1fe5da318
CcTest::isolate_used_ is used from multiple threads, make it atomic
...
BUG=none
R=svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/637263003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 09:34:40 +00:00
titzer@chromium.org
42365d429c
The empty husk of a JSFunction is useful to us.
...
We hollow out the rotting core and with evil intent repurpose its dry carcass to empower ourselves; with such a shell we can test.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/637873002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 09:23:33 +00:00
jochen@chromium.org
c5c02d3bd4
Fix race in debugger threads in cctest/test-debug
...
BUG=none
R=svenpanne@chromium.org , ishell@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/637283002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 08:56:57 +00:00
jochen@chromium.org
73733bb3eb
Fix data races and leaks related to v8::Lockers
...
BUG=v8:3618
R=ishell@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/637263002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 08:17:04 +00:00
jochen@chromium.org
d78fab455a
Fix data race in cctest/test-api/RegExpInterruption
...
BUG=v8:3615
R=yangguo@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/634523003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 07:41:28 +00:00
weiliang.lin@intel.com
5c0bd0cb00
X87: [turbofan] support all shift operands on ia32
...
port r24387.
original commit message:
[turbofan] support all shift operands on ia32
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/637193002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-08 06:13:22 +00:00
jochen@chromium.org
5a6f37c77e
Fix compilation on win64
...
TBR=bmeurer@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/613093004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 16:00:44 +00:00
bmeurer@chromium.org
a17289f4bc
[turbofan] Drop broken StaticParameterTraits.
...
The StaticParameterTraits are broken by design, and cause way too much
trouble. The compilers usually pick the wrong specialization (i.e. the
default specialization is picked for Load and Phi even tho there is a
specialization for MachineType), which is not only the reason why GVN is
ineffective and slow, but can also lead to correctness issues in some
rare cases.
Also clean up some minor bugs/inconsistencies on the way.
TEST=cctest,unittests
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/636893002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 13:30:28 +00:00
titzer@chromium.org
fabb14e87f
Fix bugs in lowering NumberToInt32.
...
The backward propagation was different in the lowering phase versus the propagation phase, leading to some missing truncations.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/638533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 12:18:39 +00:00
yangguo@chromium.org
ec871585fc
Add stack trace to the promise reject callback.
...
R=aandrey@chromium.org
BUG=chromium:393913
LOG=N
Review URL: https://codereview.chromium.org/630373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-07 12:03:55 +00:00
titzer@chromium.org
f98b7ecd4b
Remove extraneous line from CompareWrapper test
...
On platforms without TurboFan (PowerPC) the CompareWrapper test was
failing. It appears the line
RawMachineAssemblerTester<int32_t> m;
was causing the issue, and does not appear to be required for the
test to operate correctly. Removing it resolves the crash on non
TurboFan platforms
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/618043002
Patch from Andrew Low <andrew_low@ca.ibm.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 16:26:25 +00:00
erikcorry@chromium.org
d0dc7fc4da
Reland: Add a use counter for Intl.v8BreakIterator
...
This relands https://codereview.chromium.org/619913002/
The test has been fixed to do a GC so it does not appear to leak in
ASAN. In addition the test has been fixed to work in the no-i18n
build, by incorporating the change from https://codereview.chromium.org/631743002/
R=ishell@chromium.org
BUG=
Review URL: https://codereview.chromium.org/628223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 15:50:40 +00:00
erikcorry@chromium.org
33da50f2ea
Revert Add a use counter for Intl.v8BreakIterator https://codereview.chromium.org/619913002/
...
This is due to breakage on the ASAN memory leak bot, possibly due to
pre-existing leaks in v8BreakIterator().
R=ishell@chromium.org
BUG=
Review URL: https://codereview.chromium.org/636493004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 11:14:50 +00:00
svenpanne@chromium.org
560659e321
Test C++11 features on *all* platforms.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/630773002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-06 08:53:48 +00:00
erikcorry@chromium.org
43257b61ae
Add a use counter for Intl.v8BreakIterator
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/619913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-03 10:29:12 +00:00
paul.lind@imgtec.com
f9b39f29fb
MIPS: Add turbofan support for mips32.
...
BUG=
R=bmeurer@chromium.org , dusan.milosavljevic@imgtec.com
Review URL: https://codereview.chromium.org/601723002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 15:48:48 +00:00
dcarney@chromium.org
c9c4b931f0
fix imul(reg, op, imm) emission on x64
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/619903005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 12:22:36 +00:00
yurys@chromium.org
08c40baa1f
Revert of Extend CPU profiler with mapping ticks to source lines (patchset #3 id:40001 of https://codereview.chromium.org/616963005/ )
...
Reason for revert:
It broke layout test fast/events/window-onerror-02.html, error column reported by window.onerror is now wrong (I believe it is because of the change in full-codegen):
http://build.chromium.org/p/client.v8/builders/V8-Blink%20Linux%2064%20%28dbg%29/builds/652
Original issue's description:
> Extend CPU profiler with mapping ticks to source lines
>
> The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers.
> During generation code and relocation info are generated simultaneously.
> When code generation is done you each code object has associated "relocation info".
> Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection),
> correspondences between the machine program counter and source locations for stack walking.
>
> This patch:
> 1. Add more source positions info in reloc info to make it suitable for source level mapping.
> The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and
> (2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other).
> I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark).
>
> 2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line.
> If a source line is found that hit counter is increased by one for this line.
>
> 3. Add a new public V8 API to get the hit source lines by CDT CPU profiler.
> Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown.
>
> 4.Add a test that checks how the samples are distributed through source lines.
> It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version.
>
> Patch from Denis Pravdin <denis.pravdin@intel.com>
> BUG=None
> LOG=Y
> R=svenpanne@chromium.org
>
> Committed: https://code.google.com/p/v8/source/detail?r=24389
TBR=svenpanne@chromium.org ,danno@chromium.org,alph@chromium.org,denis.pravdin@intel.com,weiliang.lin@intel.com
BUG=None
LOG=N
Review URL: https://codereview.chromium.org/624443005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 11:58:21 +00:00
yangguo@chromium.org
a2099f5292
Serialize all external strings except for native source code strings.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/604373008
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 09:39:13 +00:00
yurys@chromium.org
6482fb3ee4
Extend CPU profiler with mapping ticks to source lines
...
The idea behind of this solution is to use the existing "relocation info" instead of consumption the CodeLinePosition events emitted by the V8 compilers.
During generation code and relocation info are generated simultaneously.
When code generation is done you each code object has associated "relocation info".
Relocation information lets V8 to mark interesting places in the generated code: the pointers that might need to be relocated (after garbage collection),
correspondences between the machine program counter and source locations for stack walking.
This patch:
1. Add more source positions info in reloc info to make it suitable for source level mapping.
The amount of data should not be increased dramatically because (1) V8 already marks interesting places in the generated code and
(2) V8 does not write redundant information (it writes a pair (pc_offset, pos) only if pos is changed and skips other).
I measured it on Octane benchmark - for unoptimized code the number of source positions may achieve 2x ('lin_solve' from NavierStokes benchmark).
2. When a sample happens, CPU profiler finds a code object by pc, then use its reloc info to match the sample to a source line.
If a source line is found that hit counter is increased by one for this line.
3. Add a new public V8 API to get the hit source lines by CDT CPU profiler.
Note that it's expected a minor patch in Blink to pack the source level info in JSON to be shown.
4.Add a test that checks how the samples are distributed through source lines.
It tests two cases: (1) relocation info created during code generation and (2) relocation info associated with precompiled function's version.
Patch from Denis Pravdin <denis.pravdin@intel.com>
BUG=None
LOG=Y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/616963005
Patch from Denis Pravdin <denis.pravdin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24389 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 09:20:37 +00:00
dcarney@chromium.org
944858e7d5
[turbofan] support all shift operands on x64
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/615223005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 09:08:09 +00:00
dcarney@chromium.org
e9fcaa4be9
[turbofan] support all shift operands on ia32
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/619663002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 09:04:04 +00:00
yangguo@chromium.org
4f7874e33e
Fix name clashes in cctests.
...
R=marja@chromium.org
Review URL: https://codereview.chromium.org/617123006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 08:18:03 +00:00
yangguo@chromium.org
43ddad10b3
Handle external strings in the code serializer.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/623453003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24378 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 07:12:46 +00:00
yangguo@chromium.org
321dad9b8e
Introduce v8::Object::GetIsolate().
...
API=v8::Object::GetIsolate()
LOG=Y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/617263003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24376 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-02 06:52:39 +00:00
dusan.milosavljevic@imgtec.com
2b6280a13b
MIPS64: Fix ConvertDToI test.
...
TEST=cctest/test-code-stubs-mips64/ConvertDToI
BUG=
R=paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/616853004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 16:25:01 +00:00
rodolph.perfetta@arm.com
9d3eda079e
[turbofan] re-enable some tests for arm64.
...
Those tests were disabled because of an issue in TruncateDoubleToI which has
been fixed since.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/605253002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 15:47:40 +00:00
mstarzinger@chromium.org
3bc3df9a27
Implement inlined stack-check guards in TurboFan.
...
R=bmeurer@chromium.org
TEST=cctest/test-run-stackcheck/TerminateAtMethodEntry
Review URL: https://codereview.chromium.org/621833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 14:03:02 +00:00
jochen@chromium.org
f143e2e024
Fix test-spaces on win64
...
TBR=bmeurer@chromium.org
LOG=n
BUG=none
Review URL: https://codereview.chromium.org/615423002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 11:54:47 +00:00
bmeurer@chromium.org
b9afcdcefb
[turbofan] Add control input to Load and LoadElements.
...
Also remove the now obsolete ControlEffect operator.
TEST=cctest,mjsunit,unittests
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/620803003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24359 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 11:08:37 +00:00
dcarney@chromium.org
b3d426889d
[turbofan] intel lea add multiply matchers
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/614013002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 10:47:14 +00:00
titzer@chromium.org
c1d79db81b
Rename Int32{UMod,UDiv} to Uint32{Div,Mod} and Int64{UMod,UDiv} to Uint64{Div,Mod}.
...
R=bmeurer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/620773003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 10:39:11 +00:00
bmeurer@chromium.org
67383fe700
[turbofan] Add BoundsCheckMode to ElementAccess.
...
This is currently only used for StoreElement. LoadElement will be
updated to make use of that in a follow-up CL (depends on additional
control input for loads first).
TEST=cctest,mjsunit
R=jarin@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/617853002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-01 07:42:54 +00:00
yangguo@chromium.org
e68e62c891
Introduce PromiseRejectCallback.
...
R=aandrey@chromium.org , yurys@chromium.org , rossberg@chromium.org
API=v8::Isolate::SetPromiseRejectCallback, v8::Promise::HasHandler
LOG=Y
BUG=v8:3093
Review URL: https://codereview.chromium.org/600723005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 15:29:08 +00:00
bmeurer@chromium.org
900df59f41
Correct fix this time.
...
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/619613003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:56:25 +00:00
bmeurer@chromium.org
d721ea6b9d
Fix windows build after r24322.
...
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/617803002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24324 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:55:02 +00:00
bmeurer@chromium.org
c1ee6247ca
[turbofan] Some javascript operators are globally shared singletons.
...
Also cleanup the interface, and make the parameter class/accessors
explicit to work-around the type-unsafety of OpParameter<T>.
TEST=compiler-unittests,cctest,mjsunit
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/613683002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:42:44 +00:00
bmeurer@chromium.org
3eebdc3264
Replace OStream with std::ostream.
...
Review URL: https://codereview.chromium.org/618643002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:29:32 +00:00
dcarney@chromium.org
49ffb141d9
[turbofan] IA: Uint32ToFloat64 supports mem operand.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/583963002
Patch from Jing Bao <jing.bao@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 10:24:11 +00:00
jarin@chromium.org
6a07181cde
Refactor BasicBlock to not use GenericNode.
...
To manage BasicBlock's predecessors and successors we now use plain
std::vector.
The change also moves bunch of method definitions from header files
to implementation files.
In zlib, the change brings 3x improvement in the scheduler's memory
consumption. The --turbo-stats flag says we go 169MB -> 55MB in
the scheduler, 383MB -> 268MB overall.
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/606403003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-30 08:23:20 +00:00
arv@chromium.org
a36dee4d14
ES6: Implement object literal property shorthand
...
This allows the following:
var x = 1;
var o = {x};
This is under the --harmony-object-literals flag.
BUG=v8:3584
LOG=y
R=marja@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/584993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24291 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 14:15:48 +00:00
jarin@chromium.org
5b742b356d
Adding more missing deoptimization points in Turbofan.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/595863002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24289 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 13:37:58 +00:00
alph@chromium.org
24d1ef4868
Initial implementation of GetStackSample sampling profiler API.
...
The patch is based on https://codereview.chromium.org/578163002/#ps20001
made by gholap@chromium.org
LOG=N
BUG=v8:3490
R=bmeurer@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/596533002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 12:59:54 +00:00
mstarzinger@chromium.org
b2aaac9404
Drop deprecated method for backing store from AccessBuilder.
...
R=bmeurer@chromium.org
TEST=cctest/test-simplified-lowering/RunLoadStoreArrayBuffer
Review URL: https://codereview.chromium.org/614703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 11:35:01 +00:00
dcarney@chromium.org
058f24d0ce
add missing inl includes
...
TBR=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/612813002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24279 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:34:21 +00:00
aandrey@chromium.org
4b072d16f2
Add IsGeneratorFunction and IsGeneratorObject checks to v8::Value.
...
R=ulan@chromium.org , yangguo@chromium.org , wingo, yangguo
Review URL: https://codereview.chromium.org/608503002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 10:22:56 +00:00
dslomov@chromium.org
6312804eb3
Access checks test for stores to 'super'.
...
R=dcarney@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/609273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:47:04 +00:00
Jacob.Bramley@arm.com
89ee8ec1b1
[turbofan] add some simplifications in the machine operator reducer
...
Simplify the '+', '-' and '%' operators with some basic constants (0, 1 or NaN).
R=titzer@chromium.org , bmeurer@chromium.org , titzer@google.com
BUG=
Review URL: https://codereview.chromium.org/599383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 08:30:17 +00:00
dcarney@chromium.org
0ae4c7d6b6
build fix - add missing inl include
...
TBR=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/608203002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:48:05 +00:00
dcarney@chromium.org
5d0e9a2496
[turbofan] basic block profiler
...
R=titzer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/593563005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-29 07:29:14 +00:00
marja@chromium.org
cc2c6e6339
Script streaming: fix split UTF-8 character handling.
...
Invalid UTF-8 data can contain too many characters which look like they're part
of a multi-byte character, and that was overflowing a buffer.
BUG=chromium:417891
LOG=n
.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/607043002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 11:17:31 +00:00
loislo@chromium.org
b9583b5f98
String::NewExternal should not crash the renderer.
...
The blink may pass a very long string to v8
for making a handle to it. v8 has max string length
limit and creates exception. But NewExternal code does not
check that the handle is null and crashes the renderer.
With the fix the js code receives the exception.
BUG=414615
LOG=N
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/603393004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 11:14:09 +00:00
bmeurer@chromium.org
8ff496edfb
[turbofan] Drop obsolete test after r24236.
...
This was missing from the previous commit.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/602193005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-26 06:52:23 +00:00
bmeurer@chromium.org
432b1768e1
[turbofan] Add backend support for Float32Constant.
...
TEST=cctest,compiler-unittests,mjsunit
BUG=v8:3589
LOG=n
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/600383002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:56:02 +00:00
dcarney@chromium.org
2f77113b50
convert disassembler to use OStream
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/598703003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:33:24 +00:00
neis@chromium.org
bead5f6bb6
Add some tests about range types.
...
Add missing tests for context types.
Rearrange some other tests.
Make printing of constant types more useful.
Give counter-examples for properties that no longer hold.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/602613002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:31:23 +00:00
neis@chromium.org
3f76918c71
Make type fuzzer return non-standard bitsets too.
...
(Also speed up some types tests a little.)
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/602553002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 08:03:26 +00:00
yangguo@chromium.org
1257f35c21
Support large objects in the serializer/deserializer.
...
R=hpayer@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/581223004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:32:13 +00:00
yangguo@chromium.org
2a67e48f0e
Move i18n-related runtime functions into a separate file.
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/597943003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 07:16:15 +00:00
bmeurer@chromium.org
0e2ae4b782
[x64] three operand imul supports first operand in memory location
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/596643003
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 06:37:23 +00:00
bmeurer@chromium.org
17a01814d6
Fix windows build after r24191.
...
TBR=titzer@chromium.org
Review URL: https://codereview.chromium.org/604693002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-25 05:17:38 +00:00
titzer@chromium.org
219cae86b9
Add tests for representation change of constants.
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/602713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 16:04:05 +00:00
titzer@chromium.org
9fb5f564a9
Add support for Float32 representation changes.
...
R=bmeurer@chromium.org
BUG=v8:3589
LOG=n
Review URL: https://codereview.chromium.org/598963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 11:55:07 +00:00
bmeurer@chromium.org
50c466e883
[turbofan] Add backend support for float32.
...
LOG=n
BUG=v8:3589
TEST=compiler-unittests,cctest
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/596703004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 11:08:35 +00:00
bmeurer@chromium.org
aeae854827
Fix windows build.
...
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/598943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 09:32:28 +00:00
bmeurer@chromium.org
deaf463bf1
[turbofan] Add length operand to LoadElement and StoreElement.
...
This is preliminary work, required to properly support bounds checking for typed array loads/stores.
TEST=compiler-unittests,cctest
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/602563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 09:28:56 +00:00
neis@chromium.org
6fd04d829e
Redesign of the internal type system.
...
Besides addressing a fundamental flaw, this significantly simplifies
several aspects of the system. The downside is a loss of precision
and a loss of algebraic properties.
Range types are now fully implemented.
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/558193003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-24 07:33:51 +00:00
mstarzinger@chromium.org
e4da4dbf23
Move test for reduction of Math.max to unittest.
...
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathMax
Review URL: https://codereview.chromium.org/598523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:40:00 +00:00
mstarzinger@chromium.org
5304f5e719
Move test for reduction of Math.imul to unittest.
...
R=bmeurer@chromium.org
TEST=compiler-unittests/JSBuiltinReducerTest.MathImul
Review URL: https://codereview.chromium.org/591373003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 11:26:49 +00:00
mstarzinger@chromium.org
0a4e98ba43
Extend JSBuiltinReducer to cover Math.max as well.
...
R=svenpanne@chromium.org
TEST=cctest/test-js-typed-lowering/BuiltinMathMax
Review URL: https://codereview.chromium.org/590993003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-23 08:16:54 +00:00
dcarney@chromium.org
1adad89746
[turbofan] don't call out to c
...
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/587273002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 13:56:03 +00:00
aandrey@chromium.org
6ca218cf07
Fix DebugEvaluate on properties defined on Object.prototype
...
BUG=415499
R=yangguo
LOG=N
Review URL: https://codereview.chromium.org/592033002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-22 12:45:47 +00:00
weiliang.lin@intel.com
45a7148678
X87: enable the crankshaft compiler for X87 port.
...
BUG=
R=weiliang.lin@intel.com
Review URL: https://codereview.chromium.org/579713002
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-20 05:08:58 +00:00
mstarzinger@chromium.org
7765a5fd88
Add JSBuiltinReducer for inlining well-known builtins.
...
R=titzer@chromium.org
TEST=cctest/test-js-typed-lowering/BuiltinMathImul
Review URL: https://codereview.chromium.org/584573003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 15:02:58 +00:00
verwaest@chromium.org
40bbeef0ee
Make Map::Create always use the Object function, and remove the unused inobject properties
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/584943002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 14:59:14 +00:00
titzer@chromium.org
2af8a21b93
Fix build.
...
TBR=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/591453002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 14:40:08 +00:00
titzer@chromium.org
8892385565
[turbofan] IA: Float64ToUint32 supports mem operand
...
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/582713002
Patch from Weiliang Lin <weiliang.lin@intel.com>.
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 14:25:13 +00:00
verwaest@chromium.org
2d3b7f20b1
Fix test: manually call GC since 0 allocations will not cause GC
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/587663003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 14:19:26 +00:00
dslomov@chromium.org
e36aacdee2
Implement loads and calls from 'super'
...
R=verwaest@chromium.org , arv@chromium.org
BUG=v8:3330
LOG=N
Review URL: https://codereview.chromium.org/527963002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 11:08:04 +00:00
titzer@chromium.org
9253510f5e
Fix windows warning.
...
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/583123003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 10:52:19 +00:00
titzer@chromium.org
b35db9c63b
Fix float truncations in typed array tests.
...
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/577163003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 10:45:04 +00:00
titzer@chromium.org
43627e7ea8
Hack representation inference to assume current behavior of float32 loads and stores, which include implicit representation changes.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/576973003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:56:12 +00:00
erik.corry@gmail.com
f1e82cc169
The --optimize-for-size flag should imply a small semi-space
...
R=hpayer@chromium.org , mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/585523002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 09:15:47 +00:00
jochen@chromium.org
a66600f09e
Fix leak in cctest/test-heap/ReleaseStackTraceData
...
TBR=svenpanne@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/585843002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 08:25:56 +00:00
jochen@chromium.org
6a14d7d50f
Reland 24052 - Require V8 to be explicitly initialized before an Isolate is created
...
> We also initialize the Isolate on creation.
>
> This should allow for getting rid of the last remaining default isolate
> traces. Also, it'll speed up several isolate related operations that no
> longer require locks.
>
> Embedders that relied on v8::Isolate to return an uninitialized Isolate
> (so they can set ResourceConstraints for example, or set flags that
> modify the way the isolate is created) should either do the setup before
> creating the isolate, or use the recently added CreateParams to pass e.g.
> ResourceConstraints.
>
> BUG=none
> LOG=y
> R=svenpanne@chromium.org
>
> Review URL: https://codereview.chromium.org/469783002
BUG=none
LOG=y
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/583153002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 08:01:35 +00:00
erik.corry@gmail.com
35eec7c7ca
Reland sticky regexps https://codereview.chromium.org/567313003/
...
R=svenpanne@chromium.org , yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/580383003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-19 07:36:05 +00:00
jochen@chromium.org
525ed1130e
Revert "Require V8 to be explicitly initialized before an Isolate is created"
...
LOG=n
TBR=svenpanne@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/582953002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:57:10 +00:00
jochen@chromium.org
27f3cc1b9c
Require V8 to be explicitly initialized before an Isolate is created
...
We also initialize the Isolate on creation.
This should allow for getting rid of the last remaining default isolate
traces. Also, it'll speed up several isolate related operations that no
longer require locks.
Embedders that relied on v8::Isolate to return an uninitialized Isolate
(so they can set ResourceConstraints for example, or set flags that
modify the way the isolate is created) should either do the setup before
creating the isolate, or use the recently added CreateParams to pass e.g.
ResourceConstraints.
BUG=none
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/469783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 21:07:50 +00:00
paul.lind@imgtec.com
04a22c14d7
Update cctest OWNERS file for mips committers.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/576613003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:33:24 +00:00
verwaest@chromium.org
c5a3850b8f
Revert "filter cross context eval"
...
(Reverts https://codereview.chromium.org/294073002/ )
BUG=chromium:415051
LOG=y
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/582093002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:25:25 +00:00
arv@chromium.org
714f5f401c
ES6: Implement generator method shorthand
...
https://people.mozilla.org/~jorendorff/es6-draft.html#sec-method-definitions
BUG=v8:3516
LOG=Y
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/577973002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 17:14:13 +00:00
rossberg@chromium.org
cc960f8034
Revert "RegExp: Add support for the ES6-proposed sticky flag"
...
Causes a flaky failure on buildbots. Here is the (deterministic) repro step (thanks to Michael Stanton):
first go to flag-definitions.h and set this to false.
DEFINE_BOOL(enable_sse4_1, false,
"enable use of SSE4.1 instructions if available")
Run the following and it should fail:
tools/run-tests.py --arch=ia32 --mode=release cctest/test-api/Regress2107
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/580123002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 14:53:00 +00:00
hpayer@chromium.org
1373784d83
Capacity returns allocatable memory and TotalCapacity returns allocatable plus non-allocatable memory for the new space.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/577223002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24040 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:52:12 +00:00
mvstanton@chromium.org
200095c3e7
Move state sentinels into TypeFeedbackVector.
...
These sentinels were in the wrong place, living in only tangentially related class TypeFeedbackInfo, but they codify state in the TypeFeedbackVector.
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/579153003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 12:31:31 +00:00
erik.corry@gmail.com
63b1c1900d
RegExp: Add support for the ES6-proposed sticky flag
...
R=yangguo@chromium.org , rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/567313003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 11:32:39 +00:00
mstarzinger@chromium.org
4413d318a6
Unify use-sites of EnsureDeoptimizationSupport.
...
R=sigurds@chromium.org
Review URL: https://codereview.chromium.org/563123004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 09:02:36 +00:00
sigurds@chromium.org
68075b0a05
Reland "Add handling for argument adaptor frames to inlining."
...
Original: https://codereview.chromium.org/573703002/
Reland Fixes:
- Add deopt framestate to CollectStackTrace runtime call
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/544953006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-18 08:56:52 +00:00
dusan.milosavljevic@imgtec.com
febc3fa415
MIPS64: Fix move operations from coprocessor in simulator.
...
This resolves calculation errors for trigonometric functions.
TEST=test262/S15.8.2.7_A6.js
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/558163006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 16:21:22 +00:00
titzer@chromium.org
f6807d7897
Rename Runtime_CompileUnoptimized to Runtime_CompileLazy, because that is what it does. Split Compiler::GetUnoptimizedCode into two variants, one for lazy compilation (which can return optimized code!) and the other that actually returns unoptimized code.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/547293004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24012 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 15:29:42 +00:00
sigurds@chromium.org
b8dd74779c
Revert "Add handling for argument adaptor frames to inlining."
...
This reverts commit r24008.
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/581673002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 15:00:57 +00:00
mstarzinger@chromium.org
79e095c8d0
Introduce simplified BooleanToNumber operator.
...
R=titzer@chromium.org
TEST=cctest/test-simplified-lowering/LowerBooleanToNumber
Review URL: https://codereview.chromium.org/579723004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:47:25 +00:00
sigurds@chromium.org
887b77aa83
Add handling for argument adaptor frames to inlining.
...
- Lazy deopt from inlined calls
- Lazy deopt from inlined calls with parameter mismatch
R=jarin@chromium.org , mstarzinger@chromium.org , mstarzinger@chromium
Review URL: https://codereview.chromium.org/573703002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:41:30 +00:00
sigurds@chromium.org
4ef5915741
This is a reland of issue 563813002:
...
https://codereview.chromium.org/575473002/
This time with additional include headers and MSVC specific guards. Previously, only V8 Win32 - nosnap - shared failed:
http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/2916
R=marja@chromium.org
Review URL: https://codereview.chromium.org/576733002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 14:20:20 +00:00
titzer@chromium.org
cbf66711af
Minor compiler pipeline refactoring. Inline UpdateSharedFunctionInfo and make Parser::Parse responsible for setting the strict mode of the CompilationInfo.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/555553003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:34:46 +00:00
weiliang.lin@intel.com
8a4e0680ab
X87: turn on some tests of test-serialize
...
They were disabled by r21661. We turn on it because x87 snapshot can work now.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/568833003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-17 12:03:59 +00:00
arv@chromium.org
7efd2eb144
Class syntax parsing
...
This implements parsing for ClassExpression and ClassDeclaration.
The runtime is not yet implemented and the value is currently
hard coded to undefined.
BUG=v8:3330
LOG=Y
R=dslomov@chromium.org , marja@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/561913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 22:15:39 +00:00
akos.palfi@imgtec.com
8c56583573
MIPS64: Fixed int vs. uintptr_t confusion (plus some cleanup on the way).
...
Port r23966 (a498d5e3)
BUG=
R=jkummerow@chromium.org , paul.lind@imgtec.com
Review URL: https://codereview.chromium.org/570563006
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 20:16:11 +00:00
mstarzinger@chromium.org
2c04afb9ce
Avoid usage of temporary MachineOperatorBuilder.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/562203004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 16:20:10 +00:00
rossberg@chromium.org
5d520f9ed1
Re-reland "Use unsigned type bitsets to limit undefined behaviour"
...
Change: make bitset uint32_t, to avoid weird sign extension bugs on Win64.
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/577563002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:58:43 +00:00
hpayer@chromium.org
c54b0bc717
Use the regular start incremental marking strategy in the idle notification.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/568023002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:48:59 +00:00
wingo@igalia.com
a76fe0a2cf
Enable ES6 generators
...
R=rossberg@chromium.org
BUG=v8:2355
LOG=Y
Review URL: https://codereview.chromium.org/573963003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:30:39 +00:00
mstarzinger@chromium.org
d20bd6dac1
Adapt some typed lowering unit tests after r23972.
...
R=rossberg@chromium.org
TEST=cctest/test-js-typed-lowering
Review URL: https://codereview.chromium.org/574713002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 12:17:40 +00:00
Jacob.Bramley@arm.com
647e6cf2ac
ARM64: Remove the unused 'SmiAbs'.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/572903003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 10:42:09 +00:00
svenpanne@chromium.org
bd25cbe359
Fixed int vs. uintptr_t confusion (plus some cleanup on the way).
...
BUG=v8:3556
LOG=y
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/567573004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 09:23:27 +00:00
jochen@chromium.org
069a9c75ad
Move configuration of ResourceConstraints to Isolate construction
...
We can only set resource constraints before the isolate is initialized.
Since in the future, we want to initialize isolates at construction
time, we need to set constraints there.
It's possible to later modify the stack limit, so introduce an
Isolate::SetStackLimit method for that.
The SetResourceConstraints method will be deprecated. Users should pass
ResourceConstraints to Isolate::New, and use Isolate::SetStackLimit to
later modify the stack limit.
BUG=none
R=svenpanne@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/559993005
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 09:15:02 +00:00
jochen@chromium.org
426ec84861
Revert r23962 "Configure d8 & cctest to suppress Windows error dialogs."
...
Breaks compilation on Windows
TBR=sigurds@chromium.org
BUG=none
LOG=n
Review URL: https://codereview.chromium.org/572873004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 09:14:11 +00:00
sigurds@chromium.org
d9838be973
Configure d8 & cctest to suppress Windows error dialogs.
...
R=machenbach@chromium.org
Review URL: https://codereview.chromium.org/575473002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 08:57:59 +00:00
mstarzinger@chromium.org
d313551a3e
Disable lowering to StringAdd due to various issues.
...
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/566303003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-16 08:29:46 +00:00
rossberg@chromium.org
2dbd871eb1
Re-revert "Use unsigned type bitsets to limit undefined behaviour"
...
...and the various debug CLs.
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/564413004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 15:49:24 +00:00
mstarzinger@chromium.org
de71f7bd16
Exact black-list of AST nodes for TurboFan.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/564203003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 15:06:05 +00:00
rossberg@chromium.org
06e826493a
Moar prints
...
TBR=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/567363002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 11:19:20 +00:00
jochen@chromium.org
65a1857824
Currently, a new isolate is created in an uninitialized state, and
...
several API methods will automatically initialize it. During this
uninitialized state, code event handlers and function entry handlers can
be attached to the isolate.
This CL deprecates SetFunctionEntryHook and moves the configuration of
those handlers to the Isolate factory method.
This will allow for initializing the Isolate at creation time in the
future.
Users of V8::SetFunctionEntryHook should pass the entry hook to
Isolate::New instead. V8::SetJitCodeEventHandler should either be passed
to Isolate::New as well, or (if startup events are not required) invoked
via the Isolate.
BUG=none
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/570993002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 11:17:00 +00:00
rossberg@chromium.org
86d537e589
moar printf
...
TBR=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/571913002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23937 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 10:50:37 +00:00
rossberg@chromium.org
21e0e00ae7
Reland "Use unsigned type bitsets to limit undefined behaviour"
...
Temporary debug attempt; adds output to failing test in test-types.cc, otherwise unchanged.
Windows f
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/567333002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 09:40:23 +00:00
jarin@chromium.org
00e90b7e6e
Remove deoptimization by patching the call stack.
...
We go back to patching the code for lazy deoptimization because ICs need the on-stack return address to read/update the IC address/state.
The change also fixes bunch of tests, mostly by adding more deoptimization points.
(We still need to add code to ensure lazy deopt patching does not overwrite ICs and other lazy deopts; this is coming next.)
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/568783002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 09:21:39 +00:00
rossberg@chromium.org
be33a79d21
Fixpoint typing has to consider all imprecise nodes
...
R=jarin@chromium.org
BUG=
Review URL: https://codereview.chromium.org/568743003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-15 09:03:59 +00:00
ulan@chromium.org
c44a69d985
Revert r23916, r23917 for breaking 64-bit tests.
...
"Use unsigned type bitsets to limit undefined behaviour".
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/563283003
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 16:13:05 +00:00
rossberg@chromium.org
c90c951b6c
Fix tests
...
TBR=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/565173002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 13:36:08 +00:00
bmeurer@chromium.org
578aeb0b0c
[turbofan] Some common operators are globally shared singletons.
...
TEST=compiler-unittests,cctest
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/565753004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 11:59:26 +00:00
sigurds@chromium.org
4ec63ff97e
Reland
...
- "Switch inlining to use simplified instead of machine loads."
- "Add copy support in inliner."
Reland fixes:
- size_t conversion for 64bit arches
- Don't call front() on empty vector
(triggers assertion on windows)
- turbo_inlining now implies turbo_types, as
it requires simplified lowering.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/559843004
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 11:06:37 +00:00
yangguo@chromium.org
d6c7c3f875
Simplify test-debug/ProcessDebugMessagesThreaded and add debug output.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/567933002
git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@23909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-09-12 10:47:32 +00:00