Commit Graph

7816 Commits

Author SHA1 Message Date
verwaest@chromium.org
75f35d3fe1 Decoupling MarkDescriptorArray as much as possible from the ContentArray.
Review URL: https://chromiumcodereview.appspot.com/10417030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 15:15:17 +00:00
verwaest@chromium.org
3a2d4c88f4 TraversableMap only dependent on DescriptorArray
This is the first step towards merging the ContentArray into the DescriptorArray, (hence reclaiming 3 words per descriptor array).

Review URL: https://chromiumcodereview.appspot.com/10455005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11682 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:54:00 +00:00
erik.corry@gmail.com
8cf2af4392 Keep track of which maps are associated with prototype objects
so we can tune the fast-case vs. hash map heuristics accordingly.
Review URL: https://chromiumcodereview.appspot.com/10448011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:40:57 +00:00
rossberg@chromium.org
40cc4062d2 Fix broken change to d8 typed arrays.
R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10441091

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11680 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 14:26:34 +00:00
rossberg@chromium.org
716eac2801 Some clean-up of typed array support in d8.
R=yangguo@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10392130

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-30 13:35:29 +00:00
mstarzinger@chromium.org
ebe9a0e0b2 Fix missing write barrier in store field stub.
R=vegorov@chromium.org
BUG=v8:2143,v8:1465,chromium:129355
TEST=cctest/test-heap/Regress2143

Review URL: https://chromiumcodereview.appspot.com/10443052

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 16:39:26 +00:00
rossberg@chromium.org
50fdcca1da Proxies: Fix receiver for setters inherited from proxies.
R=mstarzinger@chromium.org
BUG=v8:1543
TEST=

Review URL: https://chromiumcodereview.appspot.com/10451064

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11677 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 14:00:56 +00:00
rossberg@chromium.org
7a7ea0b547 Proxies: Fix ToStringArray function so that it does not reject some keys.
R=mstarzinger@chromium.org
BUG=v8:1543
TEST=

Review URL: https://chromiumcodereview.appspot.com/10453053

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11676 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 13:57:55 +00:00
svenpanne@chromium.org
e0d4c33e3a Prepare push to trunk. Now working on version 3.11.8.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10451065

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11673 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 13:19:43 +00:00
svenpanne@chromium.org
39f88f1b26 Fixed JSObject::SetPropertyForResult (issue 2153)
AccessorPairs containing only holes are maps were handled incorrectly.

BUG=v8:2153
TEST=mjsunit/regress/regress-2153.js

Review URL: https://chromiumcodereview.appspot.com/10453054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11672 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-29 12:42:22 +00:00
mstarzinger@chromium.org
f9b8a8fc91 Revert r11665, r11666 and r11667 due to slowness.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10447033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 15:26:52 +00:00
verwaest@chromium.org
502123f912 Fixing debug build, missing parentheses
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10450038

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11667 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 13:39:07 +00:00
verwaest@chromium.org
1c332bfd2e Fixing unused Map* in release build
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10442032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 13:21:20 +00:00
verwaest@chromium.org
fd579e3dc8 TraversableMap only dependent on DescriptorArray
This is the first step towards merging the ContentArray into the DescriptorArray, (hence reclaiming 3 words per descriptor array).

Review URL: https://chromiumcodereview.appspot.com/10411067

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11665 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 13:03:34 +00:00
svenpanne@chromium.org
0fa7de11b5 Enable map transitions for accessor properties.
To avoid a performance regression for context creation with snapshots, we avoid
creating a useless long map chain for regular expressions, keeping the snapshot
size almost the same as before.

Review URL: https://chromiumcodereview.appspot.com/10440045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11664 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 12:32:02 +00:00
yangguo@chromium.org
24a1503d28 Fix creating substring in string.replace(<global regexp>, <function>).
BUG=
TEST=regexp-global.js

Review URL: https://chromiumcodereview.appspot.com/10454032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 10:52:38 +00:00
danno@chromium.org
407e070fe0 Add missing FastElements check.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10451034

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-25 09:58:40 +00:00
yurys@chromium.org
60da267ab6 Clear pending functions list in FuncNameInferrer when it closes
BUG=v8:2146
Review URL: https://chromiumcodereview.appspot.com/10414075

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11653 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 12:41:55 +00:00
yangguo@chromium.org
86c2a15691 messages.js: Get better function names in stack traces.
CallSite.getFunctionName() is able to retrieve names for functions better than
getFunction().name.  Use it in CallSite.toString().

Code by marja@chromium.org.

BUG=NONE
TEST=stack-traces.js: Added testClassNames.

Review URL: https://chromiumcodereview.appspot.com/10384196

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11652 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 11:00:05 +00:00
svenpanne@chromium.org
ff216c9cea Re-land: Use map transitions when defining accessor properties.
This is basically r11496, with the following changes:

 * Set back pointers in maps (cherry-picked from r11528)

 * Fixed size calculation in CopyInsert, as proposed by mstarzinger/rossberg

 * DefineFastAccessor uses GetCallbackObject instead of GetValue (for __proto__)

 * Put the code under a new flag, which is disabled by default

 * Cut down the corresponding regression test

 * Adapted bootup memory test, we actually only need a bit more memory on 64bit without snapshots, which can easily explained by more live maps lying around. Note that the snapshot variants are back to their previous limits.

