mvstanton@chromium.org
b3c0ed8245
Enable --verify-heap in release mode
...
R=mstarzinger@chromium.org
BUG=v8:2120
Review URL: https://codereview.chromium.org/11118018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-12 11:41:14 +00:00
svenpanne@chromium.org
1f3bdabd80
Ensure that we do not accidentally emit debug code.
...
The call sites are more concise, the naming is better and at least one
case of superfluous code in release mode was removed.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/11108011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-12 11:09:14 +00:00
danno@chromium.org
0457a3be0a
DoNumberTagD performance improvement
...
Allocate heap entry untagged and tag at end to avoid having to subtract off
the tag offset before storing the value.
BUG=
Review URL: https://codereview.chromium.org/11028115
Patch from Anthony Berent <aberent@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-12 10:58:25 +00:00
ulan@chromium.org
ede725d2f7
Fix vstr.cc S, [mem] to emit vstr instead of vldr.
...
BUG=emits wrong instruction
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/11118015
Patch from JF Bastien <jfb@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-12 09:27:12 +00:00
verwaest@chromium.org
9ecabf526c
Make EnumCacheBridge immutable.
...
Review URL: https://chromiumcodereview.appspot.com/11048051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-12 08:16:49 +00:00
svenpanne@chromium.org
48d92f6167
MIPS: Consistently use named getters for Lithium operands on ARM.
...
Port r12527 (24ed881a)
BUG=
TEST=
Review URL: https://codereview.chromium.org/11109003
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-12 07:05:00 +00:00
jkummerow@chromium.org
c756e14b0b
Prepare push to trunk. Now working on version 3.14.4.
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/11094073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-11 15:35:24 +00:00
verwaest@chromium.org
b75705f07b
Don't clear EnumLength but rather copy the enum cache. Added regression test for crashes from chromecrash.
...
Review URL: https://chromiumcodereview.appspot.com/11103036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-11 15:33:34 +00:00
jkummerow@chromium.org
942e7424e9
Use native context to retrieve ErrorMessageForCodeGenerationFromStrings
...
BUG=155076
Review URL: https://codereview.chromium.org/11093073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12703 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-11 14:14:24 +00:00
svenpanne@chromium.org
86bcbcdc0b
HChange is only deletable under certain circumstances.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/11092075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12702 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-11 14:14:03 +00:00
rossberg@chromium.org
348736efaa
Find a stack limit for the test that works on both Win32 and Linux64.
...
R=mstarzinger@chromium.org
BUG=151625
Review URL: https://codereview.chromium.org/11086073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12701 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-11 13:10:24 +00:00
rossberg@chromium.org
ddbd426821
Increase stack size for test to work on x64.
...
R=jkummerow@chromium.org
BUG=151625
Review URL: https://codereview.chromium.org/11098070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-11 12:11:46 +00:00
verwaest@chromium.org
ad6a21c0d0
Remove descriptors pointer.
...
Secondary changes:
- don't transfer ownership back on CNLT
- turned debugging checks back into ASSERT
Review URL: https://chromiumcodereview.appspot.com/11099064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12699 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-10-11 12:01:19 +00:00
rossberg@chromium.org
00132da734
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
2012-10-11 11:40:10 +00:00
svenpanne@chromium.org
f03fd70d9e
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
2012-10-11 10:52:58 +00:00
verwaest@chromium.org
bfb2db2329
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
2012-10-10 17:05:00 +00:00
ulan@chromium.org
cd3907cadd
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
2012-10-10 16:15:29 +00:00
verwaest@chromium.org
e5620d5a58
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
2012-10-10 14:48:07 +00:00
verwaest@chromium.org
c2a9d49393
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
2012-10-10 13:13:35 +00:00
verwaest@chromium.org
dde1cdfb8e
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
2012-10-10 12:31:50 +00:00
verwaest@chromium.org
55e924c595
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
2012-10-10 12:29:44 +00:00
mstarzinger@chromium.org
8b299a5b0e
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
2012-10-10 11:58:22 +00:00
mstarzinger@chromium.org
2c7b630d09
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
2012-10-10 11:13:15 +00:00
mstarzinger@chromium.org
270316e953
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
2012-10-09 15:12:39 +00:00
svenpanne@chromium.org
f81b06dde5
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
2012-10-09 13:53:24 +00:00
rossberg@chromium.org
012ae4761c
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
2012-10-09 08:34:39 +00:00
mstarzinger@chromium.org
4887285da4
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
2012-10-09 08:24:58 +00:00
danno@chromium.org
037558c1c0
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
2012-10-08 13:49:57 +00:00
svenpanne@chromium.org
5d11c5ee69
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
2012-10-08 12:58:46 +00:00
danno@chromium.org
0a41d2731c
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
2012-10-08 12:50:15 +00:00
danno@chromium.org
29264132c4
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
2012-10-08 11:58:08 +00:00
rossberg@chromium.org
0c2fd0daa7
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
2012-10-08 11:39:08 +00:00
ulan@chromium.org
7bea116e50
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
2012-10-08 11:11:30 +00:00
rossberg@chromium.org
329cf12363
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
2012-10-05 12:47:34 +00:00
rossberg@chromium.org
b07f38a46b
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
2012-10-05 09:14:08 +00:00
rossberg@chromium.org
3f7b5c338a
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
2012-10-05 09:07:53 +00:00
jkummerow@chromium.org
f1d3d734de
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
2012-10-05 08:58:02 +00:00
verwaest@chromium.org
6e1bafc808
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
2012-10-04 11:09:17 +00:00
danno@chromium.org
a92a9c8a2c
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
2012-10-04 09:46:50 +00:00
ulan@chromium.org
a80f7f42dd
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
2012-10-02 16:48:45 +00:00
mstarzinger@chromium.org
739c9f6f01
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
2012-10-02 15:46:55 +00:00
ulan@chromium.org
64cc601e49
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
2012-10-02 13:20:27 +00:00
jkummerow@chromium.org
e0c7d8301f
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
2012-10-02 11:07:26 +00:00
jkummerow@chromium.org
bdc466422b
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
2012-10-02 10:59:44 +00:00
jkummerow@chromium.org
ecc7f4baad
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
2012-10-02 10:51:00 +00:00
jkummerow@chromium.org
dfb4218a04
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
2012-10-02 09:58:11 +00:00
jkummerow@chromium.org
f10f4fc49c
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
2012-10-02 08:50:02 +00:00
verwaest@chromium.org
885837d981
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
2012-10-02 07:54:41 +00:00
danno@chromium.org
08747c3a16
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
2012-10-01 21:27:33 +00:00
jkummerow@chromium.org
12d4075c03
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
2012-10-01 17:16:00 +00:00