mvstanton@chromium.org
11df4b8815
Fix for issue 351261.
...
This relands the following fix: "HAllocate should never generate
allocation code if the requested size does not fit into page. Regression
test included. (bug 347543)" along with additional fixes to KeyedStoreIC.
BUG=351261
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/200113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:22:55 +00:00
marja@chromium.org
6923d84785
New Compilation API, part 1, try 2
...
- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).
This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.
Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)
This is a fixed version of https://codereview.chromium.org/186723005/
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/199063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:20:33 +00:00
svenpanne@chromium.org
452d15d997
Fixed modulo by a power of 2 on A64.
...
Actually setting flags before checking them might be a good idea... :-/
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/200113003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:18:57 +00:00
ulan@chromium.org
2c99cba38b
Propagate updated offsets in BoundsCheckBbData.
...
BUG=350863
LOG=Y
TEST=mjsunit/regress/regress-350863.js
R=bmeurer@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/197823009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 10:02:25 +00:00
bmeurer@chromium.org
358e176d50
Add regression test for range analysis bug.
...
BUG=v8:3204
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/200103002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:54:26 +00:00
marja@chromium.org
ee46e648ec
Move ParseYieldExpression to ParserBase.
...
R=mstarzinger@chromium.org
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/197353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:51:22 +00:00
marja@chromium.org
a89f68c6cd
Move ParseAssignmentExpression to ParserBase.
...
R=mstarzinger@chromium.org , mstarzinger
BUG=v8:3126
LOG=N
Committed: https://code.google.com/p/v8/source/detail?r=19908
Review URL: https://codereview.chromium.org/197653002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:43:04 +00:00
mvstanton@chromium.org
dd28969c1c
Continued fix for 351257. Reusing the feedback vector is too complex.
...
Attempting to re-use the type feedback vector stored in the
SharedFunctionInfo turns out to be difficult among the various cases.
It will be much easier to do this when deferred type feedback processing
is removed, as is in the works.
Created bug v8:3212 to track re-introducing the optimization of reusing
the type vector on recompile before optimization.
The CL also brings back the type vector on the SharedFunctionInfo.
BUG=351257
LOG=Y
R=bmeurer@chromium.org , bmeuer@chromium.org
Review URL: https://codereview.chromium.org/199973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:28:37 +00:00
yurys@chromium.org
0a61b7c996
StopCpuProfiling should return non-const CpuProfile
...
StopCpuProfiling is replaced with StopProfiling which returns non-const CpuProfile which allows to call CpuProfile::Delete on it without const_cast. Also replaced StartCpuProfiling with StartProfiling to have symmetric names for start/stop actions.
BUG=v8:3213
LOG=Y
R=alph@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/197873015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 09:26:31 +00:00
jochen@chromium.org
a992481b9e
Allow for compiling with xcode 5.1 (which doesn't have gcc anymore)
...
BUG=none
R=jkummerow@chromium.org , machenbach@chromium.org
LOG=y
Review URL: https://codereview.chromium.org/196983006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 07:47:08 +00:00
machenbach@chromium.org
4efa199fc0
Prepare push to trunk. Now working on version 3.25.12.
...
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/199413005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 03:04:37 +00:00
machenbach@chromium.org
d78e9555b3
Prepare push to trunk. Now working on version 3.25.11.
...
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/196223010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19913 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-14 01:04:45 +00:00
plind44@gmail.com
7173d8830f
MIPS: Turn StringLengthStub (used by string wrappers only) into a hydrogen stub.
...
Port r19889 (8fa27bb)
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/197463009
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19912 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 18:08:36 +00:00
hpayer@chromium.org
7b810f4593
Revert "Moved type feedback vector to SharedFunctionInfo."
...
This reverts commit 828f1d563a3f0972135886888fd26526e04da07f.
Conflicts:
src/compiler.cc
test/cctest/test-compiler.cc
BUG=
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/196283015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 17:47:12 +00:00
plind44@gmail.com
e8939a5451
MIPS: Remove uses of CanBeNegative() in HMod.
...
Port r19878 (74a9002)
BUG=v8:3204
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/197463008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19910 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 17:38:40 +00:00
marja@chromium.org
7c66ec9319
Revert "Move ParseAssignmentExpression to ParserBase."
...
This reverts revision 19908.
Reason: clang doesn't like it.
BUG=
Review URL: https://codereview.chromium.org/199233003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 16:11:26 +00:00
marja@chromium.org
9cc39f5a66
Move ParseAssignmentExpression to ParserBase.
...
R=mstarzinger@chromium.org , mstarzinger
BUG=v8:3126
LOG=N
Review URL: https://codereview.chromium.org/197653002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 16:06:08 +00:00
marja@chromium.org
305b7a31ab
Fix test-parsing/TooManyArguments.
...
(Asan.)
R=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/199213002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:55:38 +00:00
m.m.capewell@googlemail.com
7539de4981
A64: Remove temporary sxtw instructions
...
BUG=v8:3149
LOG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/199183002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19906 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:53:08 +00:00
machenbach@chromium.org
f7fea5dd92
Revert "Maintain change log file directly on trunk branch in push-to-trunk." and related changes.
...
This reverts r19876, r19902 and r19903. The changes made git diff' in push-to-trunk unusable.
TBR=jarin@chromium.org
Review URL: https://codereview.chromium.org/197313005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19905 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:48:24 +00:00
plind44@gmail.com
d50a179b87
MIPS: Remove uses of RangeCanInclude() in flooring division by power of 2.
...
Port r19877 (17029d3)
Original commit message:
Drive-By-Fix: Improve ARM code generation for flooring division by
power of 2.
BUG=v8:3204
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/195893013
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19904 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:16:20 +00:00
machenbach@chromium.org
cfed3c94af
Prepare push to trunk. Now working on version 3.25.11.
...
R=dslomov@chromium.org
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/196383005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:14:28 +00:00
machenbach@chromium.org
fa4625c1a4
Maintain change log file directly on trunk branch in push-to-trunk.
...
This is another step for deprecating the change log file on bleeding edge.
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/196283014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19902 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:12:18 +00:00
ulan@chromium.org
81a5cfb0e0
Revert r19897, r19898 for breaking mac-64 debug.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/199203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 15:10:35 +00:00
baptiste.afsa@arm.com
89e36cbd18
A64: Relax the register constraints for LSeqStringGetChar.
...
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/197763006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:56:57 +00:00
plind44@gmail.com
16a4129e72
MIPS: Fix uses of range analysis results in HChange.
...
Port r19872 (6d8679b)
BUG=v8:3204
LOG=y
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/198973002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19899 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:56:25 +00:00
ulan@chromium.org
645392891f
Fix windows build after r19897.
...
TBR=dslomov@chromium.org
Review URL: https://codereview.chromium.org/199133002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:24:00 +00:00
ulan@chromium.org
2f26700885
Fix memory leak caused by treating Code::next_code_link as strong in marker.
...
BUG=
TEST=test/cctest/NextCodeLinkIsWeak
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/181833004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 14:09:18 +00:00
yangguo@chromium.org
0f71a24f3a
Correctly retain argument value when deopting from Math.round on x64.
...
R=jkummerow@chromium.org
BUG=351624
LOG=N
Review URL: https://codereview.chromium.org/199013002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 13:57:21 +00:00
m.m.capewell@googlemail.com
df529fb05f
A64: Implement and use FillFields
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/190763012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19895 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 13:18:48 +00:00
ulan@chromium.org
66c8130b8a
Simplify GetEnumPropertyKeys and avoid trimming fixed arrays in large object space.
...
BUG=352070
LOG=N
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/198943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 12:45:12 +00:00
mvstanton@chromium.org
f1e18135fa
Perf regression: changes in KeyedStoreIC introduced polymorphism.
...
When fixing bug 350884, I introduced an error that meant we went
polymorphic in KeyedStoreIC where we stayed monomorphic before. This
CL addresses the error, while preserving the bug fix for 350884.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/198793002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 12:17:43 +00:00
dcarney@chromium.org
869db33cbb
Only call to LogSymbol when needed.
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/198903002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 11:56:13 +00:00
yangguo@chromium.org
6f6356a248
Handlify PropertyAttribute lookups.
...
R=ishell@chromium.org
Review URL: https://codereview.chromium.org/197813004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19891 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 11:55:31 +00:00
ulan@chromium.org
c64b78f6da
Check that constant is an integer before getting its value in HGraphBuilder::MatchRotateRight.
...
BUG=351263
LOG=N
TEST=mjsunit/regress/regress-351263
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/197803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19890 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 11:50:50 +00:00
verwaest@chromium.org
c2af96ba7b
Turn StringLengthStub (used by string wrappers only) into a hydrogen stub.
...
BUG=
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/197603002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 10:57:07 +00:00
machenbach@chromium.org
717c4d3bb5
Add ASAN option to stand-alone gyp config.
...
BUG=
R=jkummerow@chromium.org , jochen@chromium.org
Review URL: https://codereview.chromium.org/196943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19888 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 10:36:55 +00:00
alexandre.rames@arm.com
66774e2dc5
A64: Remove an invalid assertion about the position of the reloc_info_writer.
...
Review URL: https://codereview.chromium.org/196413007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 10:28:53 +00:00
yangguo@chromium.org
4e390c64f1
Harmony: move math features to es-staging.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/195123002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:51:59 +00:00
jacob.bramley@arm.com
f6de983e4d
A64: Fix Fmov with signalling NaN literals.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/194753002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:45:02 +00:00
svenpanne@chromium.org
390d3a0b15
Make translation of modulus operation '--stress-opt'-proof.
...
Note that we unconditionally deopt later, anyway, but our compilation
pipeline has to survive long enough to reach that place. :-/
LOG=y
BUG=352059
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/198833002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:37:16 +00:00
dcarney@chromium.org
619d812a02
Convert scanner buffers to use standard character types.
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/198583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:15:14 +00:00
marja@chromium.org
ee6b885d25
Revert "New Compilation API, part 1"
...
This reverts revision 19881.
Reason: WebKit build failure (will commit a fixed version shortly).
BUG=
Review URL: https://codereview.chromium.org/196793013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 09:14:16 +00:00
marja@chromium.org
52c0098f0d
New Compilation API, part 1
...
- Distinguish between context bound scripts (Script) and context unbound scripts
(UnboundScript).
- Add ScriptCompiler (which will later contain functions for async compilation).
This is a breaking change, in particular, Script::New no longer exists (it is
replaced by ScriptCompiler::CompileUnbound). Script::Compile remains as a
backwards-compatible shorthand for ScriptCompiler::Compile.
Passing CompilerOptions with produce_data_to_cache = true doesn't do anything
yet; the only way to generate the data to cache is the old preparsing API. (To
be fixed in the next version.)
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/186723005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19881 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 08:54:11 +00:00
dcarney@chromium.org
750ab88341
move remaining uses of scanner literals into scanner
...
R=marja@chromium.org
BUG=
Review URL: https://codereview.chromium.org/198713002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 08:29:31 +00:00
bmeurer@chromium.org
4da15df008
Remove uses of CanBeNegative() in HMod.
...
BUG=v8:3204
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/195793016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 08:17:44 +00:00
bmeurer@chromium.org
929313bd6b
Remove uses of RangeCanInclude() in flooring division by power of 2.
...
Drive-By-Fix: Improve ARM code generation for flooring division by
power of 2.
BUG=v8:3204
LOG=y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/196653009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:58:58 +00:00
machenbach@chromium.org
078ecbb9c3
Add file exclusion to trunk patch creation in push-to-trunk.
...
This is another step towards getting rid of the bleeding edge change log file. Now it can be omitted in a follow up CL.
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/197023004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:57:07 +00:00
yurys@chromium.org
d7ec9ab061
Remove SnapshotFillerInterface
...
There used to be additional pass in the heap profiler that estimated memory required for the snapshot and it used special implementation of the interface. Now that we dropped that step it doesn't makes sense to keep the interface with single implementation.
BUG=None
LOG=N
R=loislo@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/194503002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19875 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:48:42 +00:00
jarin@chromium.org
713aa33f2a
Fix of argument materialization of captured heap numbers.
...
The escape analysis calculates the number of slots in an object as
no-of-slots = object-size / pointer-size. This gives 3 slots for
heap numbers on 32-bit architectures (one slot for the map, two for
the double value); however, my argument materialization code assumed
just two slots (map + value). Since Hydrogen allocates heap numbers
quite rarely, it is hard to produce a more meaningful repro than the
one provided by Clusterfuzz. Any suggestions are welcome.
The fix is simple - we just read out all extra slots (beyond the map
and the double) for heap numbers.
R=mstarzinger@chromium.org
BUG=351315
LOG=N
Review URL: https://codereview.chromium.org/196283004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@19874 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-03-13 07:17:37 +00:00