Next steps: Investigate any performance degradationswith the flag enabled, and finally remove the flag when things are OK. Furthermore, GetCallbackObject should be merged into GetValue, the distinction is confusing and error-prone.

Review URL: https://chromiumcodereview.appspot.com/10445009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 10:40:24 +00:00
mmassi@chromium.org
9daf62dfce Broke line longer than 80 chars.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10451011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:59:21 +00:00
jkummerow@chromium.org
64459021ef Prepare push to trunk. Now working on version 3.11.7.
R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10442011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:26:03 +00:00
mmassi@chromium.org
0260303568 MIPS: Array index computation dehoisting.
Port r11596 (0cee9fca)

Original commit message:
Array index computation dehoisting.

When an array index (in an array access) is a simple "expression + constant", just embed the constant in the array access operation so that the full index expression is (potentially) no longer used and its live range can be much shorter.
This is effective in conjunction with array bounds check removal (otherwise the index is anyway used in the check).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10442003
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11644 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:22:29 +00:00
yangguo@chromium.org
3c074eb120 Fix lint check.
R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10447008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11640 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 08:09:21 +00:00
yangguo@chromium.org
ef7524bd29 MIPS: Implement loop for global regexps in regexp assembler.
Port r11623 (f153116d)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10436012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11639 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 07:29:49 +00:00
danno@chromium.org
17ec52b6cd Fix build and test failures from packed array optimizations.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10332317

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 21:15:14 +00:00
mstarzinger@chromium.org
7e613579be Fix RegExp.prototype.toString for incompatible receivers.
BUG=v8:1981
TEST=mjsunit/regexp

Review URL: https://chromiumcodereview.appspot.com/10426005
Patch from Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11637 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 20:48:08 +00:00
danno@chromium.org
9910edbb9a Implement tracking and optimizations of packed arrays
R=jkummerow@chromium.org
TEST=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10170030

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11636 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 14:24:29 +00:00
mstarzinger@chromium.org
c80dc925f2 Prepare push to trunk. Now working on version 3.11.6.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10411092

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11633 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 11:58:18 +00:00
mstarzinger@chromium.org
f17833b6ec Fix presubmit error in r11630.
TBR=erik.corry@gmail.com

Review URL: https://chromiumcodereview.appspot.com/10409091

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 11:40:38 +00:00
yangguo@chromium.org
30e7c23afd Fix argument passing to generated regexp code in Win64.
R=erik.corry@gmail.com
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10417049

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 11:36:54 +00:00
mstarzinger@chromium.org
7412d9adbe Change sentinel value for zapping of old-to-new pointers.
R=erik.corry@gmail.com
BUG=v8:2143

Review URL: https://chromiumcodereview.appspot.com/10411089

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 11:17:22 +00:00
svenpanne@chromium.org
cae003513b Fix two call to masm->CallStub on x64: should pass ASTId.
Review URL: https://chromiumcodereview.appspot.com/10383278

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 07:41:58 +00:00
yangguo@chromium.org
d70fb0dddc Fix Win64 build.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10414073

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 07:13:10 +00:00
loislo@chromium.org
610ef68f06 Eliminate dominator and retained_size fields. They are calculating on front-end side. See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/10416035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11626 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 05:27:08 +00:00
yangguo@chromium.org
7ab5dcf4df Fix stack push order when reserving space for regexp registers on Windows.
TBR=erik.corry@gmail.com
BUG=
TEST=test-regexp/MacroAssemblerNativeLotsOfRegisters

Review URL: https://chromiumcodereview.appspot.com/10407095

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 15:30:08 +00:00
yangguo@chromium.org
578fc3cc2d Implement loop for global regexps in regexp assembler.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10386090

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 14:05:44 +00:00
yangguo@chromium.org
50063d30c4 Ensure integrity of ASCII strings.
BUG=v8:2128
TEST=

Review URL: https://chromiumcodereview.appspot.com/10407090

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 12:49:20 +00:00
ulan@chromium.org
367757b794 Prepare push to trunk. Now working on version 3.11.5.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10399122

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 09:13:13 +00:00
mmassi@chromium.org
3fad332049 Disable array index dehoisting because of performance regressions on Kraken imaging-desaturate.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10383269

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 16:22:54 +00:00
yangguo@chromium.org
db509d17e6 Handle EINTR in socket functions and continue incomplete sends.
Based on a patch by Ben Noordhuis <info@bnoordhuis.nl>.

BUG=v8:2098
TEST=

Review URL: https://chromiumcodereview.appspot.com/10416006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 12:58:48 +00:00
yangguo@chromium.org
0bfedfb584 Make socket send and receive more robust and return 0 on failure.
R=jkummerow@chromium.org
BUG=15719
TEST=

Review URL: https://chromiumcodereview.appspot.com/10412021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 10:02:49 +00:00
yangguo@chromium.org
ee17b195a4 Fix GCC 4.7 (C++11) compilation.
Original patch by Olivier Goffart <ogoffart@kde.org>.

