rossberg@chromium.org [Thu, 11 Oct 2012 11:40:10 +0000 (11:40 +0000)]
Bump variable limit further to 2^17.
R=jkummerow@chromium.org
BUG=151625
Review URL: https://codereview.chromium.org/
11099063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12698
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 11 Oct 2012 10:52:58 +0000 (10:52 +0000)]
Added a simple dead code removal phase.
We iteratively remove all dead Hydrogen instruction until we reach a fixed point. We consider an instruction dead if it is unused, has no observable side effects and is deletable. The last part of the condition is currently not very nice: We basically have to whitelist "safe" instructions, because we are missing more detailed dependencies and/or more detailed tracking of side effects.
We disable dead code elimination for now in our test runners, because we have tons of poorly written tests which wouldn't test anymore what they are supposed to test with this phase enabled. To get test coverage for dead code elimination itself, we should enable it on a few build bots. This is not really a perfect state, but the best we can do for now.
This patch includes a few const-correctness fixes, most of them were necessary for this CL.
Review URL: https://codereview.chromium.org/
11088027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12697
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 10 Oct 2012 17:05:00 +0000 (17:05 +0000)]
Prepare push to trunk. Now working on version 3.14.3.
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11098047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12692
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 10 Oct 2012 16:15:29 +0000 (16:15 +0000)]
ARM: allow VFP3 instructions when hardfloat is enabled.
R=danno@chromium.org
BUG=152506
Review URL: https://chromiumcodereview.appspot.com/
11028116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12691
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 10 Oct 2012 14:48:07 +0000 (14:48 +0000)]
Also use binary search to search through valid entries.
Review URL: https://chromiumcodereview.appspot.com/
11028056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12690
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 10 Oct 2012 13:13:35 +0000 (13:13 +0000)]
Transition ownership back if the descriptors were shared via elements transitions.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11091044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12689
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 10 Oct 2012 12:31:50 +0000 (12:31 +0000)]
Fix transition conversion from CONSTANT_FUNCTION to FIELD.
Review URL: https://chromiumcodereview.appspot.com/
11094044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12688
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 10 Oct 2012 12:29:44 +0000 (12:29 +0000)]
Fix CNLT regression.
This happens when a map A with no descriptors in fast_holey_elements
mode first gets some properties, making it share descriptor arrays with
a map B to which it transitions. Then map A transitions elements kind to
dictionary_elements in map C. C stores the empty_descriptor_array in its
own transition array. When adding a property to C, C transitions to D
and shares the descriptors. If D dies, a CNLT clears the transition
array of C, making the descriptor array of A (and thus also of B) shine
through. If a property is now added to an object in state C, it'll inherit
all the properties of A (and B). If those properties had high field indices,
we do not have a large enough backing store for the single newly added
property, and we'll write out of bounds.
BUG=chromium:151749
Review URL: https://chromiumcodereview.appspot.com/
11017054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12687
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 10 Oct 2012 11:58:22 +0000 (11:58 +0000)]
Fix compilation failure on ARM in r12685.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11103004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12686
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 10 Oct 2012 11:13:15 +0000 (11:13 +0000)]
Enable compilation of GDBJIT interface on Linux.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11093046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12685
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 9 Oct 2012 15:12:39 +0000 (15:12 +0000)]
Improve page flag checking sequence on ARM.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
11090021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12682
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 9 Oct 2012 13:53:24 +0000 (13:53 +0000)]
Make sure that the context argument of HAdd is never NULL.
Although this doesn't hurt currently, it hurts any future compiler
pass relying on the invariant that no operand is NULL.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11088026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12681
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Tue, 9 Oct 2012 08:34:39 +0000 (08:34 +0000)]
Clarify that date parsing follows Safari.
R=ulan@chromium.org
BUG=145198
Review URL: https://codereview.chromium.org/
11085006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12680
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 9 Oct 2012 08:24:58 +0000 (08:24 +0000)]
Make GDBJIT interface compile again.
R=ulan@chromium.org
BUG=v8:1804
Review URL: https://codereview.chromium.org/
11022007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12679
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 8 Oct 2012 13:49:57 +0000 (13:49 +0000)]
Add PRESUBMIT script to V8
Currently, it executes the OWNERS check and tools/presubmit.py, as well as a
check for a non-empty commit message
BUG=none
TEST=run git cl presubmit
Review URL: https://codereview.chromium.org/
11092002
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12678
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 8 Oct 2012 12:58:46 +0000 (12:58 +0000)]
Fixed Accessors::FunctionGetPrototype's proto chain traversal.
Actually it didn't traverse that far... ;-) Did some cleanup on the way.
R=rossberg@chromium.org
BUG=chrome:143967
TEST=regress/regress-143967.js
Review URL: https://codereview.chromium.org/
11087004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12677
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 8 Oct 2012 12:50:15 +0000 (12:50 +0000)]
ARM: Fast path for integer inputs to EmitVFPTruncate
BUG=none
TEST=none
Review URL: https://codereview.chromium.org/
11049025
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12676
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 8 Oct 2012 11:58:08 +0000 (11:58 +0000)]
Add OWNERS file
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
11028073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12674
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 8 Oct 2012 11:39:08 +0000 (11:39 +0000)]
Use dot_for_symbol.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
11087002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12672
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 8 Oct 2012 11:11:30 +0000 (11:11 +0000)]
Change default ARCH version in android low-level profiler script to 4.6
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11086002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12671
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 5 Oct 2012 12:47:34 +0000 (12:47 +0000)]
Make sure that names of temporaries do not clash with real variables.
R=mstarzinger@chromium.org
BUG=v8:2322
Review URL: https://codereview.chromium.org/
11035054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12668
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 5 Oct 2012 09:14:08 +0000 (09:14 +0000)]
Reject local module declarations.
R=mstarzinger@chromium.org
BUG=150628
Review URL: https://codereview.chromium.org/
11033025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12665
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Fri, 5 Oct 2012 09:07:53 +0000 (09:07 +0000)]
Reject uses of lexical for-loop variable on the RHS.
R=mstarzinger@chromium.org
BUG=v8:2322
Review URL: https://codereview.chromium.org/
11031045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12664
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 5 Oct 2012 08:58:02 +0000 (08:58 +0000)]
push-to-trunk.sh/merge-to-branch.sh: use "git apply" instead of "patch" to apply patches
Review URL: https://codereview.chromium.org/
11031065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12663
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 4 Oct 2012 11:09:17 +0000 (11:09 +0000)]
Revert "Allow partial scanning of large arrays in order to avoid"
This reverts commit r12619.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
11029023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12660
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 4 Oct 2012 09:46:50 +0000 (09:46 +0000)]
MIPS: Changed "marked" nops to use sll(zero_reg, at, type).
We use marking bits in nops (in the 'sa' field) for debug markers, and for some IC stuff. A normal NOP in mips is sll(zero_reg, zero_reg, 0), where the 0 is a 5 bit immediate field in 'sa'.
See enum NopMarkerTypes at around line 654 of assembler-mips.h
The problem is that these markers use encodings that are reserved for the 'ssnop' and 'ehb' instructions. These are instructions used for hazard barriers.
It does not break anything, but it will slow things down a little bit as some pipeline stages are cleared, etc.
This commit changes the "marked" NOPs to sll(zero_reg, at, type) instructions, which is also a NOP operation on MIPS.
BUG=
TEST=
Review URL: https://codereview.chromium.org/
10990110
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12657
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 2 Oct 2012 16:48:45 +0000 (16:48 +0000)]
Make sure all labels are bound and linked in ARM DoModI.
BUG=v8:2354
TBR=danno@chromium.org,subratokde@codeaurora.org
Review URL: https://chromiumcodereview.appspot.com/
11038017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12656
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 2 Oct 2012 15:46:55 +0000 (15:46 +0000)]
Fix slot recording of code target patches.
This makes sure that we only record relocation slots for code target
patches that happen in marked objects. Unmarked ones might be visited
again, whereas marked ones are alive and will not be visited again.
R=ulan@chromium.org
BUG=chromium:152615,chromium:144230
Review URL: https://codereview.chromium.org/
11040021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12655
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 2 Oct 2012 13:20:27 +0000 (13:20 +0000)]
Change the Android makefile to use GCC 4.6 instead of GCC 4.4.3.
Android NDK 8b includes GCC 4.6
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
11032018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12654
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 2 Oct 2012 11:07:26 +0000 (11:07 +0000)]
Revert "Adding a high-resolution timer to platform win32."
This reverts r12651.
Review URL: https://codereview.chromium.org/
11033014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12652
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 2 Oct 2012 10:59:44 +0000 (10:59 +0000)]
Adding a high-resolution timer to platform win32.
BUG=None
Review URL: https://codereview.chromium.org/
10867057
Patch from Sergey Rogulenko <rogulenko@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12651
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 2 Oct 2012 10:51:00 +0000 (10:51 +0000)]
Replacing circular queue by single buffer in CPU Profiler.
BUG=None
Review URL: https://codereview.chromium.org/
10871039
Patch from Sergey Rogulenko <rogulenko@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12650
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 2 Oct 2012 09:58:11 +0000 (09:58 +0000)]
Moving cpu profiling into its own thread.
BUG=None
Review URL: https://codereview.chromium.org/
10857035
Patch from Sergey Rogulenko <rogulenko@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12649
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 2 Oct 2012 08:50:02 +0000 (08:50 +0000)]
Test runner: More fixes.
- handle Ctrl+C better
- actually show error messages sent by network peers
- gracefully handle missing test cases
- pull test.py and utils.py during server setup (temporary fix for testcfg import issue)
Review URL: https://codereview.chromium.org/
11036005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12648
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 2 Oct 2012 07:54:41 +0000 (07:54 +0000)]
MIPS: Fix mistake in r12549 (
1597d7d9).
This commit fixes several test failures introduced by r12549 (
1597d7d9):
- mjsunit/regress/regress-760-1
- mjsunit/strict-mode
- mjsunit/string-add
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
11039014
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12647
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 1 Oct 2012 21:27:33 +0000 (21:27 +0000)]
Support for SDIV and MLS ARM instructions, and implement DoModI using them.
Also added support for the runtime detection to check if hardware supports SDIV/UDIV
Other new opportunities to exploit SDIV/UDIV will be done in separate issues.
Review URL: https://chromiumcodereview.appspot.com/
10977051
Patch from Subrato K De <subratokde@codeaurora.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12646
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 1 Oct 2012 17:16:00 +0000 (17:16 +0000)]
Test runner: fix empty patches; better error message for missing test files; correct .gitignore entry for message.status2
Review URL: https://codereview.chromium.org/
11035004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12645
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 1 Oct 2012 16:22:43 +0000 (16:22 +0000)]
Allow optimistically hoisting elements transitions over accesses.
Review URL: https://chromiumcodereview.appspot.com/
10972011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12642
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 1 Oct 2012 16:19:43 +0000 (16:19 +0000)]
Prepare push to trunk. Now working on version 3.14.2.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
11031002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12641
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 1 Oct 2012 12:11:06 +0000 (12:11 +0000)]
Revert r12625 due to sandbox incompatibility.
Original message: Implement committed physical memory stats for Linux.
This had to be reverted because it crashes when compiled into Chromium
due to the sandbox not allowing the mincore call.
R=verwaest@chromium.org
BUG=v8:2191
Review URL: https://codereview.chromium.org/
11023010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12640
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 1 Oct 2012 09:48:07 +0000 (09:48 +0000)]
Off-by-one error in zapping objects after right trimming.
Review URL: https://chromiumcodereview.appspot.com/
11013012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12637
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 1 Oct 2012 09:41:18 +0000 (09:41 +0000)]
Fix cctests using Sockets to be able to run in parallel
BUG=v8:945
Review URL: https://codereview.chromium.org/
11015008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12636
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 1 Oct 2012 09:05:27 +0000 (09:05 +0000)]
Test runner: Send SVN revision instead of git commit hash in work packet
Review URL: https://codereview.chromium.org/
11013007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12635
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 28 Sep 2012 15:53:46 +0000 (15:53 +0000)]
Test runner: remove noisy debug output.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
10993080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12634
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 28 Sep 2012 15:11:33 +0000 (15:11 +0000)]
Test runner: fix outdated "import discovery"
Review URL: https://codereview.chromium.org/
10983084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12633
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 28 Sep 2012 14:59:00 +0000 (14:59 +0000)]
test runner: fix wildcard handling in test status files
Review URL: https://codereview.chromium.org/
10986086
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12632
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 28 Sep 2012 14:56:58 +0000 (14:56 +0000)]
test runner: fix "test-server.py setup"
Review URL: https://codereview.chromium.org/
10990109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12631
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 28 Sep 2012 14:38:59 +0000 (14:38 +0000)]
Not set -m32 flag when compiling with Android ARM compiler.
We are removing CXX_target environment variables and only use the
make_global_settings to select compiler in chromium Android.
BUG=143889
Review URL: https://codereview.chromium.org/
10990070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12630
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 28 Sep 2012 10:15:58 +0000 (10:15 +0000)]
Restore the descriptor array before returning allocation failure.
BUG=chromium:151750
Review URL: https://chromiumcodereview.appspot.com/
10989076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12629
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 27 Sep 2012 13:55:50 +0000 (13:55 +0000)]
Only use OwnDescriptors to decide whether to go slow or not.
Review URL: https://chromiumcodereview.appspot.com/
10996044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12626
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 27 Sep 2012 13:27:50 +0000 (13:27 +0000)]
Implement committed physical memory stats for Linux.
The patch introduces CommittedPhysicalMemory function to the Heap class
that reports committed *physical* memory acquired from the OS.
It is important because some OSes may postpone actual commitment on e.g.
first access to the previously committed region.
So reporting just plain committed size led to various weird artifacts
like DevTools showing V8 allocated memory higher than the whole process
private size.
BUG=v8:2191
Review URL: https://codereview.chromium.org/
10961042
Patch from Alexei Filippov <alph@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12625
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 27 Sep 2012 11:31:26 +0000 (11:31 +0000)]
Add the VFP-ness to the minor number of the keyed store elements
IC so that the version from the snapshot is not used if we have
a more capable CPU at runtime.
Review URL: https://chromiumcodereview.appspot.com/
10984065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12624
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 27 Sep 2012 07:45:49 +0000 (07:45 +0000)]
Fix ARM bug introduced in r12604 that caused crashes on ARM
on crypto-md5 from SunSpider. Bug=152402
Review URL: https://chromiumcodereview.appspot.com/
10991045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12623
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 26 Sep 2012 14:59:10 +0000 (14:59 +0000)]
Fix probing in JSON.parse.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10989032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12622
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 26 Sep 2012 14:42:08 +0000 (14:42 +0000)]
Fix Clang warning about tautological compare.
BUG=151927
R=hans@chromium.org
Patch from Hans Wennborg <hans@chromium.org>.
Review URL: https://chromiumcodereview.appspot.com/
10985043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12621
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 26 Sep 2012 12:51:46 +0000 (12:51 +0000)]
Extend grokdump.py with simple BreakPad symbol files support.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
10923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12620
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 12:17:24 +0000 (12:17 +0000)]
Allow partial scanning of large arrays in order to avoid
mark stack overflow. This is a reland of r12609 -
https://chromiumcodereview.appspot.com/
10959011 - but
this time VisitPointers has been fixed (it used to assume
that the first slot was on the first page of a large object).
Review URL: https://chromiumcodereview.appspot.com/
10996018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12619
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 11:35:42 +0000 (11:35 +0000)]
Make the speed of incremental marking depend also on the rate
at which we are hitting expensive write barrier operations,
not just on the rate of allocation.
Review URL: https://chromiumcodereview.appspot.com/
10974003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12618
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 26 Sep 2012 11:19:35 +0000 (11:19 +0000)]
Fix silently failing branch merge script on Mac
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10981034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12615
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 26 Sep 2012 09:57:30 +0000 (09:57 +0000)]
Avoid wrong imul deopt on ia32 and x64 (fixes v8 bug 2339).
BUG=v8:2339
Review URL: https://chromiumcodereview.appspot.com/
10963032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12614
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 26 Sep 2012 09:35:41 +0000 (09:35 +0000)]
Lowered kMaxVirtualRegisters (fixes v8 2139 and chrome 123822 and 128252).
BUG=128252
Review URL: https://chromiumcodereview.appspot.com/
10966031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12613
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 26 Sep 2012 09:12:45 +0000 (09:12 +0000)]
Pull more recent gyp.
This pulls in https://chromiumcodereview.appspot.com/
10079030/
and https://chromiumcodereview.appspot.com/
10876082/ among others,
which are needed for more *nix platforms support.
Review URL: https://codereview.chromium.org/
10983022
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12612
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 09:01:13 +0000 (09:01 +0000)]
Make Kraken fasta.
Review URL: https://chromiumcodereview.appspot.com/
10978040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12611
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 08:55:19 +0000 (08:55 +0000)]
Revert 12609 (Allow partial scanning of large arrays)
due to crashes in unbox-double-arrays.js test.
Review URL: https://chromiumcodereview.appspot.com/
10996017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12610
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 08:33:15 +0000 (08:33 +0000)]
Allow partial scanning of large arrays in order to avoid
mark stack overflow.
Review URL: https://chromiumcodereview.appspot.com/
10959011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12609
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 25 Sep 2012 16:59:27 +0000 (16:59 +0000)]
Fix off-by-one error introduced in r12598.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10977009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12606
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 25 Sep 2012 14:32:07 +0000 (14:32 +0000)]
ARM: Small optimisation of VFP immediate creation
Save an instruction in VFP immediate creation by passing a scratch register.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
10990024
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12605
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 25 Sep 2012 13:35:42 +0000 (13:35 +0000)]
x64 and ARM: Fix issue 2346 (order of operations in keyed store
on arrays) and turn get-own-property-descriptor.js test into
a regression test.
Review URL: https://chromiumcodereview.appspot.com/
10985017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12604
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 25 Sep 2012 09:55:44 +0000 (09:55 +0000)]
Fix 2346: Generic KeyedStoreIC doesn't change length and element_kind atomically
R=erik.corry@gmail.com
BUG=v8:2346
Review URL: https://chromiumcodereview.appspot.com/
10991012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12603
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 24 Sep 2012 16:22:17 +0000 (16:22 +0000)]
Bump number of allowed variables per scope to 65535, to address GWT.
R=jkummerow@chromium.org
BUG=151625
Review URL: https://codereview.chromium.org/
10965063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12600
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Sep 2012 15:03:09 +0000 (15:03 +0000)]
Fix failures caused by r12598.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10958070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12599
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Sep 2012 14:23:46 +0000 (14:23 +0000)]
Fast path for symbol lookup in JSON.parse.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10969069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12598
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 24 Sep 2012 13:03:11 +0000 (13:03 +0000)]
Improve --trace-gc-verbose to show sum of all spaces.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
10974006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12597
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 11:18:29 +0000 (11:18 +0000)]
Split test/mjsunit/debug-stepout-scope into smaller chunks
Review URL: https://codereview.chromium.org/
10969061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12596
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:48:14 +0000 (10:48 +0000)]
Delete test/mjsunit/regress-1969.
It was flaky, and its usefulness was doubtful.
Review URL: https://codereview.chromium.org/
10961075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12595
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:44:04 +0000 (10:44 +0000)]
Remove trailing whitespace
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
10969064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12594
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:08:01 +0000 (10:08 +0000)]
Speed up test/mjsunit/compiler/regress-or
Review URL: https://codereview.chromium.org/
10969063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12593
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:07:09 +0000 (10:07 +0000)]
Speed up test/mjsunit/compiler/regress-gvn
Review URL: https://codereview.chromium.org/
10956059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12592
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:06:06 +0000 (10:06 +0000)]
Split test/mjsunit/numops-fuzz into smaller chunks
Review URL: https://codereview.chromium.org/
10961065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12591
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:04:58 +0000 (10:04 +0000)]
Split test/mjsunit/mul-exhaustive into smaller chunks
Review URL: https://codereview.chromium.org/
10958064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12590
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:03:49 +0000 (10:03 +0000)]
Split test/mjsunit/fuzz-natives into smaller chunks
Review URL: https://codereview.chromium.org/
10970058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12589
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:02:44 +0000 (10:02 +0000)]
Split test/mjsunit/math-floor into smaller chunks
Review URL: https://codereview.chromium.org/
10967064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12588
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:01:35 +0000 (10:01 +0000)]
Speed up test/mjsunit/greedy.js
Review URL: https://codereview.chromium.org/
10969062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12587
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:00:25 +0000 (10:00 +0000)]
Speed up test/mjsunit/debug-multiple-breakpoints
Review URL: https://codereview.chromium.org/
10961064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12586
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 09:57:16 +0000 (09:57 +0000)]
Speed up test/mjsunit/d8-os by reducing sleep times
Review URL: https://codereview.chromium.org/
10973003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12585
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 09:56:11 +0000 (09:56 +0000)]
Speed up test/mjsunit/regress/regress-crbug-119926
Review URL: https://codereview.chromium.org/
10958063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12584
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 09:38:46 +0000 (09:38 +0000)]
First commit of new tools/run-tests.py
Review URL: https://codereview.chromium.org/
10919265
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12583
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 21 Sep 2012 08:09:34 +0000 (08:09 +0000)]
This issue is for landing patch by vsevik: codereview.chromium.org/
10966011/
SourceURL comments for scripts having a name.
sourceURL comment is now preferred script name for all scripts except
for those with non zero start position (e.g. inline scripts in HTML).
BUG=v8:2342
Review URL: https://codereview.chromium.org/
10959038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12576
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Sep 2012 15:18:00 +0000 (15:18 +0000)]
Fix CNLT for enum indices.
Review URL: https://chromiumcodereview.appspot.com/
10958015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12569
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Sep 2012 13:41:00 +0000 (13:41 +0000)]
Deopt on storing undefined into double elements.
Review URL: https://chromiumcodereview.appspot.com/
10963010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12568
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 20 Sep 2012 12:09:06 +0000 (12:09 +0000)]
Prepare push to trunk. Now working on version 3.14.1.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10958014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12565
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 20 Sep 2012 11:28:33 +0000 (11:28 +0000)]
Revert r12530 "Tentatively reenable previous failing test."
BUG=v8:2341
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10964015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12564
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 20 Sep 2012 10:45:38 +0000 (10:45 +0000)]
Fix missing slot recodring during clearing of CallICs.
This fixes a rare corner case that was caused by missing recording of
relocation slots when the uninitialized CallIC stub happenes to land on
an evacuation candidate and the IC is cleared via the shared function.
R=ulan@chromium.org
BUG=chromium:144230
TEST=cctest/test-heap/Regression144230
Review URL: https://codereview.chromium.org/
10963005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12563
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 20 Sep 2012 09:56:24 +0000 (09:56 +0000)]
Fix LBoundsCheck on x64 to handle (stack slot + constant) correctly
BUG=150729
Review URL: https://codereview.chromium.org/
10959009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12562
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 20 Sep 2012 09:55:19 +0000 (09:55 +0000)]
Move regress-2286.js where it belongs
Review URL: https://codereview.chromium.org/
10957013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12561
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 20 Sep 2012 08:02:17 +0000 (08:02 +0000)]
Wait for resolving conflicts in merge-to-branch script.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10939033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12560
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 19 Sep 2012 14:29:27 +0000 (14:29 +0000)]
MIPS: Sharing of descriptor arrays.
Port r12492 (
479be376)
Original commit message:
This CL adds multiple things:
Transition arrays do not directly point at their descriptor array anymore, but rather do so via an indirect pointer (a JSGlobalPropertyCell).
An ownership bit is added to maps indicating whether it owns its own descriptor array or not.
Maps owning a descriptor array can pass on ownership if a transition from that map is generated; but only if the descriptor array stays exactly the same; or if a descriptor is added.
Maps that don't have ownership get ownership back if their direct child to which ownership was passed is cleared in ClearNonLiveTransitions.
To detect which descriptors in an array are valid, each map knows its own NumberOfOwnDescriptors. Since the descriptors are sorted in order of addition, if we search and find a descriptor with index bigger than this number, it is not valid for the given map.
We currently still build up an enumeration cache (although this may disappear). The enumeration cache is always built for the entire descriptor array, even if not all descriptors are owned by the map. Once a descriptor array has an enumeration cache for a given map; this invariant will always be true, even if the descriptor array was extended. The extended array will inherit the enumeration cache from the smaller descriptor array. If a map with more descriptors needs an enumeration cache, it's EnumLength will still be set to invalid, so it will have to recompute the enumeration cache. This new cache will also be valid for smaller maps since they have their own enumlength; and use this to loop over the cache. If the EnumLength is still invalid, but there is already a cache present that is big enough; we just initialize the EnumLength field for the map.
When we apply ClearNonLiveTransitions and descriptor ownership is passed back to a parent map, the descriptor array is trimmed in-place and resorted. At the same time, the enumeration cache is trimmed in-place.
Only transition arrays contain descriptor arrays. If we transition to a map and pass ownership of the descriptor array along, the child map will not store the descriptor array it owns. Rather its parent will keep the pointer. So for every leaf-map, we find the descriptor array by following the back pointer, reading out the transition array, and fetching the descriptor array from the JSGlobalPropertyCell. If a map has a transition array, we fetch it from there. If a map has undefined as its back-pointer and has no transition array; it is considered to have an empty descriptor array.
When we modify properties, we cannot share the descriptor array. To accommodate this, the child map will get its own transition array; even if there are not necessarily any transitions leaving from the child map. This is necessary since it's the only way to store its own descriptor array.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10918287
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12549
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 19 Sep 2012 12:48:49 +0000 (12:48 +0000)]
Fixed minus zero test (fixes v8:2133).
BUG=v8:2133
Review URL: https://chromiumcodereview.appspot.com/
10937013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12548
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 19 Sep 2012 11:52:33 +0000 (11:52 +0000)]
Fix setting array length to zero for slow elements.
R=verwaest@chromium.org
BUG=chromium:146910
TEST=mjsunit/regress/regress-crbug-146910
Review URL: https://codereview.chromium.org/
10937026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12547
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 19 Sep 2012 11:09:07 +0000 (11:09 +0000)]
Remove whitespace
Review URL: https://chromiumcodereview.appspot.com/
10949018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12546
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00