jkummerow@chromium.org [Fri, 28 Sep 2012 15:11:33 +0000 (15:11 +0000)]
Test runner: fix outdated "import discovery"
Review URL: https://codereview.chromium.org/
10983084
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12633
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 28 Sep 2012 14:59:00 +0000 (14:59 +0000)]
test runner: fix wildcard handling in test status files
Review URL: https://codereview.chromium.org/
10986086
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12632
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 28 Sep 2012 14:56:58 +0000 (14:56 +0000)]
test runner: fix "test-server.py setup"
Review URL: https://codereview.chromium.org/
10990109
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12631
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 28 Sep 2012 14:38:59 +0000 (14:38 +0000)]
Not set -m32 flag when compiling with Android ARM compiler.
We are removing CXX_target environment variables and only use the
make_global_settings to select compiler in chromium Android.
BUG=143889
Review URL: https://codereview.chromium.org/
10990070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12630
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 28 Sep 2012 10:15:58 +0000 (10:15 +0000)]
Restore the descriptor array before returning allocation failure.
BUG=chromium:151750
Review URL: https://chromiumcodereview.appspot.com/
10989076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12629
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 27 Sep 2012 13:55:50 +0000 (13:55 +0000)]
Only use OwnDescriptors to decide whether to go slow or not.
Review URL: https://chromiumcodereview.appspot.com/
10996044
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12626
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 27 Sep 2012 13:27:50 +0000 (13:27 +0000)]
Implement committed physical memory stats for Linux.
The patch introduces CommittedPhysicalMemory function to the Heap class
that reports committed *physical* memory acquired from the OS.
It is important because some OSes may postpone actual commitment on e.g.
first access to the previously committed region.
So reporting just plain committed size led to various weird artifacts
like DevTools showing V8 allocated memory higher than the whole process
private size.
BUG=v8:2191
Review URL: https://codereview.chromium.org/
10961042
Patch from Alexei Filippov <alph@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12625
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 27 Sep 2012 11:31:26 +0000 (11:31 +0000)]
Add the VFP-ness to the minor number of the keyed store elements
IC so that the version from the snapshot is not used if we have
a more capable CPU at runtime.
Review URL: https://chromiumcodereview.appspot.com/
10984065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12624
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 27 Sep 2012 07:45:49 +0000 (07:45 +0000)]
Fix ARM bug introduced in r12604 that caused crashes on ARM
on crypto-md5 from SunSpider. Bug=152402
Review URL: https://chromiumcodereview.appspot.com/
10991045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12623
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 26 Sep 2012 14:59:10 +0000 (14:59 +0000)]
Fix probing in JSON.parse.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10989032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12622
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 26 Sep 2012 14:42:08 +0000 (14:42 +0000)]
Fix Clang warning about tautological compare.
BUG=151927
R=hans@chromium.org
Patch from Hans Wennborg <hans@chromium.org>.
Review URL: https://chromiumcodereview.appspot.com/
10985043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12621
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 26 Sep 2012 12:51:46 +0000 (12:51 +0000)]
Extend grokdump.py with simple BreakPad symbol files support.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
10923003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12620
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 12:17:24 +0000 (12:17 +0000)]
Allow partial scanning of large arrays in order to avoid
mark stack overflow. This is a reland of r12609 -
https://chromiumcodereview.appspot.com/
10959011 - but
this time VisitPointers has been fixed (it used to assume
that the first slot was on the first page of a large object).
Review URL: https://chromiumcodereview.appspot.com/
10996018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12619
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 11:35:42 +0000 (11:35 +0000)]
Make the speed of incremental marking depend also on the rate
at which we are hitting expensive write barrier operations,
not just on the rate of allocation.
Review URL: https://chromiumcodereview.appspot.com/
10974003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12618
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 26 Sep 2012 11:19:35 +0000 (11:19 +0000)]
Fix silently failing branch merge script on Mac
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10981034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12615
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 26 Sep 2012 09:57:30 +0000 (09:57 +0000)]
Avoid wrong imul deopt on ia32 and x64 (fixes v8 bug 2339).
BUG=v8:2339
Review URL: https://chromiumcodereview.appspot.com/
10963032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12614
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 26 Sep 2012 09:35:41 +0000 (09:35 +0000)]
Lowered kMaxVirtualRegisters (fixes v8 2139 and chrome 123822 and 128252).
BUG=128252
Review URL: https://chromiumcodereview.appspot.com/
10966031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12613
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 26 Sep 2012 09:12:45 +0000 (09:12 +0000)]
Pull more recent gyp.
This pulls in https://chromiumcodereview.appspot.com/
10079030/
and https://chromiumcodereview.appspot.com/
10876082/ among others,
which are needed for more *nix platforms support.
Review URL: https://codereview.chromium.org/
10983022
Patch from Paweł Hajdan Jr. <phajdan.jr@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12612
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 09:01:13 +0000 (09:01 +0000)]
Make Kraken fasta.
Review URL: https://chromiumcodereview.appspot.com/
10978040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12611
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 08:55:19 +0000 (08:55 +0000)]
Revert 12609 (Allow partial scanning of large arrays)
due to crashes in unbox-double-arrays.js test.
Review URL: https://chromiumcodereview.appspot.com/
10996017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12610
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 26 Sep 2012 08:33:15 +0000 (08:33 +0000)]
Allow partial scanning of large arrays in order to avoid
mark stack overflow.
Review URL: https://chromiumcodereview.appspot.com/
10959011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12609
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 25 Sep 2012 16:59:27 +0000 (16:59 +0000)]
Fix off-by-one error introduced in r12598.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10977009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12606
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 25 Sep 2012 14:32:07 +0000 (14:32 +0000)]
ARM: Small optimisation of VFP immediate creation
Save an instruction in VFP immediate creation by passing a scratch register.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/
10990024
Patch from Martyn Capewell <m.m.capewell@googlemail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12605
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 25 Sep 2012 13:35:42 +0000 (13:35 +0000)]
x64 and ARM: Fix issue 2346 (order of operations in keyed store
on arrays) and turn get-own-property-descriptor.js test into
a regression test.
Review URL: https://chromiumcodereview.appspot.com/
10985017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12604
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 25 Sep 2012 09:55:44 +0000 (09:55 +0000)]
Fix 2346: Generic KeyedStoreIC doesn't change length and element_kind atomically
R=erik.corry@gmail.com
BUG=v8:2346
Review URL: https://chromiumcodereview.appspot.com/
10991012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12603
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Mon, 24 Sep 2012 16:22:17 +0000 (16:22 +0000)]
Bump number of allowed variables per scope to 65535, to address GWT.
R=jkummerow@chromium.org
BUG=151625
Review URL: https://codereview.chromium.org/
10965063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12600
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Sep 2012 15:03:09 +0000 (15:03 +0000)]
Fix failures caused by r12598.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10958070
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12599
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 24 Sep 2012 14:23:46 +0000 (14:23 +0000)]
Fast path for symbol lookup in JSON.parse.
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10969069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12598
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 24 Sep 2012 13:03:11 +0000 (13:03 +0000)]
Improve --trace-gc-verbose to show sum of all spaces.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
10974006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12597
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 11:18:29 +0000 (11:18 +0000)]
Split test/mjsunit/debug-stepout-scope into smaller chunks
Review URL: https://codereview.chromium.org/
10969061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12596
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:48:14 +0000 (10:48 +0000)]
Delete test/mjsunit/regress-1969.
It was flaky, and its usefulness was doubtful.
Review URL: https://codereview.chromium.org/
10961075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12595
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:44:04 +0000 (10:44 +0000)]
Remove trailing whitespace
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
10969064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12594
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:08:01 +0000 (10:08 +0000)]
Speed up test/mjsunit/compiler/regress-or
Review URL: https://codereview.chromium.org/
10969063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12593
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:07:09 +0000 (10:07 +0000)]
Speed up test/mjsunit/compiler/regress-gvn
Review URL: https://codereview.chromium.org/
10956059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12592
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:06:06 +0000 (10:06 +0000)]
Split test/mjsunit/numops-fuzz into smaller chunks
Review URL: https://codereview.chromium.org/
10961065
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12591
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:04:58 +0000 (10:04 +0000)]
Split test/mjsunit/mul-exhaustive into smaller chunks
Review URL: https://codereview.chromium.org/
10958064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12590
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:03:49 +0000 (10:03 +0000)]
Split test/mjsunit/fuzz-natives into smaller chunks
Review URL: https://codereview.chromium.org/
10970058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12589
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:02:44 +0000 (10:02 +0000)]
Split test/mjsunit/math-floor into smaller chunks
Review URL: https://codereview.chromium.org/
10967064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12588
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:01:35 +0000 (10:01 +0000)]
Speed up test/mjsunit/greedy.js
Review URL: https://codereview.chromium.org/
10969062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12587
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 10:00:25 +0000 (10:00 +0000)]
Speed up test/mjsunit/debug-multiple-breakpoints
Review URL: https://codereview.chromium.org/
10961064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12586
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 09:57:16 +0000 (09:57 +0000)]
Speed up test/mjsunit/d8-os by reducing sleep times
Review URL: https://codereview.chromium.org/
10973003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12585
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 09:56:11 +0000 (09:56 +0000)]
Speed up test/mjsunit/regress/regress-crbug-119926
Review URL: https://codereview.chromium.org/
10958063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12584
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Mon, 24 Sep 2012 09:38:46 +0000 (09:38 +0000)]
First commit of new tools/run-tests.py
Review URL: https://codereview.chromium.org/
10919265
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12583
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 21 Sep 2012 08:09:34 +0000 (08:09 +0000)]
This issue is for landing patch by vsevik: codereview.chromium.org/
10966011/
SourceURL comments for scripts having a name.
sourceURL comment is now preferred script name for all scripts except
for those with non zero start position (e.g. inline scripts in HTML).
BUG=v8:2342
Review URL: https://codereview.chromium.org/
10959038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12576
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Sep 2012 15:18:00 +0000 (15:18 +0000)]
Fix CNLT for enum indices.
Review URL: https://chromiumcodereview.appspot.com/
10958015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12569
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 20 Sep 2012 13:41:00 +0000 (13:41 +0000)]
Deopt on storing undefined into double elements.
Review URL: https://chromiumcodereview.appspot.com/
10963010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12568
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 20 Sep 2012 12:09:06 +0000 (12:09 +0000)]
Prepare push to trunk. Now working on version 3.14.1.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10958014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12565
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 20 Sep 2012 11:28:33 +0000 (11:28 +0000)]
Revert r12530 "Tentatively reenable previous failing test."
BUG=v8:2341
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10964015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12564
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 20 Sep 2012 10:45:38 +0000 (10:45 +0000)]
Fix missing slot recodring during clearing of CallICs.
This fixes a rare corner case that was caused by missing recording of
relocation slots when the uninitialized CallIC stub happenes to land on
an evacuation candidate and the IC is cleared via the shared function.
R=ulan@chromium.org
BUG=chromium:144230
TEST=cctest/test-heap/Regression144230
Review URL: https://codereview.chromium.org/
10963005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12563
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 20 Sep 2012 09:56:24 +0000 (09:56 +0000)]
Fix LBoundsCheck on x64 to handle (stack slot + constant) correctly
BUG=150729
Review URL: https://codereview.chromium.org/
10959009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12562
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Thu, 20 Sep 2012 09:55:19 +0000 (09:55 +0000)]
Move regress-2286.js where it belongs
Review URL: https://codereview.chromium.org/
10957013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12561
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 20 Sep 2012 08:02:17 +0000 (08:02 +0000)]
Wait for resolving conflicts in merge-to-branch script.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10939033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12560
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 19 Sep 2012 14:29:27 +0000 (14:29 +0000)]
MIPS: Sharing of descriptor arrays.
Port r12492 (
479be376)
Original commit message:
This CL adds multiple things:
Transition arrays do not directly point at their descriptor array anymore, but rather do so via an indirect pointer (a JSGlobalPropertyCell).
An ownership bit is added to maps indicating whether it owns its own descriptor array or not.
Maps owning a descriptor array can pass on ownership if a transition from that map is generated; but only if the descriptor array stays exactly the same; or if a descriptor is added.
Maps that don't have ownership get ownership back if their direct child to which ownership was passed is cleared in ClearNonLiveTransitions.
To detect which descriptors in an array are valid, each map knows its own NumberOfOwnDescriptors. Since the descriptors are sorted in order of addition, if we search and find a descriptor with index bigger than this number, it is not valid for the given map.
We currently still build up an enumeration cache (although this may disappear). The enumeration cache is always built for the entire descriptor array, even if not all descriptors are owned by the map. Once a descriptor array has an enumeration cache for a given map; this invariant will always be true, even if the descriptor array was extended. The extended array will inherit the enumeration cache from the smaller descriptor array. If a map with more descriptors needs an enumeration cache, it's EnumLength will still be set to invalid, so it will have to recompute the enumeration cache. This new cache will also be valid for smaller maps since they have their own enumlength; and use this to loop over the cache. If the EnumLength is still invalid, but there is already a cache present that is big enough; we just initialize the EnumLength field for the map.
When we apply ClearNonLiveTransitions and descriptor ownership is passed back to a parent map, the descriptor array is trimmed in-place and resorted. At the same time, the enumeration cache is trimmed in-place.
Only transition arrays contain descriptor arrays. If we transition to a map and pass ownership of the descriptor array along, the child map will not store the descriptor array it owns. Rather its parent will keep the pointer. So for every leaf-map, we find the descriptor array by following the back pointer, reading out the transition array, and fetching the descriptor array from the JSGlobalPropertyCell. If a map has a transition array, we fetch it from there. If a map has undefined as its back-pointer and has no transition array; it is considered to have an empty descriptor array.
When we modify properties, we cannot share the descriptor array. To accommodate this, the child map will get its own transition array; even if there are not necessarily any transitions leaving from the child map. This is necessary since it's the only way to store its own descriptor array.
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10918287
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12549
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mmassi@chromium.org [Wed, 19 Sep 2012 12:48:49 +0000 (12:48 +0000)]
Fixed minus zero test (fixes v8:2133).
BUG=v8:2133
Review URL: https://chromiumcodereview.appspot.com/
10937013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12548
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 19 Sep 2012 11:52:33 +0000 (11:52 +0000)]
Fix setting array length to zero for slow elements.
R=verwaest@chromium.org
BUG=chromium:146910
TEST=mjsunit/regress/regress-crbug-146910
Review URL: https://codereview.chromium.org/
10937026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12547
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 19 Sep 2012 11:09:07 +0000 (11:09 +0000)]
Remove whitespace
Review URL: https://chromiumcodereview.appspot.com/
10949018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12546
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 19 Sep 2012 10:06:02 +0000 (10:06 +0000)]
Use NumberOfOwnDescriptors/EnumLength for counting properties on fast objects.
Also split CNLT into small functions.
Review URL: https://chromiumcodereview.appspot.com/
10950023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12545
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 19 Sep 2012 09:54:10 +0000 (09:54 +0000)]
Reduce space usage of simple transitions and descriptors holders.
Review URL: https://chromiumcodereview.appspot.com/
10915260
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12544
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 19 Sep 2012 08:13:46 +0000 (08:13 +0000)]
Fix lost arguments dropping in HLeaveInlined.
This fixes HleaveInlined to correctly drop pushed arguments on all code
paths and addresses a corner case where the arguments stack height
mismatched at an OSR entry point.
R=jkummerow@chromium.org
BUG=chromium:150545
TEST=mjsunit/regress/regress-crbug-150545
Review URL: https://codereview.chromium.org/
10938016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12543
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 19 Sep 2012 08:08:02 +0000 (08:08 +0000)]
Clear EnumIndices as well on CNLT.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10944011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12542
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 18 Sep 2012 13:52:18 +0000 (13:52 +0000)]
MIPS: Do not go to slow mode and back to fast in initializer blocks.
Port r12534 (
4acfb92e)
BUG=
TEST=
Committed: https://code.google.com/p/v8/source/detail?r=12539
Review URL: https://chromiumcodereview.appspot.com/
10905313
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12541
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 18 Sep 2012 13:51:01 +0000 (13:51 +0000)]
Revert due to invalid description / CL combination.
Revert "MIPS: Do not go to slow mode and back to fast in initializer blocks."
This reverts commit
9b05931ec130e831f7496aed6f7ae32e8f2da934.
BUG=
Review URL: https://chromiumcodereview.appspot.com/
10939018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12540
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 18 Sep 2012 13:40:24 +0000 (13:40 +0000)]
MIPS: Do not go to slow mode and back to fast in initializer blocks.
Port r12534 (
4acfb92e)
BUG=
TEST=
Review URL: https://chromiumcodereview.appspot.com/
10905313
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12539
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Tue, 18 Sep 2012 13:25:12 +0000 (13:25 +0000)]
Preallocate space in descriptor arrays.
Review URL: https://chromiumcodereview.appspot.com/
10916336
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12538
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 18 Sep 2012 11:06:05 +0000 (11:06 +0000)]
Fix printing of HCallKnownGlobal.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
10941009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12537
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 18 Sep 2012 08:04:31 +0000 (08:04 +0000)]
Improve the assembly code for power function with integer exponential on x64
The change removes one unused multiply and reschedules
the shift, multiply and jump instructions to reduce
stall. Experiment shows it improve about 20% performance
on x64 for exponetials from about 100 to 2000.
Review URL: https://chromiumcodereview.appspot.com/
10939013
Patch from Xi Qian <xi.qian@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12535
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 17 Sep 2012 17:18:27 +0000 (17:18 +0000)]
Do not go to slow mode and back to fast in initializer blocks.
Review URL: https://chromiumcodereview.appspot.com/
10905308
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12534
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 17 Sep 2012 14:50:51 +0000 (14:50 +0000)]
Add jsfunfuzz to gitignore file.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
10918273
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12532
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 17 Sep 2012 14:39:10 +0000 (14:39 +0000)]
Fix casting error for receiver of interceptors.
This fixes a casting error that occured when the receiver of a missed
or uninitialized CallIC is a Smi and there is an interceptor installed
on the prototype chain.
R=yangguo@chromium.org
BUG=chromium:149912
TEST=cctest/test-api/Regress149912
Review URL: https://codereview.chromium.org/
10914317
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12531
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Sep 2012 14:19:11 +0000 (14:19 +0000)]
Tentatively reenable previous failing test.
R=mstarzinger@chromium.org
BUG=v8:2261
Review URL: https://chromiumcodereview.appspot.com/
10907254
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12530
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Sep 2012 13:21:59 +0000 (13:21 +0000)]
Change regress-2318 to trigger more quickly and reliably.
BUG=v8:2336
Review URL: https://chromiumcodereview.appspot.com/
10913294
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12529
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 17 Sep 2012 11:38:24 +0000 (11:38 +0000)]
Fix misplaced assert in heap.cc.
Bug=2336
Review URL: https://chromiumcodereview.appspot.com/
10911334
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12528
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 17 Sep 2012 10:54:26 +0000 (10:54 +0000)]
Consistently use named getters for Lithium operands on ARM.
Removed a dead Lithium instruction on the way.
Review URL: https://codereview.chromium.org/
10907234
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12527
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 17 Sep 2012 10:04:39 +0000 (10:04 +0000)]
Integrate map marking into static marking visitor.
This refactors the specialized marking of map contents to be done by the
static marking visitor shared between full and incremental marking. This
also fixes an issue where some maps weren't accounted for in the object
stats tracker. But more importantly, it simplifies the code base.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
10919294
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12526
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 17 Sep 2012 09:58:22 +0000 (09:58 +0000)]
Throw a more descriptive exception when blocking 'eval' via CSP.
BUG=140191
R=svenpanne@chromium.org,mkwst@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
10837358
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12525
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Sep 2012 07:56:15 +0000 (07:56 +0000)]
Fix build on OpenBSD/i386.
BUG=v8:1445
Review URL: https://chromiumcodereview.appspot.com/
10919314
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12522
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 17 Sep 2012 07:45:54 +0000 (07:45 +0000)]
Improve the assembly code for power function with integer exponential.
The change removes one unused multiply and reschedules
the shift, multiply and jump instructions to reduce
stall. Experiment shows it improve about 20% performance
on x86 for exponetials from about 100 to 2000.
Review URL: https://chromiumcodereview.appspot.com/
10916311
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12521
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 14 Sep 2012 16:13:23 +0000 (16:13 +0000)]
Let the embedder store arbitrary Values via Context::SetData
In WebKit, we would like to store a void* to a data structure that contains
lots of exciting per-context data. The current API restricts us to storing only
Strings, which is less useful.
I've also cleaned up the implementation of GetData to be less convoluted.
Review URL: https://codereview.chromium.org/
10907189
Patch from Adam Barth <abarth@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12520
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 14 Sep 2012 15:10:31 +0000 (15:10 +0000)]
Moving the WhitenessWitness back to DescriptorArray.
TransitionArrays never allocate while being created.
Review URL: https://chromiumcodereview.appspot.com/
10908237
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12519
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 14 Sep 2012 13:40:32 +0000 (13:40 +0000)]
Fix debugger's eval when close to stack overflow.
R=verwaest@chromium.org
BUG=v8:2318
Review URL: https://chromiumcodereview.appspot.com/
10914290
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12518
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 14 Sep 2012 13:37:41 +0000 (13:37 +0000)]
Only count the descriptor array if it's owned by the map.
Review URL: https://chromiumcodereview.appspot.com/
10918245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12517
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 14 Sep 2012 13:31:11 +0000 (13:31 +0000)]
Add checks to live edit.
BUG=v8:2297
Review URL: https://chromiumcodereview.appspot.com/
10914262
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12515
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 14 Sep 2012 13:19:42 +0000 (13:19 +0000)]
Fix test failures on nosnap builder.
Review URL: https://chromiumcodereview.appspot.com/
10915277
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12513
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 14 Sep 2012 13:15:43 +0000 (13:15 +0000)]
CNLT with descriptors but no valid enum fields has to clear the EnumCache.
Review URL: https://chromiumcodereview.appspot.com/
10928204
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12512
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 14 Sep 2012 12:01:12 +0000 (12:01 +0000)]
Microoptimization to regexps.
Review URL: https://chromiumcodereview.appspot.com/
10917260
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12511
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 14 Sep 2012 11:55:49 +0000 (11:55 +0000)]
Consistently use named getters for Lithium operands on ia32.
With this CL we clearly distinguish two different views on Lithium
instructions: For register allocation, the actual instruction/operand
is irrelevant, so it has only an iterator/indexed view on the
instruction operands. All other places, most importantly code
generation, use named getters for the operands now, making it easy to
see where each one is used.
Review URL: https://codereview.chromium.org/
10919261
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12510
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 14 Sep 2012 11:48:31 +0000 (11:48 +0000)]
Fix compile errors on Win64.
Review URL: https://chromiumcodereview.appspot.com/
10913273
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12509
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Fri, 14 Sep 2012 11:46:01 +0000 (11:46 +0000)]
Consistently use named getters for Lithium operands on x64
Review URL: https://codereview.chromium.org/
10933087
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12508
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 14 Sep 2012 11:43:46 +0000 (11:43 +0000)]
Replace r12503. Explicitly check toString() for exception in d8's print().
R=jkummerow@chromium.org
BUG=v8:2317
Review URL: https://chromiumcodereview.appspot.com/
10911305
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12507
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 14 Sep 2012 11:38:45 +0000 (11:38 +0000)]
Switch on code compaction on incremental GCs.
Review URL: https://chromiumcodereview.appspot.com/
10928203
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12506
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 14 Sep 2012 11:16:56 +0000 (11:16 +0000)]
Refactoring of snapshots. This simplifies and improves
the speed of deserializing code. The current startup
time improvement for V8 is around 6%, but code deserialization
is speeded up disproportionately, and we will soon have more
code in the snapshot.
* Removed support for deserializing into large object space.
The regular pages are 1Mbyte now and that is plenty. This
is a big simplification.
* Instead of reserving space for the snapshot we actually
allocate it now. This removes some special casing from
the memory management and simplifies deserialization since
we are just bumping a pointer rather than calling the
normal allocation routines during deserialization.
* Record in the snapshot how much we need to boot up and
allocate it instead of just assuming that allocations in
a new VM will always be linear.
* In the snapshot we always address an object as a negative
offset from the current allocation point. We used to
sometimes address from the start of the deserialized data,
but this is less useful now that we have good support for
roots and repetitions in the deserialization data.
* Code objects were previously deserialized (like other
objects) by alternating raw data (deserialized with memcpy)
and pointers (to external references, other objects, etc.).
Now we deserialize code objects with a single memcpy,
followed by a series of skips and pointers that partially
overwrite the code we memcopied out of the snapshot.
The skips are sometimes merged into the following
instruction in the deserialization data to reduce dispatch
time.
* Integers in the snapshot were stored in a variable length
format that gives a compact representation for small positive
integers. This is still the case, but the new encoding can
be decoded without branches or conditional instructions,
which is faster on a modern CPU.
Review URL: https://chromiumcodereview.appspot.com/
10918067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12505
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 14 Sep 2012 10:41:31 +0000 (10:41 +0000)]
Fix caching of optimized code for OSR.
This makes sure we do not share optimized code across closures that were
optimized using OSR (for a particular OSR entry AST id) even if caching
of optimized code kicks in.
R=danno@chromium.org
BUG=v8:2326
TEST=mjsunit/regress/regress-2326
Review URL: https://codereview.chromium.org/
10933088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12504
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 14 Sep 2012 08:13:57 +0000 (08:13 +0000)]
Not mask exception thrown by toString in String::UtfValue etc.
R=jkummerow@chromium.org
BUG=v8:2317
Review URL: https://chromiumcodereview.appspot.com/
10917236
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12503
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 14 Sep 2012 07:44:28 +0000 (07:44 +0000)]
Skip version 3.13.8 and fast-forward to 3.14.0
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
10907230
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12502
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 14 Sep 2012 07:41:55 +0000 (07:41 +0000)]
Replace VFP by VFP2 in common.gypi
This fixes an omission in cl
10818026.
Patch by Nathan Rajlich.
Review URL: https://chromiumcodereview.appspot.com/
10913256
Patch from Bert Belder <bertbelder@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12501
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 13 Sep 2012 16:48:31 +0000 (16:48 +0000)]
Directly set the value in the descriptors pointer to avoid checks.
This is the only place from where we are allowed to modify the value of
the descriptors pointer.
Review URL: https://chromiumcodereview.appspot.com/
10905266
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12500
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 13 Sep 2012 15:06:15 +0000 (15:06 +0000)]
Fix printf formatting in test-compiler.
R=jkummerow@chromium.org
BUG=v8:2319
Review URL: https://chromiumcodereview.appspot.com/
10928182
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12499
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 13 Sep 2012 14:36:51 +0000 (14:36 +0000)]
Clear the EnumLength fields of maps that lose their enumeration cache.
Review URL: https://chromiumcodereview.appspot.com/
10905262
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12498
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 13 Sep 2012 09:36:56 +0000 (09:36 +0000)]
Fix API check for length of external arrays.
R=jkummerow@chromium.org
BUG=chromium:148896
TEST=cctest/test-api/ExternalArrayLimits
Review URL: https://codereview.chromium.org/
10914257
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12495
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Thu, 13 Sep 2012 08:52:55 +0000 (08:52 +0000)]
Ensure correct enumeration indices in the dict
BUG=chromium:148376
Review URL: https://chromiumcodereview.appspot.com/
10908216
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@12494
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00