BUG=v8:2136
TEST=

Review URL: https://chromiumcodereview.appspot.com/10387210

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 09:59:28 +00:00
mmassi@chromium.org
2fd1e1bbc2 Array index computation dehoisting.
When an array index (in an array access) is a simple "expression + constant", just embed the constant in the array access operation so that the full index expression is (potentially) no longer used and its live range can be much shorter.
This is effective in conjunction with array bounds check removal (otherwise the index is anyway used in the check).

Review URL: https://chromiumcodereview.appspot.com/10382055

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 07:59:50 +00:00
ulan@chromium.org
750e2cda09 Prepare push to trunk. Now working on version 3.11.4.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10413005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 14:06:49 +00:00
ulan@chromium.org
15b796bec8 Disable optimization for functions that have scopes that cannot be reconstructed from the context chain.
BUG=v8:2071
TEST=mjsunit/regress/regress-2071.js

Review URL: https://chromiumcodereview.appspot.com/10388164

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 13:06:16 +00:00
yangguo@chromium.org
cb06ffab5e Correctly check for native error objects.
BUG=2138
TEST=

Review URL: https://chromiumcodereview.appspot.com/10392158

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 09:45:10 +00:00
erik.corry@gmail.com
3d45e98b5e Remove %_SwapElements. This inlined runtime contained an optimization that was dangerous in the presence of incremental compaction. It also prevented QuickSort from array.js from being optimized by Crankshaft, so it is probably better to do without it. We have high hopes that this will fix bug=117879.
Review URL: https://chromiumcodereview.appspot.com/10392150

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-17 20:53:32 +00:00
peter.rybin@gmail.com
401fbbaef6 Fix issue 825 (LiveEdit vs. function with no locals) for x64.
Review URL: https://chromiumcodereview.appspot.com/10387116

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 21:15:24 +00:00
yangguo@chromium.org
266c17e5d0 Simplify v8.gyp.
Based on http://codereview.chromium.org/10310156

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10398057

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 15:48:06 +00:00
yangguo@chromium.org
6c6c7d80e0 Prepare push to trunk. Now working on version 3.11.3.
R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10332194

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 12:35:01 +00:00
yangguo@chromium.org
ec1fc618ff Revert r11496.
CL being reverted: https://chromiumcodereview.appspot.com/10238005

BUG=128146
TEST=regress-128146

Review URL: https://chromiumcodereview.appspot.com/10386166

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 11:07:54 +00:00
mstarzinger@chromium.org
f9b93e6cc7 Implement map collection for incremental marking.
This causes map transitions to be treated weakly during incremental
marking and hence allows clearing of non-live transitions. The marking
code is now shared between incremental and non-incremental mode.

R=vegorov@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465

Review URL: https://chromiumcodereview.appspot.com/10310168

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 10:07:50 +00:00
erik.corry@gmail.com
83fbd2b52d MIPS: Fix simplification of DoLoadNamedFieldPolymorphic. This is a commit of https://chromiumcodereview.appspot.com/10391096/ for Akos Palfi
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 09:07:57 +00:00
mstarzinger@chromium.org
18a5298a6c Fix CreateEmptyFunction to not share descriptor array.
R=ulan@chromium.org
BUG=v8:1465

Review URL: https://chromiumcodereview.appspot.com/10388158

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 07:52:41 +00:00
danno@chromium.org
7966fb3d8c Always transition empty FAST_DOUBLE_ARRAYs on push
R=mstarzinger@chromium.org
BUG=chromium:128018
TEST=test/mjsunit/regress/regress-128018.js

Review URL: https://chromiumcodereview.appspot.com/10387130

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 16:17:53 +00:00
mstarzinger@chromium.org
4a7c70de23 Add zapping of Map contents in debug mode.
This zaps the contents of stale descriptor arrays and prototype
transition arrays before overwriting references to them. It should help
to discover accidental sharing early and is needed for the heap verifier
when map collection with incremental marking lands.

R=ulan@chromium.org
BUG=v8:1465

Review URL: https://chromiumcodereview.appspot.com/10383186

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 15:45:38 +00:00
yangguo@chromium.org
5d34345c96 messages.js: Add toString to CallSite (which describes a frame of the stack trace).
This is useful for users who overwrite Error.prepareStackTrace but want to use
this functionality for formatting the individual frames.

BUG=NONE
TEST=NONE

Review URL: https://chromiumcodereview.appspot.com/10388140


Review URL: https://chromiumcodereview.appspot.com/10332172

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:24:44 +00:00
yangguo@chromium.org
5cec8ad1e8 Prepare push to trunk. Now working on version 3.11.2.
R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10389144

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:13:18 +00:00
mstarzinger@chromium.org
88a9350f14 Revert r11556 and r11558 to allow roll.
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10383182

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 12:01:23 +00:00
rossberg@chromium.org
1016c4a285 Add a readbuffer function to d8, that reads a file into an ArrayBuffer.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10388140

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 11:00:30 +00:00
erik.corry@gmail.com
37ef03758f Add a little more post morten debug info for the minidump.
Review URL: https://chromiumcodereview.appspot.com/10387127

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:54:54 +00:00
yangguo@chromium.org
ea7c5a23a3 Fix freebsd build.
BUG=2126
TEST=

