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
jkummerow@chromium.org
ee13c8b2dc
Speculative fix for ChromiumOS(ARM) cross-compile buildbots
...
R=mstarzinger@chromium.org
TEST=http://build.chromium.org/p/chromium.chromiumos/builders/ChromiumOS%20%28arm%29 build succeeds
Review URL: https://chromiumcodereview.appspot.com/10432004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11643 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-24 09:19:28 +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
mstarzinger@chromium.org
596d7127d7
Fix harness for fuzzer to run for 100 iterations only.
...
R=jkummerow@chromium.org
TEST=tools/fuzz-harness.sh
Review URL: https://chromiumcodereview.appspot.com/10409073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-23 07:55:38 +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
mstarzinger@chromium.org
99d69e0f29
Add harness script for JavaScript language fuzzer.
...
R=jkummerow@chromium.org
TEST=tools/fuzz-harness.sh
Review URL: https://chromiumcodereview.appspot.com/10407094
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 15:15:44 +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
erik.corry@gmail.com
5cd40f740d
Grokdump -f: Automatically detect memory that is x86/x64 instructions or text and dump appropriately.
...
Review URL: https://chromiumcodereview.appspot.com/10356150
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 11:08:05 +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
jkummerow@chromium.org
eedb79534b
Some cleanup to common.gypi. This fixes some host/target combinations that weren't working in the Make build on Mac.
...
Review URL: https://chromiumcodereview.appspot.com/10416005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-22 08:10:58 +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
7813b1dd70
Fixing python deprecations.
...
Original patch by Alexey Stukalov <astukalov@gmail.com>.
BUG=v8:1391
TEST=
Review URL: https://chromiumcodereview.appspot.com/10412022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 10:19:28 +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
jkummerow@chromium.org
9dedc37b09
Set '-m32' option for host and target platforms
...
For different host and target archs, try to check whether
their compilers support '-m32' option individually. If yes,
then add this option into cflags and ldflags. The exception is
that both host and target archs are 'x64'.
Review URL: https://chromiumcodereview.appspot.com/10335014
Patch from Yongsheng Zhu <yongsheng.zhu@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-21 09:01:19 +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
4b8d746bd4
Fix shared library build errors.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10389203
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 11:15:14 +00:00
yangguo@chromium.org
70408d49b1
Define V8_EXPORT to nothing for clients of v8.
...
This is to make sure that inline functions are only exported by
libv8.so and not also by all clients. This is the v8 version of
https://chromiumcodereview.appspot.com/10386108/
This CL depends on http://codereview.chromium.org/10310156/ landing
first.
BUG=chromium:90078
Review URL: https://chromiumcodereview.appspot.com/10399036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-18 09:52:09 +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
81720ffe84
Amend regression test.
...
R=rossberg@chromium.org
BUG=128146
TEST=
Review URL: https://chromiumcodereview.appspot.com/10382196
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 12:26:11 +00:00
yangguo@chromium.org
62b35e2174
Add missing test for transcendental functions.
...
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/10389169
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-05-16 11:15:30 +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