ulan@chromium.org [Mon, 25 Feb 2013 16:15:37 +0000 (16:15 +0000)]
ARM: Make DoStoreKeyedFixedDoubleArray faster; don't allow conditional Vmov
This patch makes us generate faster code for DoStoreKeyedFixedDoubleArray,
by using a branch rather than a conditional Vmov instruction.
Conditional VFP instructions are not a great idea in general, and it was
especially bad in this case because Vmov expands to a bunch of instructions.
For this reason, the patch also removes the 'cond' parameter from Vmov.
Thanks to Rodolph for pointing me to this!
BUG=none
Review URL: https://chromiumcodereview.appspot.com/
12316096
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13722
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Mon, 25 Feb 2013 16:09:57 +0000 (16:09 +0000)]
Fix for HeapSnapshotAddressReuse test case.
BUG=V8:2189
TEST=HeapSnapshotAddressReuse
Review URL: https://chromiumcodereview.appspot.com/
12320039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13721
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 25 Feb 2013 15:47:52 +0000 (15:47 +0000)]
Prepare push to trunk. Now working on version 3.17.5.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12315080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13718
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 25 Feb 2013 14:46:09 +0000 (14:46 +0000)]
Made Isolate a mandatory parameter for everything Handle-related.
Unified parameter order of CreateHandle with the rest of v8 on the way. A few
Isolate::Current()s had to be introduced, which is not nice, and not every place
will win a beauty contest, but we can clean this up later easily in smaller steps.
Review URL: https://codereview.chromium.org/
12300018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13717
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 25 Feb 2013 14:03:09 +0000 (14:03 +0000)]
Fix bugs in generating and printing of Crankshaft stubs
Review URL: https://codereview.chromium.org/
12317044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13716
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 25 Feb 2013 12:27:28 +0000 (12:27 +0000)]
Zap holes in dependent code array after deoptimizing a code group.
BUG=crash on GC stress builder
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12315077
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13715
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 25 Feb 2013 11:56:37 +0000 (11:56 +0000)]
Revert r13699 "Debugger: ScopeMirror has N^2 algorithm when building closure mirrors." because of WebKit crashes.
BUG=v8:2554
R=verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12321108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13714
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 21 Feb 2013 14:04:19 +0000 (14:04 +0000)]
Prepare push to trunk. Now working on version 3.17.4.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12338003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13711
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 21 Feb 2013 14:02:52 +0000 (14:02 +0000)]
Forced inlining of some GC-related methods.
The selection of methods were driven by GCC's -Winline plus some benchmarking.
On ia32, the additional amount of code is roughly 63kB (= 0.07% of Chrome ;-).
BUG=v8:1607
Review URL: https://codereview.chromium.org/
12338002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13710
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Thu, 21 Feb 2013 13:16:17 +0000 (13:16 +0000)]
Heap snapshot doesn't detect the fact that an old object was overriden by new one.
It is a test only patch. I have no solution yet.
BUG=V8:2189
TEST=
Review URL: https://chromiumcodereview.appspot.com/
12321042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13709
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Thu, 21 Feb 2013 13:12:12 +0000 (13:12 +0000)]
Release evacuation candidates after parallel sweeper threads completed.
BUG=
Review URL: https://codereview.chromium.org/
12082101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13708
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 21 Feb 2013 12:17:48 +0000 (12:17 +0000)]
Fix windows build warnings.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12321047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13707
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Thu, 21 Feb 2013 12:10:40 +0000 (12:10 +0000)]
Split profile-generator
CPU profile code and Heap Snapshot code are completely unrelated to each other.
So we can extract heap snapshot part into separate file.
No functional changes.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
12314027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13706
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 21 Feb 2013 11:40:37 +0000 (11:40 +0000)]
Constant fold math and string operations.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12315005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13705
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 21 Feb 2013 11:29:51 +0000 (11:29 +0000)]
Avoid creating unnecessary branches in Hydrogen
Review URL: https://codereview.chromium.org/
12281019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13704
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Thu, 21 Feb 2013 10:22:31 +0000 (10:22 +0000)]
Fixed numeric relations on HPhi instances.
Review URL: https://codereview.chromium.org/
12301027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13703
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 21 Feb 2013 09:49:23 +0000 (09:49 +0000)]
Handlify escape and unescape.
R=mvstanton@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12326015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13702
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Thu, 21 Feb 2013 09:09:01 +0000 (09:09 +0000)]
Also check if the length ia a smi in a HBoundsCheck.
Review URL: https://codereview.chromium.org/
12301026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13701
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 20 Feb 2013 14:29:40 +0000 (14:29 +0000)]
Combine %_SubString and %_StringCharAt.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12217071
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13700
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 20 Feb 2013 14:12:31 +0000 (14:12 +0000)]
Debugger: ScopeMirror has N^2 algorithm when building closure mirrors.
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12326009
Patch from Pavel Feldman <pfeldman@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13699
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 20 Feb 2013 13:12:26 +0000 (13:12 +0000)]
Ensure deopt entries have no relocation information.
R=ulan@chromium.org
BUG=chromium:176943
Review URL: https://codereview.chromium.org/
12314012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13698
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 20 Feb 2013 11:49:54 +0000 (11:49 +0000)]
Remove prototype checks for leaf maps in optimized code.
Review URL: https://chromiumcodereview.appspot.com/
12225099
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13697
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Tue, 19 Feb 2013 16:32:02 +0000 (16:32 +0000)]
Remove purely informative definitions from the graph.
Review URL: https://codereview.chromium.org/
12282033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13696
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 19 Feb 2013 15:22:12 +0000 (15:22 +0000)]
MIPS: Fix mips gyp build for chromium.
Our planned CL for the Chromium build system passes the toolchain
vars though the Makefiles, so that we do not depend on $CXX, etc.,
in the environment.
That causes a problem with deriving the 'm32flag' in v8 gyp.
This patch lets us build with or without the toolchain vars in
the environment.
BUG=
Review URL: https://codereview.chromium.org/
12218113
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13695
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Tue, 19 Feb 2013 14:24:25 +0000 (14:24 +0000)]
Fix HCheckSmiOrInt32 fake observed representation.
Review URL: https://codereview.chromium.org/
12259008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13694
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 19 Feb 2013 13:54:30 +0000 (13:54 +0000)]
Prepare push to trunk. Now working on version 3.17.3.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12302025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13691
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 19 Feb 2013 12:37:19 +0000 (12:37 +0000)]
Remove bogus check for TOP register in deoptimizer.
R=danno@chromium.org
BUG=176943
Review URL: https://chromiumcodereview.appspot.com/
12300020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13690
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Tue, 19 Feb 2013 11:59:48 +0000 (11:59 +0000)]
Precise GC time measurements.
BUG=
Review URL: https://codereview.chromium.org/
12209090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13689
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 19 Feb 2013 09:42:00 +0000 (09:42 +0000)]
Cleanup code-stub interface descriptor initialization.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12302017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13688
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 19 Feb 2013 09:01:25 +0000 (09:01 +0000)]
Update grokdump to reflect current heap layout.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
12303009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13687
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 18 Feb 2013 18:06:12 +0000 (18:06 +0000)]
Improve the JitCodeEventHandler API to add support for line position information.
This includes:
* adding the CODE_ADD_LINE_POS_INFO, CODE_START_LINE_INFO_RECORDING, CODE_END_LINE_INFO_RECORDING event and the corresponding functionality.
* adding the JITCodeLineInfo struct to record the code line info. I added this definition because Danno mentioned that "we'd like to cleanup and decouple the external debugging functionality"
* some other small changes.
Review URL: https://chromiumcodereview.appspot.com/
12223027
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13686
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 18 Feb 2013 17:08:19 +0000 (17:08 +0000)]
MIPS: Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
Port r13649 (
0a9e0bf0)
BUG=
Review URL: https://codereview.chromium.org/
12253005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13685
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 18 Feb 2013 13:01:00 +0000 (13:01 +0000)]
Fix bogus assertion.
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12296008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13684
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 18 Feb 2013 12:22:04 +0000 (12:22 +0000)]
Fix bogus assertion.
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12303006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13683
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 18 Feb 2013 10:27:46 +0000 (10:27 +0000)]
Enable Latin-1
R=yangguo@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12039038
Patch from Dan Carney <dcarney@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13682
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 18 Feb 2013 10:25:21 +0000 (10:25 +0000)]
Revert part of r13678 (InternalPackedArray).
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12304004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13681
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 18 Feb 2013 10:20:58 +0000 (10:20 +0000)]
Change and disable global handle zapping.
R=yangguo@chromium.org
BUG=chromium:176056
TEST=webkit:storage/indexeddb/create-and-remove-object-store.html
Review URL: https://codereview.chromium.org/
12300009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13680
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 15 Feb 2013 16:21:03 +0000 (16:21 +0000)]
Remove wrong uses of InternalPackedArray.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12284002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13679
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 15 Feb 2013 15:20:05 +0000 (15:20 +0000)]
Introduce InternalPackedArray.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12255049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13678
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Fri, 15 Feb 2013 13:01:28 +0000 (13:01 +0000)]
ARM: Remove unused flag in lithium-codegen.
This flag was added by commit r13585.
BUG=
Review URL: https://codereview.chromium.org/
12258013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13677
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Fri, 15 Feb 2013 12:38:59 +0000 (12:38 +0000)]
Determine number of available cores on all platforms.
BUG=
Review URL: https://codereview.chromium.org/
12089107
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13676
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 15 Feb 2013 12:18:24 +0000 (12:18 +0000)]
Add zapping of disposed persistent handles.
R=svenpanne@chromium.org
BUG=chromium:176056
Review URL: https://codereview.chromium.org/
12260060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13675
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 15 Feb 2013 09:27:10 +0000 (09:27 +0000)]
Make the Isolate parameter mandatory for internal HandleScopes.
Improved Frames and their iterators on the way, too.
BUG=v8:2487
Review URL: https://codereview.chromium.org/
12254007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13674
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 14 Feb 2013 15:12:49 +0000 (15:12 +0000)]
Fix f.apply() optimization when declared arguments are mutated.
R=verwaest@chromium.org
BUG=v8:2539
TEST=mjsunit/regress/regress-2539
Review URL: https://codereview.chromium.org/
12255033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13673
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 14 Feb 2013 14:54:27 +0000 (14:54 +0000)]
Prepare push to trunk. Now working on version 3.17.2.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12261036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13670
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 14 Feb 2013 13:48:20 +0000 (13:48 +0000)]
Register dependent codes before populating deoptimization data, which can cause GC.
R=mstarzinger@chromium.org
BUG=crash on nosnap-debug with stress-compaction
Review URL: https://chromiumcodereview.appspot.com/
12256038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13669
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 14 Feb 2013 12:28:02 +0000 (12:28 +0000)]
ARM: Change signature for vmov.32 function in the assembler
The assembler has 8 different vmov variants. The one for vmov.32 and for moving
an immediate into a double reg only differs in the type of the second
paremeter: vmov.32 takes an int, the other takes a double.
The situation is dangerous because C++ will happily implicitly convert between
int and double.
This patch changes the signature of the vmov.32 assembler function so that it
cannot be confused with the other vmovs.
BUG=none
Review URL: https://chromiumcodereview.appspot.com/
12255031
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13668
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 14 Feb 2013 11:59:04 +0000 (11:59 +0000)]
Unflakify SetJitCodeEventHandler test case.
R=ulan@chromium.org
TEST=cctest/test-api/SetJitCodeEventHandler
Review URL: https://codereview.chromium.org/
12263035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13667
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 14 Feb 2013 10:07:01 +0000 (10:07 +0000)]
Enable weak embedded maps in optimized code by default.
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
12263031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13666
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 14 Feb 2013 09:55:50 +0000 (09:55 +0000)]
Allow full inlining of f.apply(this, arguments) calls.
This allows Crankshaft to completely inline a f.apply() dispatch if the
exact number of arguments is known and the function is constant. The
deoptimizer doesn't generate the f.apply() frame during deoptimization,
so the materialized frames look like f.apply() did a tailcall.
R=jkummerow@chromium.org
TEST=mjsunit/compiler/inline-function-apply
Review URL: https://codereview.chromium.org/
12263004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13665
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 13 Feb 2013 17:24:10 +0000 (17:24 +0000)]
Prepare push to trunk. Now working on version 3.17.1.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12252009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13662
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 13 Feb 2013 15:21:08 +0000 (15:21 +0000)]
Move sweeping pending status field of concurrent sweepers to MarkCompactCollector.
BUG=
Review URL: https://codereview.chromium.org/
12261011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13661
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 13 Feb 2013 14:55:33 +0000 (14:55 +0000)]
Drop latin-1 check from BasicJsonStringifier::DoNotEscape
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12207153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13660
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 13 Feb 2013 14:37:09 +0000 (14:37 +0000)]
Properly support undefined->0 conversion in ia32 bitwise BinaryOpStubs (regression fix for r13624)
Review URL: https://codereview.chromium.org/
12212162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13659
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 13 Feb 2013 14:36:19 +0000 (14:36 +0000)]
Fix NegateCompareOp and InvertCompareOp
BUG=v8:2537
Review URL: https://codereview.chromium.org/
12217136
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13658
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 13 Feb 2013 14:35:05 +0000 (14:35 +0000)]
MIPS: Support pass-through of stub caller arguments
Port r13593 (
ae4edde7)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
12217079
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13657
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 13 Feb 2013 14:16:15 +0000 (14:16 +0000)]
Infrastructure classes for evaluating numeric relations between values.
Review URL: https://codereview.chromium.org/
12226112
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13656
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 13 Feb 2013 14:01:22 +0000 (14:01 +0000)]
MIPS: Generate the TransitionElementsStub using Crankshaft
Port r13585 (
4174b9d2)
Original commit message:
This includes:
* Adding support for saving callee-clobbered double registers in Crankshaft code.
* Adding a new "HTrapAllocationMemento" hydrogen instruction to handle AllocationSiteInfo data in crankshafted stubs.
* Adding a new "HAllocate" hydrogen instruction that can allocate raw memory from the GC in crankshafted code.
* Support for manipulation of the hole in HChange instructions for Crankshafted stubs.
* Utility routines to manually build loops and if statements containing hydrogen code.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
12212080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13655
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 13 Feb 2013 13:45:26 +0000 (13:45 +0000)]
MIPS: Add separate flag for --trace-stub-failures
Port r13598 (
79a374cf)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
12211088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13654
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 13 Feb 2013 13:19:38 +0000 (13:19 +0000)]
Limit stack size of sweeper threads.
BUG=
Review URL: https://codereview.chromium.org/
12256006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13653
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 13 Feb 2013 12:46:06 +0000 (12:46 +0000)]
Reduces memory consumption for parallel sweeping.
BUG=
Review URL: https://codereview.chromium.org/
12177011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13652
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 13 Feb 2013 11:02:39 +0000 (11:02 +0000)]
Fix verify heap problem when parallel sweeping is enabled.
BUG=
Review URL: https://codereview.chromium.org/
12260004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13651
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 13 Feb 2013 09:23:30 +0000 (09:23 +0000)]
Enable parallel sweeping.
BUG=
Review URL: https://codereview.chromium.org/
12255002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13650
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 12 Feb 2013 14:33:08 +0000 (14:33 +0000)]
Split AccessorInfo into DeclaredAccessorInfo and ExecutableAccessorInfo
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12213012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13649
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Feb 2013 14:00:39 +0000 (14:00 +0000)]
Don't try to unlink instructions twice during GVN
BUG=chrome:175141
Review URL: https://codereview.chromium.org/
12211128
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13648
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Tue, 12 Feb 2013 12:04:29 +0000 (12:04 +0000)]
Remove instructions properly (stack check elimination was leaving "dangling uses" around).
BUG=
Review URL: https://codereview.chromium.org/
12224090
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13647
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Feb 2013 11:57:51 +0000 (11:57 +0000)]
Fixed a memory leak in v8 and another one in d8.
Cleaned up a few tests on the way. This CL brings us down to 5 leaks for d8.
Review URL: https://codereview.chromium.org/
12223089
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13646
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Tue, 12 Feb 2013 11:44:08 +0000 (11:44 +0000)]
Separated smi check from HBoundsCheck.
Review URL: https://codereview.chromium.org/
12208013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13645
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 12 Feb 2013 10:56:04 +0000 (10:56 +0000)]
Calculate proper receiver map for monomorphic transitioning ICs.
This fixes a regression caused by
https://chromiumcodereview.appspot.com/
11953025/
Review URL: https://chromiumcodereview.appspot.com/
12217131
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13644
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 12 Feb 2013 09:34:40 +0000 (09:34 +0000)]
MIPS: Fix bugs in DeoptimizeIf when lazy deopt is requested.
Port r13633 (
9e314349)
BUG=
TEST=
Review URL: https://codereview.chromium.org/
12220105
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13643
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 12 Feb 2013 08:59:53 +0000 (08:59 +0000)]
Don't use local variable after its scoped has been left.
TBR=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
12224118
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13642
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 11 Feb 2013 15:11:00 +0000 (15:11 +0000)]
Fix code flusher disabling while marking incrementally.
This fixes a corner case where the code flusher is disabled while the
incremental marker is still running. This can happen when the debugger
is loaded and a scavenge is triggered. Make sure that all flushing
decisions are revisited after the candidates lists are evicted.
R=hpayer@chromium.org
BUG=chromium:173458,chromium:168582
TEST=cctest/test-heap/Regress173458
Review URL: https://codereview.chromium.org/
12217108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13641
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 11 Feb 2013 14:44:25 +0000 (14:44 +0000)]
Get rid of x87 in ia32 LCodeGen::DoBranch
Review URL: https://codereview.chromium.org/
12208044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13640
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 11 Feb 2013 14:12:13 +0000 (14:12 +0000)]
Print deoptimization index when printing lithium environment.
Output of --trace-deopt --code-comments does not always allow to reliably match deoptimization to the lithium instruction (and it is actually never accurate on x64 due to one level of indirection). This change allows to reliably figure out which instruction deoptimized just by looking up bailout id in the hydrogen.cfg.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12217103
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13639
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 11 Feb 2013 13:02:20 +0000 (13:02 +0000)]
Don't use TLS for space iterators.
This is not only inherently slow, but it also forces the caller to enter an
Isolate before. Both is bad, so we have to do some heap plumbing.
BUG=v8:2531
Review URL: https://codereview.chromium.org/
12217106
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13638
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 11 Feb 2013 12:28:22 +0000 (12:28 +0000)]
Work around nifty VS10 compiler bug
VS10 generates bogus code for specific arguments to the Number::New function when invoked in specific places of an ExpectRecords array definition, passing a garbage value to the function (as printf debugging reveals). Changing the argument from 1 to 7 apparently circumvents the problem.
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
12212108
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13637
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 8 Feb 2013 17:32:47 +0000 (17:32 +0000)]
Fix bugs in DeoptimizeIf when lazy deopt is requested.
This also implements --trap-on-deopt on x64 and simplifies the
implementation of this flag on all architectures.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
12223053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13633
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 8 Feb 2013 14:32:38 +0000 (14:32 +0000)]
Add additional flags to control array abuse tracing
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
12211095
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13632
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 8 Feb 2013 12:41:55 +0000 (12:41 +0000)]
Added new GetHeapStatistics API entry and deprecated old one.
Simplified the HeapStatistics class a bit, following Uncle Bob's advice that
adding accessors to DTOs only satisfies some design fundamentalists, but serves
no other purpose. :-)
Review URL: https://codereview.chromium.org/
12207076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13631
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 8 Feb 2013 11:56:15 +0000 (11:56 +0000)]
Improve tracing of hydrogen stub compilation.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12208088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13630
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 7 Feb 2013 15:51:05 +0000 (15:51 +0000)]
Add missing type feedback collection to ia32 BinaryOpStubs for bitwise operations
Review URL: https://codereview.chromium.org/
12223039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13624
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 7 Feb 2013 15:45:47 +0000 (15:45 +0000)]
Adjust the stack-size value for big-array-literal.js
Review URL: https://codereview.chromium.org/
12114002
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13623
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 7 Feb 2013 15:38:24 +0000 (15:38 +0000)]
Add regression test for r13617
Many thanks to Vyacheslav Egorov for coming up with this test!
BUG=173907
Review URL: https://codereview.chromium.org/
12212066
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13622
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 7 Feb 2013 13:15:41 +0000 (13:15 +0000)]
Fix DoubleStackSlot-to-DoubleStackSlot moves on ia32. Unify platform-independent code.
BUG=173907
Review URL: https://codereview.chromium.org/
12207063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13617
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 7 Feb 2013 10:02:11 +0000 (10:02 +0000)]
Fix NULL-pointer arithmetic abuse in tests surfaced by clang
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12218051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13614
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 7 Feb 2013 07:56:11 +0000 (07:56 +0000)]
Add --trace-array-abuse to help find OOB accesses.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
12220040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13613
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
adamk@chromium.org [Wed, 6 Feb 2013 17:35:35 +0000 (17:35 +0000)]
Use asserts instead of branches to avoid fast array methods for observed arrays
Because observed arrays should always be in dictionary mode, we'll always fall
back to the JS version anyway.
Review URL: https://codereview.chromium.org/
12221033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13612
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 6 Feb 2013 14:07:26 +0000 (14:07 +0000)]
Prepare push to trunk. Now working on version 3.17.0.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
12212032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13609
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 6 Feb 2013 13:21:28 +0000 (13:21 +0000)]
Make the GC stress builder go green.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
12218034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13608
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 6 Feb 2013 13:04:02 +0000 (13:04 +0000)]
Simplify secure API functions workaround for MinGW
If MINGW_HAS_SECURE_API is defined, the definitions of localtime_s,
fopen_s, _vsnprintf_s, strncpy_s had to be renamed using #define
so they would not conflict with definitions in the standard headers.
A simpler way to handle this is to undefine MINGW_HAS_SECURE_API before
including the standard headers.
Contributed by net147@gmail.com
BUGS=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
12210033
Patch from Jonathan Liu <net147@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13607
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 6 Feb 2013 12:58:09 +0000 (12:58 +0000)]
Inline some regexp code.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
12184015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13606
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 6 Feb 2013 11:54:27 +0000 (11:54 +0000)]
Small improvement in x64 assembler
Review URL: https://chromiumcodereview.appspot.com/
12177012
Patch from Zheng Z. Liu <zheng.z.liu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13605
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 6 Feb 2013 11:48:29 +0000 (11:48 +0000)]
Split CompileCallConstant into logical parts for Frontend and Backend.
Initial step towards separating IC (map check(s)), handler frontend
(prototype-check) and handler backend (actual handler code).
- Still need to split the map-check (IC) from rest of the prototype
chain check.
- Still need to turn different parts in own code objects and cache them
in more optimal places.
Review URL: https://chromiumcodereview.appspot.com/
12207016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13604
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 6 Feb 2013 10:59:50 +0000 (10:59 +0000)]
Do not rely on secure API functions when using MinGW-w64
Windows XP does not provide secure API functions in msvcrt.dll but
newer versions of Windows do. Avoid using secure API functions for
compatibility with msvcrt.dll on Windows XP.
Contributed by net147@gmail.com
BUGS=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
12189010
Patch from Jonathan Liu <net147@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13603
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 6 Feb 2013 10:51:55 +0000 (10:51 +0000)]
Add explicit Release configuration to standalone.gypi to appease Xcode.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
12225043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13602
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 6 Feb 2013 10:32:02 +0000 (10:32 +0000)]
ARM: Try to avoid VMSR instruction and drop redundant VCVT
We were doing a redundant VCVT operation in MacroAssembler::EmitECMATruncate.
Also, setting the FPSCR exception flags is expensive on some CPUs, wo we should
try to avoid it if we can.
Thanks to Rodolph Perfetta for the input on this!
Review URL: https://chromiumcodereview.appspot.com/
12217014
Patch from Hans Wennborg <hans@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13601
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 6 Feb 2013 09:31:18 +0000 (09:31 +0000)]
Switch GYP to use LLVM-GCC when using Xcode.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
12228004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13600
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 5 Feb 2013 18:00:42 +0000 (18:00 +0000)]
Print generated code for Crankshafted stubs with --print-code-stubs
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
12223007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13599
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 5 Feb 2013 16:28:36 +0000 (16:28 +0000)]
Add separate flag for --trace-stub-failures
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
12208011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13598
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 5 Feb 2013 16:21:15 +0000 (16:21 +0000)]
Make object-observe test case resilient against GC stress.
R=rossberg@chromium.org
TEST=cctest/test-object-observe/ObservationWeakMap
Review URL: https://codereview.chromium.org/
12217017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13597
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00