Review URL: https://chromiumcodereview.appspot.com/10381149
Patch from Geoffrey Garside <ggarside@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11561 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:21:49 +00:00
rossberg@chromium.org
01dac9a99d Improve typed arrays support in d8.
Add properties buffer, byteLength, and byteOffset to typed arrays.

R=yangguo@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10389140

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:21:18 +00:00
ulan@chromium.org
bd1070b6ad Fix ucontext structure for Android on x86
Review URL: https://chromiumcodereview.appspot.com/10310116
Patch from Lijuan Xiao <lijuan.xiao@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:19:00 +00:00
rossberg@chromium.org
a662a25469 Revert flag change for global semantics.
(Still breaks a couple of WebKit tests.)

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10381147

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 09:01:06 +00:00
mstarzinger@chromium.org
0c54a2371c Implement map collection for incremental marking.
This causes map transitions to be treated weakly during incremental
marking and hence allows clearing of non-live transitions. The marking
code is now shared between incremental and non-incremental mode.

R=vegorov@chromium.org
BUG=v8:1465
TEST=cctest/test-heap/Regress1465

Review URL: https://chromiumcodereview.appspot.com/10386046

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-15 08:39:25 +00:00
alexeif@chromium.org
e74b8c0952 Serialize heap snapshot data as an array of unsigned values.
None of the values can in fact be negative, while object IDs
can have the highest bit set which lead to negative values appear
in the snapshot that front-end is unable to parse.

Review URL: https://chromiumcodereview.appspot.com/10356143

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-12 16:41:13 +00:00
jkummerow@chromium.org
3f748cf5da Prepare push to trunk. Now working on version 3.11.1.
R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10389094

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 14:57:47 +00:00
erik.corry@gmail.com
423451aed7 Simplify DoLoadNamedFieldPolymorphic
Review URL: https://chromiumcodereview.appspot.com/10386089

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-11 09:13:02 +00:00
erik.corry@gmail.com
f8bdbf1ce1 Fix compose-discard crasher from 11524 - port to x64, ARM, MIPS.
This is now bug 2123.
TBR=mstarzinger
Review URL: https://chromiumcodereview.appspot.com/10391061

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 21:25:49 +00:00
erik.corry@gmail.com
50ecb6f011 Fix compose-discard crasher from 11524. We can't do a call (to a generic
stub) unless there is a pointer map.  This does not fix the 3d-raytrace
regression, that will be in another change.
Review URL: https://chromiumcodereview.appspot.com/10382102

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 20:34:06 +00:00
alexeif@chromium.org
7bf37bc6c6 Set object tags directly to the entry name in heap profiler.
Review URL: https://chromiumcodereview.appspot.com/10382106

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 15:55:19 +00:00
rossberg@chromium.org
102de8e2ca Activate new global semantics by default.
R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10383085

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 10:35:42 +00:00
alexeif@chromium.org
4e3c3a9577 Merge SetObjectNames extra pass into the main pass.
Because heap snapshotting is now performed in a single pass
it is safe to make calls to GetConstructorName and further to
LocalLookupRealNamedProperty right within that main pass.

Review URL: https://chromiumcodereview.appspot.com/10332087

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-10 09:17:32 +00:00
alexeif@chromium.org
f1ff027d3a Fix formatting.
TBR=mnaganov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10356075

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 15:49:03 +00:00
danno@chromium.org
159ee25bbf Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when transitioning.
R=jkummerow@chromium.org
BUG=chromium:117409
TEST=test/mjsunit/regress/regress-117409.js

Review URL: https://chromiumcodereview.appspot.com/10386045

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 15:18:50 +00:00
fschneider@chromium.org
51b569bd21 Declare more functions returing a MaybeObject* with MUST_USE_RESULT.
No violations found this time.

Additionally I changed one function JSDate::GetField that never returns
a failure to return a Object* instead.
Review URL: https://chromiumcodereview.appspot.com/10383088

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 14:34:27 +00:00
alexeif@chromium.org
132af25697 Split nodes and edges into separate arrays in heap profiler.
This allowed the following changes:
  - heap profiler now makes one pass less over the heap.
  - HeapEntriesMap does not allocate EntryInfo per each entry.
  - there's no need for an extra pass to set indexes before serialization.

As a result snapshot taking time has reduced up to 2x times.

Review URL: https://chromiumcodereview.appspot.com/10353010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 14:34:13 +00:00
fschneider@chromium.org
b28f403cfa Force checking of result on all functions in elements.h that return MaybeObject*.
Add two missing failure checks found by this.
Review URL: https://chromiumcodereview.appspot.com/10356071

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 12:49:56 +00:00
rossberg@chromium.org
9f04d73350 Make Error.prototype.name writable again, as required by the spec and the web.
Address http://code.google.com/p/chromium/issues/detail?id=69187 by instead
ignoring getters on ReferenceError.prototype.name in Error.prototype.toString.

And while we're at it, do the same for SyntaxError and TypeError, and the
properties "message", "type", and "arguments" on all of them, which
potentially have similar issues.

R=danno@chromium.org
BUG=69187
TEST=

Review URL: https://chromiumcodereview.appspot.com/10234004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 12:35:11 +00:00
mstarzinger@chromium.org
526b3f2cac Implement explicit back pointers in transition tree.
This makes back pointers in the map transition tree explicit by having
accurate back pointers throughout the lifetime of maps instead of
establishing and destroying back pointers before and after each marking
phase. This is a prerequisite for being able to clear map transitions
during incremental marking.

R=vegorov@chromium.org
BUG=v8:1465

Review URL: https://chromiumcodereview.appspot.com/10381053

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-09 07:29:18 +00:00
yangguo@chromium.org
13e4b7d881 Force inlining CopyChars and String::Get.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10332054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-08 12:38:24 +00:00
erik.corry@gmail.com
9889994c08 Fix function sorter from 11482 with correct fix. The sorter
was reverted from trunk 3.10.8.1, with this change we can
repush it.
Review URL: https://chromiumcodereview.appspot.com/10377043

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-08 12:30:36 +00:00
erik.corry@gmail.com
681f2951c6 Regexp: Fix overflow in min-match-length calculation. Crbug=126412.
Review URL: https://chromiumcodereview.appspot.com/10384053

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-08 12:18:08 +00:00
erik.corry@gmail.com
29c48e1076 Make DeltaBlue performance more stable by ignoring type feedback that
tells us that a map can transition to another map when we are generating
code for load operations.  This may cause us to deopt if the same routine
is seeing different maps caused by branching in constructors.  If so, I
have a different change that is around 100 times more complicated that
lets us generated Crankshaft code for negative lookups.
Review URL: https://chromiumcodereview.appspot.com/10306010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-08 09:22:58 +00:00
yangguo@chromium.org
2cb65b13be MIPS: Fixed illegal instruction use on Loongson in code for Math.random().
BUG=v8:2115
TEST=mjsunit/string-case,mjsunit/regress/regress-110509,mjsunit/math-floor

Review URL: https://chromiumcodereview.appspot.com/10383044
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-07 17:31:14 +00:00
erik.corry@gmail.com
80256c7452 Fix crash bug in VisitChoice (bug=126272).
Review URL: https://chromiumcodereview.appspot.com/10332035

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-07 13:23:56 +00:00
jkummerow@chromium.org
63263a9aa9 Fix unsigned-Smi check in MappedArgumentsLookup
BUG=126414
TEST=mjsunit/regress/regress-crbug-126414

Review URL: https://chromiumcodereview.appspot.com/10375033

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-07 10:05:39 +00:00
yangguo@chromium.org
718ec5eb64 Handle negative number in Math.floor,ia32,non-SSE4.1 code path.
Zheng Liu
zheng.z.liu@intel.com

Review URL: https://chromiumcodereview.appspot.com/10168001
Patch from Zheng Liu <zheng.z.liu@intel.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 15:50:43 +00:00
yangguo@chromium.org
05c195bd96 Intercept a crash, put debug information onto the stack and then abort gracefully.
BUG=125128
TEST=

Review URL: https://chromiumcodereview.appspot.com/10375009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 13:20:41 +00:00
ulan@chromium.org
ae0a7ec93a Use correct size of promoted space for setting promotion and allocation limits.
Review URL: https://chromiumcodereview.appspot.com/10376008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 09:36:46 +00:00
mstarzinger@chromium.org
11d24334fc Implement ClearFunctionTypeFeedback for test cases.
R=danno@chromium.org
TEST=mjsunit/compiler/inline-construct

Review URL: https://chromiumcodereview.appspot.com/10332010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 09:16:38 +00:00
danno@chromium.org
9f75aa3d7b MIPS: ARM: Ensure reload of elements pointer in StoreFastDoubleElement stub
Port r11483 (c291e80e)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10348016
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 09:07:22 +00:00
mstarzinger@chromium.org
a5a5f26ebb MIPS: Fix register clobbering in LoadIC for interceptors.
Port r11492 (d14ada19)

Original commit message:
Fix register clobbering in LoadIC for interceptors.

This fixes a corner-case where the receiver register was clobbered by
LoadICs for interceptors and inlined followup code still relied on the
receiver to be intact in case of prototype changes.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10315016
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 08:34:59 +00:00
mstarzinger@chromium.org
6531771c71 MIPS: Implement clearing of CompareICs.
Port r11491 (705d40cc)

Original commit message:
Implement clearing of CompareICs.

This allows CompareICs to be cleared during garbage collection to avoid
cross-context garbage retention through maps stored in CompareIC stubs
for the KNOWN_OBJECTS state.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10342024
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-04 07:53:11 +00:00
peter.rybin@gmail.com
a33c883008 Fix warning on Win64
Review URL: https://chromiumcodereview.appspot.com/10372003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 22:19:12 +00:00
peter.rybin@gmail.com
1719a1499a Fix issue 825 (LiveEdit vs. function with no locals) in core and for ia32.
Review URL: https://chromiumcodereview.appspot.com/10263002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 17:31:34 +00:00
danno@chromium.org
e443c69b8d MIPS: Reduce size of LIR instruction by one word and remove dead code.
Port r11454 (72c662fc)

Original commit message:
Reduce size of LIR instruction by one word and remove dead code.

Until now we always recorded two deoptimization environments for instructions
that are marked as calls. We actually don't need two for all LIR
instructions except one (LInstanceOfKnownGlobal) where there is a lazy
deoptimization point in deferred code.

This change remove on of them and uses one virtual function instead
to make LInstanceOfKnownGlobal work as before.

Additionally, this change removes an unused predicate save_doubles_ from LIR
instructions and removes some helper functions that are used only in one place.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10233019
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11501 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 15:13:04 +00:00
erik.corry@gmail.com
f54484aff4 Fix assert in function sorter.
Review URL: https://chromiumcodereview.appspot.com/10364002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 14:09:26 +00:00
svenpanne@chromium.org
065cc14449 Use map transitions when defining accessor properties.
AccessorPairs can now contain map transitions, which is similar to our current
handling of CONSTANT_FUNCTION/CONSTANT_TRANSITION, but generalized to a pair for
holding info about the getter and the setter. This way we can achieve map
sharing for objects with accessor properties, which is a prerequisite for making
them fast via inlining. We fall back to the previous way of handling accessor
properties when sharing is not possible or we don't handle a special case.

Note: When an exisiting accessor property is redefined we could in principle
move the AccessorPair out of the descriptor into the object itself (again just
like the way we do something similar for CONSTANT_FUNCTION/CONSTANT_TRANSITION),
but this would require a new property kind for holding a pair of values. Perhaps
we can implement this later, but for now this hopefully rare case is handled
like before, losing map sharing and potentially creating more maps than strictly
necessary.

Review URL: https://chromiumcodereview.appspot.com/10238005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 12:41:40 +00:00
mstarzinger@chromium.org
d965561862 Fix register clobbering in LoadIC for interceptors.
This fixes a corner-case where the receiver register was clobbered by
LoadICs for interceptors and inlined followup code still relied on the
receiver to be intact in case of prototype changes.

R=vegorov@chromium.org
BUG=chromium:125988
TEST=cctest/test-api/Regress125988

Review URL: https://chromiumcodereview.appspot.com/10358010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 11:28:24 +00:00
mstarzinger@chromium.org
c810016e77 Implement clearing of CompareICs.
This allows CompareICs to be cleared during garbage collection to avoid
cross-context garbage retention through maps stored in CompareIC stubs
for the KNOWN_OBJECTS state.

R=vegorov@chromium.org
BUG=v8:2102

Review URL: https://chromiumcodereview.appspot.com/10263008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 10:54:17 +00:00
danno@chromium.org
7f5920dc94 Prepare push to trunk. Now working on version 3.11.0.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10354006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 09:02:57 +00:00
erik.corry@gmail.com
baf7ebd6da Fix assert triggered in fast/regex/pcre-test-4.html We were not filtering out
all the nodes that had non-ASCII characters.  That has been fixed, but because
of the protection against over-deep recursion when filtering it is wrong to
assert that all nodes were filtered.  This change therefore also makes sure we
can cope with non-filtered nodes by adding back some code removed in
https://chromiumcodereview.appspot.com/10174017/
Review URL: https://chromiumcodereview.appspot.com/10358008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 08:22:12 +00:00
danno@chromium.org
eb05917323 ARM: Ensure reload of elements pointer in StoreFastDoubleElement stub
R=mstarzinger@chromium.org
TEST=test/mjsunit/regress/regress-125515.js
BUG=chromium:125515

Review URL: https://chromiumcodereview.appspot.com/10298010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-03 07:09:17 +00:00
erik.corry@gmail.com
cb8df6e624 Sort functions when doing megamorphic dispatch/inlining so their
order does not depend on the hash seed.
Review URL: https://chromiumcodereview.appspot.com/10270032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 13:07:31 +00:00
erik.corry@gmail.com
bd3c2c028f Enable code flushing even when objects were marked incrementally,
since the incremental visitor is setting the gc_age fields correctly.
This means the ResetSharedFunctionInfoCountersDuringIncrementalMarking
test passes even if it hits a marking stack overflow.
Review URL: https://chromiumcodereview.appspot.com/10258001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 12:58:40 +00:00
yangguo@chromium.org
ce8f4df9b2 Small patch to save one jump instruction and one label bind in JSEntryStub.
BUG=v8:2105
TEST=

Review URL: https://chromiumcodereview.appspot.com/10249003
Patch from Zhongping Wang <kewpie.w.zp@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 12:13:39 +00:00
danno@chromium.org
908e77a53a Ensure reload of elements pointer in StoreFastDoubleElement stub.
R=mstarzinger@chromium.org
TEST=test/mjsunit/regress/regress-125515.js
BUG=chromium:125515

Review URL: https://chromiumcodereview.appspot.com/10260014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 09:58:42 +00:00
mstarzinger@chromium.org
2c64592065 MIPS: Fix LFastLiteral to check boilerplate elements kind.
Port r11470 (621f96c0)

Original commit message:
Fix LFastLiteral to check boilerplate elements kind.

Adds a missing check that the elements kind of the boilerplate object
still has the expected elements kind, unoptimized code can transition
the boilerplate. Corner cases might cause the optimized code to be
reentered again.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10271018
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-02 07:51:03 +00:00
jkummerow@chromium.org
0133965d1b Fix mistakes in r11472
TBR=vegorov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10274008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 17:06:13 +00:00
jkummerow@chromium.org
f6dacfe83a Fixed corner cases in truncation behavior when storing to TypedArrays.
Also simplified ia32 KeyedStoreStubCompiler::GenerateStoreExternalArray a bit.

BUG=v8:2110
TEST=mjsunit/regress/regress-2110

Review URL: https://chromiumcodereview.appspot.com/10260011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11472 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 15:17:59 +00:00
vegorov@chromium.org
49989753ea Don't ignore return value of CommitCodePage in AllocateAlignedMemory.
Release the mapping as whole if commit failed to avoid leaking virtual address space.

R=mstarzinger@chromium.org
BUG=chromium:118625

Review URL: https://chromiumcodereview.appspot.com/10260012

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 15:02:43 +00:00
mstarzinger@chromium.org
b54ca31fb2 Fix LFastLiteral to check boilerplate elements kind.
Adds a missing check that the elements kind of the boilerplate object
still has the expected elements kind, unoptimized code can transition
the boilerplate. Corner cases might cause the optimized code to be
reentered again.

R=danno@chromium.org
TEST=mjsunit/regress/regress-fast-literal-transition

Review URL: https://chromiumcodereview.appspot.com/10254006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 14:59:13 +00:00
ulan@chromium.org
bc46d6c4a4 Make sure idle notifications perform a round of incremental GCs after context disposal.
BUG=v8:2107

Review URL: https://chromiumcodereview.appspot.com/10209026

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 14:41:12 +00:00
svenpanne@chromium.org
6aceff1fa9 Fixed preparser for try statement. Tiny cleanup.
BUG=v8:2109
TBR=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10270007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 13:04:08 +00:00
danno@chromium.org
a1fe6f3b58 Prepare push to trunk. Now working on version 3.10.8.
R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10268006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 12:32:11 +00:00
ulan@chromium.org
8768af54b6 Revert r11425 because of V8 benchmark performance regression.
Original CL: https://chromiumcodereview.appspot.com/10202007 "Re-enable optimization for hot functions that have optimization disabled due to many deopts."

Review URL: https://chromiumcodereview.appspot.com/10265008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 11:54:34 +00:00
jkummerow@chromium.org
347d28f282 One more register change missing from r11460.
Also re-enable disabled test (reverts r11461).

BUG=v8:2108
TEST=mozilla tests pass

Review URL: https://chromiumcodereview.appspot.com/10178039

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-30 08:53:48 +00:00
jkummerow@chromium.org
28bf8bfc4b ia32: Redefine register usage in LoadIC/KeyedLoadIC to match StoreIC and KeyedStoreIC
Review URL: https://chromiumcodereview.appspot.com/10254005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-27 13:05:45 +00:00
yangguo@chromium.org
03e8d039ca MIPS: Removed unused variables.
These were found by compilation errors with gcc 4.6.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10253004
Patch from Daniel Kalmar <kalmard@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-27 12:57:01 +00:00
peter.rybin@gmail.com
569eba39f5 Issue 2081: Expose function's (closure's) inner context in debugger.
This is against the correct branch (bleeding_edge).

Review URL: https://chromiumcodereview.appspot.com/10171003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 20:16:53 +00:00
mstarzinger@chromium.org
94e5a8dfcd Print compare-state with --print-code-stubs.
R=vegorov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10235006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 16:19:14 +00:00
erik.corry@gmail.com
292e007cf3 Remove more assumptions from debug tests. Even though a function
is optimized, does not mean all frames on the stack are optimized.
Also, when we ask for the list of scripts we may get more or less
depending on GC timing.  Also fixed a presubmit error and made
%GetOptimizationStatus a little more honest.
Review URL: https://chromiumcodereview.appspot.com/10234007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 13:44:18 +00:00
fschneider@chromium.org
f46906d7a8 Reduce size of LIR instruction by one word and remove dead code.
Until now we always recorded two deoptimization environments for instructions
that are marked as calls. We actually don't need two for all LIR
instructions except one (LInstanceOfKnownGlobal) where there is a lazy
deoptimization point in deferred code.

This change remove on of them and uses one virtual function instead
to make LInstanceOfKnownGlobal work as before.

Additionally, this change removes an unused predicate save_doubles_ from LIR
instructions and removes some helper functions that are used only in one place.
Review URL: https://chromiumcodereview.appspot.com/10035021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 12:43:00 +00:00
yangguo@chromium.org
657ffd8815 Use simple concat of substrings instead of ReplaceStringBuilder for non-global replacements.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10134057

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 11:43:59 +00:00
ulan@chromium.org
9e55943b64 Add missing literal pool guards.
BUG=V8:2095
TEST=see issue

Review URL: https://chromiumcodereview.appspot.com/10233006
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 11:14:24 +00:00
erik.corry@gmail.com
7783ba5d81 Reenable some heap verification and fix test to keep
heap in a consistent state.
Review URL: https://chromiumcodereview.appspot.com/10227002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 09:11:45 +00:00
erik.corry@gmail.com
d511b69e86 Regexp: Remove nodes from the regexp that cannot match because
they contain non-ASCII characters and the input string is ASCII.
Remove unused Clone() method.
Review URL: https://chromiumcodereview.appspot.com/10174017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 09:11:19 +00:00
danno@chromium.org
4b920a20ab Reduce expense of TraceGVN when --trace-gvn is off
R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10233004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 09:07:39 +00:00
yangguo@chromium.org
86396a1cba Prepare push to trunk. Now working on version 3.10.7.
R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10233003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 08:19:17 +00:00
yangguo@chromium.org
c5b9783edb Remove unused variable in src/platform-solaris.cc.
Based on a patch contributed by Heinz Gies <heinz@licenser.net>

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10231004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-26 07:45:29 +00:00
peter.rybin@gmail.com
53eb3b02e2 Add "step in recommended" to LiveEdit response object.
Review URL: https://chromiumcodereview.appspot.com/10185006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 23:06:30 +00:00
danno@chromium.org
b3f6c0b237 Fix 64-bit windows size_t assert
R=mstarzinger@chromium.org
TEST=Windows 64 bit build goes green

Review URL: https://chromiumcodereview.appspot.com/10221006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 15:41:57 +00:00
mmassi@chromium.org
93113da5a2 Eliminate redundant array bound checks (checks already performed earlier in the DT).
As a special case, for checks on index expressions with the form (expr + constant) if a smaller constant is checked later in the DT also eliminate the check.
Finally, if a larger constant is checked later in the same BB do the more general check (larger constant) earlier instead of the less general one.
This will not cause useless deoptimizations because, since we are in the same BB, all the checks would have been executed anyway.
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10032029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 14:32:27 +00:00
mstarzinger@chromium.org
21fc0fef6a Fix deopted construct stub frame to contain code object.
R=danno@chromium.org
BUG=chromium:124594
TEST=mjsunit/regress/regress-124594

Review URL: https://chromiumcodereview.appspot.com/10155024

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 13:22:04 +00:00
erik.corry@gmail.com
810693a737 Temporarily disable some heap verification while test failures are
investigated.
Review URL: https://chromiumcodereview.appspot.com/10221004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 13:12:08 +00:00
danno@chromium.org
a1a4a1cf2f Use safe string utilities to fix Windows build error.
R=mstarzinger@chromium.org
TEST=waterfall goes green

Review URL: https://chromiumcodereview.appspot.com/10173023

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 13:12:00 +00:00
danno@chromium.org
39fa51d452 Improve --trace-gvn debug output
R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10203010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 12:04:23 +00:00
erik.corry@gmail.com
13c4191d62 Fix release build. Add comment accidentally omitted from
preceeding change (stress-compaction).
Review URL: https://chromiumcodereview.appspot.com/10161027

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 11:49:31 +00:00
erik.corry@gmail.com
f6f954484c Make --stress-compaction more stressful.
Review URL: https://chromiumcodereview.appspot.com/10141007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 11:35:32 +00:00
alexeif@chromium.org
f7f81c4651 Add field names to Code, ConsString, and JSGlobalPropertyCell in heap snapshot.
Review URL: https://chromiumcodereview.appspot.com/10217001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 10:20:38 +00:00
mstarzinger@chromium.org
6aeed46180 Make String::Empty inlineable.
R=svenpanne@chromium.org
TEST=cctest/test-api/StringEmpty

Review URL: https://chromiumcodereview.appspot.com/10199019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-25 08:45:45 +00:00
fschneider@chromium.org
e07be0b068 Attempt to fix Win32 build by avoiding a compiler intrinsic.
TBR=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10198020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-24 16:37:43 +00:00
fschneider@chromium.org
6e713a269d Optimise Math.floor(x/y) to use integer division for specific divisor.
Landing for Rodolph Perfetta <rodolph.perfetta@gmail.com>. 

Original CL: http://codereview.chromium.org/9638018/
Review URL: https://chromiumcodereview.appspot.com/10197010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-24 15:59:07 +00:00
mstarzinger@chromium.org
c25a92d76b Make Isolate::GetData and Isolate::SetData inlineable.
R=svenpanne@chromium.org
TEST=cctest/test-api/IsolateEmbedderData

Review URL: https://chromiumcodereview.appspot.com/10196013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-24 14:37:53 +00:00
ulan@chromium.org
a139e38c0b Re-enable optimization for hot functions that have optimization disabled due to many deopts.
Use exponential backoff in order to avoid getting into optimization-deoptimization cycle.

BUG=v8:2040,121196

Review URL: https://chromiumcodereview.appspot.com/10202007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-24 14:05:07 +00:00
alexeif@chromium.org
20e6446bd2 Refactoring of heap profiler: split ExtractReferences into several functions.
Review URL: https://chromiumcodereview.appspot.com/10198011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-24 12:38:58 +00:00
erik.corry@gmail.com
83cbc638dc Remove some unused stuff from regexp implementation.
Review URL: https://chromiumcodereview.appspot.com/10205010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-04-24 09:34:13 +00:00