platform/upstream/v8.git
12 years agoCurrent schema of calculation max_snapshot_js_object_id is not always correct.
loislo@chromium.org [Thu, 29 Mar 2012 14:18:11 +0000 (14:18 +0000)]
Current schema of calculation max_snapshot_js_object_id is not always correct.
As the result the test is flaky.

BUG=v8/2042
TEST=HeapEntryIdsAndGC
R=mnaganov

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix offset computation for EmitProfilingCounterReset in x64.
ulan@chromium.org [Thu, 29 Mar 2012 14:04:41 +0000 (14:04 +0000)]
Fix offset computation for EmitProfilingCounterReset in x64.

R=jkummerow@chromium.org
BUG=v8:2039

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11186 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUn-bork v8.gyp after r11010
jkummerow@chromium.org [Thu, 29 Mar 2012 14:01:21 +0000 (14:01 +0000)]
Un-bork v8.gyp after r11010

TEST=no more warning "Missing input file tools\gyp\..\..\src\src\list-inl.h"

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoValgrind cleanliness, part 5: Delete extensions on exit.
svenpanne@chromium.org [Thu, 29 Mar 2012 09:45:46 +0000 (09:45 +0000)]
Valgrind cleanliness, part 5: Delete extensions on exit.

This fixes 4 leaks, returning 196 bytes of lost memory.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAllow a commit message to be specified to merge-to-branch.sh
danno@chromium.org [Thu, 29 Mar 2012 07:01:36 +0000 (07:01 +0000)]
Allow a commit message to be specified to merge-to-branch.sh

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd missing regression test for r11173.
mstarzinger@chromium.org [Wed, 28 Mar 2012 15:17:14 +0000 (15:17 +0000)]
Add missing regression test for r11173.

R=svenpanne@chromium.org
BUG=chromium:12009
TEST=mjsunit/regress/regress-120099

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoValgrind cleanliness, part 2: Delete lithium operand caches on exit.
svenpanne@chromium.org [Wed, 28 Mar 2012 13:12:00 +0000 (13:12 +0000)]
Valgrind cleanliness, part 2: Delete lithium operand caches on exit.

This fixes 5 leaks, returning 1.6kB of lost memory.

Shocking news: I've actually introduced a 2nd-order macro for myself. I guess
I've been assimilated... ;-)

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11179 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: First implementation of fast path for instantiation of array literals composed...
svenpanne@chromium.org [Wed, 28 Mar 2012 12:44:04 +0000 (12:44 +0000)]
MIPS: First implementation of fast path for instantiation of array literals composed of doubles.

Port r11114 (d8c975164).

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoHard-code GYP_GENERATORS=make into top-level Makefile
jkummerow@chromium.org [Wed, 28 Mar 2012 12:42:49 +0000 (12:42 +0000)]
Hard-code GYP_GENERATORS=make into top-level Makefile

removing the need to manually specify this on platforms where it's not the default (Mac).

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoReset the optimization_disabled flag in function info after context disposal.
ulan@chromium.org [Wed, 28 Mar 2012 09:47:53 +0000 (09:47 +0000)]
Reset the optimization_disabled flag in function info after context disposal.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix store IC writability check in strict mode.
mstarzinger@chromium.org [Wed, 28 Mar 2012 09:34:52 +0000 (09:34 +0000)]
Fix store IC writability check in strict mode.

The store ICs should only check writability attributes for actual
properties and not for map transitions.

R=jkummerow@chromium.org,svenpanne@chromium.org
BUG=chromium:120099
TEST=mjsunit/regress/regress-120099

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix test harness for Test262 to not use symlinks.
mstarzinger@chromium.org [Wed, 28 Mar 2012 09:33:19 +0000 (09:33 +0000)]
Fix test harness for Test262 to not use symlinks.

This is necessary for the --download-data option to work on Windows
where we do not have symlinks available. Note that we still have no
automatic way of bumping the existing Test262 revision without deleting
the data directory manually.

R=jkummerow@chromium.org
TEST=test262

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd missing cast in d8
jkummerow@chromium.org [Tue, 27 Mar 2012 12:46:44 +0000 (12:46 +0000)]
Add missing cast in d8

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoResynchronize timers if the Windows system time was changed.
ulan@chromium.org [Tue, 27 Mar 2012 12:34:32 +0000 (12:34 +0000)]
Resynchronize timers if the Windows system time was changed.

R=jkummerow@chromium.org
BUG=119815
TEST=Change the system time one day back: (new Date()) will return incorrect time.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoProfiler experiments: remove "stable on startup" rule
jkummerow@chromium.org [Tue, 27 Mar 2012 12:26:58 +0000 (12:26 +0000)]
Profiler experiments: remove "stable on startup" rule

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agofix for TestHeapEntryIdsAndGC
loislo@chromium.org [Tue, 27 Mar 2012 12:25:05 +0000 (12:25 +0000)]
fix for TestHeapEntryIdsAndGC
BUG=none
TEST=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMove profiler_ticks to Code object, don't walk the stack when patching ICs
jkummerow@chromium.org [Tue, 27 Mar 2012 12:19:50 +0000 (12:19 +0000)]
Move profiler_ticks to Code object, don't walk the stack when patching ICs

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoThis value is required for showing the heap snapshot delta in Summary view of DevTool...
loislo@chromium.org [Tue, 27 Mar 2012 11:54:47 +0000 (11:54 +0000)]
This value is required for showing the heap snapshot delta in Summary view of DevTools.Profiler.
At the moment it is evaluating on the front-end side and this is cost us 2 * (load time + parse time + traverse via snapshot) because I need this value for two previous snapshots.

BUG=none
TEST=test-heap-profiler

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoWhile building arm hardfp chrome browser, remove "-mfloat-abi=hard" from host compile...
jkummerow@chromium.org [Tue, 27 Mar 2012 11:28:19 +0000 (11:28 +0000)]
While building arm hardfp chrome browser, remove "-mfloat-abi=hard" from host compiler cflags, which causes building chrome browser failure.

BUG=https://code.google.com/p/chrome-os-partner/issues/detail?id=8539
TEST=manually build chrome browser use "hard"

Review URL: https://chromiumcodereview.appspot.com/9810036
Patch from Han Shen <shenhan@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPort count-based profiler to x64
jkummerow@chromium.org [Tue, 27 Mar 2012 11:21:27 +0000 (11:21 +0000)]
Port count-based profiler to x64

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert "This value is required for showing the heap snapshot delta in Summary view...
loislo@chromium.org [Tue, 27 Mar 2012 11:12:31 +0000 (11:12 +0000)]
Revert "This value is required for showing the heap snapshot delta in Summary view of DevTools.Profiler."

This reverts commit 634864d65ebe820a967f6162d8e226cf4a73e51a.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix undeclared variable in d8 debugger.
fschneider@chromium.org [Tue, 27 Mar 2012 10:55:34 +0000 (10:55 +0000)]
Fix undeclared variable in d8 debugger.

BUG=v8:2033
TEST='list' command works in d8 debugger.
Review URL: https://chromiumcodereview.appspot.com/9861017

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoValgrind cleanliness, part 3: Delete elements accessors on exit.
svenpanne@chromium.org [Tue, 27 Mar 2012 10:51:13 +0000 (10:51 +0000)]
Valgrind cleanliness, part 3: Delete elements accessors on exit.

This fixes 15 leaks, returning 132 bytes of lost memory.

As an additional bonus, elements accessors initialization has bee simplified a bit.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix polymorphic load on named fields.
mstarzinger@chromium.org [Tue, 27 Mar 2012 10:42:38 +0000 (10:42 +0000)]
Fix polymorphic load on named fields.

This fixes polymorphic loads to correctly compare in-object offsets
instead of indices, because indices might coincide even though the
actual slot is different because of different instance sizes.

R=danno@chromium.org
BUG=v8:2030
TEST=mjsunit/regress/regress-2030,mjsunit/mirror-array

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoValgrind cleanliness, part 4: Delete CounterMap on exit.
svenpanne@chromium.org [Tue, 27 Mar 2012 09:50:48 +0000 (09:50 +0000)]
Valgrind cleanliness, part 4: Delete CounterMap on exit.

This fixes 2 leaks, returning 112 bytes of lost memory.

As an additional bonus, a useless check has been removed (no need to check for
NULL before a delete).

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix broken test.
erik.corry@gmail.com [Tue, 27 Mar 2012 09:10:58 +0000 (09:10 +0000)]
Fix broken test.
Review URL: https://chromiumcodereview.appspot.com/9865019

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoThis value is required for showing the heap snapshot delta in Summary view of DevTool...
loislo@chromium.org [Tue, 27 Mar 2012 08:52:00 +0000 (08:52 +0000)]
This value is required for showing the heap snapshot delta in Summary view of DevTools.Profiler.
At the moment it is evaluating on the front-end side and this is cost us 2 * (load time + parse time + traverse via snapshot) because I need this value for two previous snapshots.

BUG=none
TEST=test-heap-profiler

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRemove dependency on _mkgmtime to determine local timezone offset
ulan@chromium.org [Tue, 27 Mar 2012 08:46:32 +0000 (08:46 +0000)]
Remove dependency on _mkgmtime to determine local timezone offset

BUGS=v8:1386
TEST=

Review URL: https://chromiumcodereview.appspot.com/9600018
Patch from Jonathan Liu <net147@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix edge case for case independent regexp character classes.
erik.corry@gmail.com [Tue, 27 Mar 2012 08:42:37 +0000 (08:42 +0000)]
Fix edge case for case independent regexp character classes.
http://code.google.com/p/v8/issues/detail?id=2032
Review URL: https://chromiumcodereview.appspot.com/9860029

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoValgrind cleanliness, part 1: Delete current isolate on exit.
svenpanne@chromium.org [Tue, 27 Mar 2012 07:37:06 +0000 (07:37 +0000)]
Valgrind cleanliness, part 1: Delete current isolate on exit.

Currently we leak 140kB from 80 allocation sites when we evaluate a simple
"print(1+2)" in d8 and exit. This might not be a real problem in Chrome because
most of the time the whole process containing v8 vanishes, but it can hide real
leaks in a sea of false positives. Therefore, this CL and a few subsequent ones
clean this up a bit.

This simple CL alone fixes 45 leaks, leaving only 35 with a net loss of 2192
bytes (on ia32).

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoComplete switch to SnapshotObjectId.
loislo@chromium.org [Mon, 26 Mar 2012 13:47:37 +0000 (13:47 +0000)]
Complete switch to SnapshotObjectId.

BUG=none
TEST=test-heap-profiler

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoProperly AdjustAmountOfExternalAllocatedMemory() in d8
jkummerow@chromium.org [Mon, 26 Mar 2012 13:24:20 +0000 (13:24 +0000)]
Properly AdjustAmountOfExternalAllocatedMemory() in d8

This is related to v8 issue 2022 but doesn't fix it as this patch only affects d8, while there is a related bug in the WebKit V8 bindings too.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoReset function info counters after context disposal.
ulan@chromium.org [Mon, 26 Mar 2012 13:08:08 +0000 (13:08 +0000)]
Reset function info counters after context disposal.

R=jkummerow@chromium.org
BUG=117767,V8:1902

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSupport reverse patching in merge-to-branch.sh
danno@chromium.org [Mon, 26 Mar 2012 11:35:17 +0000 (11:35 +0000)]
Support reverse patching in merge-to-branch.sh

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11142 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Port count-based profiler
jkummerow@chromium.org [Mon, 26 Mar 2012 11:29:44 +0000 (11:29 +0000)]
MIPS: Port count-based profiler

Port r11120 (548ba49bd).

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix the return type of the date set methods.
ulan@chromium.org [Mon, 26 Mar 2012 10:13:03 +0000 (10:13 +0000)]
Fix the return type of the date set methods.

Date set methods (setMinutes, setHours, etc.) should return the time value as a number instead of JSDate.

R=jkummerow@chromium.org
TEST=test/mjsunit/regress/regress-2027.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Improve polymorphic loads on single slots.
mstarzinger@chromium.org [Mon, 26 Mar 2012 09:41:53 +0000 (09:41 +0000)]
MIPS: Improve polymorphic loads on single slots.

Port r11132 (91bdad6108).

Original commit message:

If all property lookups for a polymorphic load actually result in the
same field index under all maps, we can actually emit a monomorphic load
that is guarded by a map check that verifies that the actual map is in
the set of handled maps. This also allows GVN to get rid of redundant
such map checks.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix missing write barrier in CopyObjectToObjectElements.
jkummerow@chromium.org [Sun, 25 Mar 2012 15:16:06 +0000 (15:16 +0000)]
Fix missing write barrier in CopyObjectToObjectElements.

Passing the write barrier mode as a parameter does not make sense, as the elements kind specific copiers know best whether a write barrier is needed or not.

BUG=119926
TEST=mjsunit/regress/regress-crbug-119926
R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoCheck double array bounds in HasElementImpl.
danno@chromium.org [Sun, 25 Mar 2012 14:21:51 +0000 (14:21 +0000)]
Check double array bounds in HasElementImpl.

R=jkummerow@chromium.org
BUG=chromium:119925
TEST=test/mjsunit/regress/regress-119925.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoImprove polymorphic loads on single slots.
mstarzinger@chromium.org [Fri, 23 Mar 2012 16:37:54 +0000 (16:37 +0000)]
Improve polymorphic loads on single slots.

If all property lookups for a polymorphic load actually result in the
same field index under all maps, we can actually emit a monomorphic load
that is guarded by a map check that verifies that the actual map is in
the set of handled maps. This also allows GVN to get rid of redundant
such map checks.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert arguments access support for inlined functions (r11109,r11118).
vegorov@chromium.org [Fri, 23 Mar 2012 15:39:34 +0000 (15:39 +0000)]
Revert arguments access support for inlined functions (r11109,r11118).

We are inserting HPushArgument instructions after HEnterInlined based on the environment at the point of the first arguments access. Which might create use before def if there are redundant phis in the environment.
Review URL: https://chromiumcodereview.appspot.com/9837041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix use of uninitialized values in the runtime profiler.
fschneider@chromium.org [Fri, 23 Mar 2012 15:26:04 +0000 (15:26 +0000)]
Fix use of uninitialized values in the runtime profiler.
Review URL: https://chromiumcodereview.appspot.com/9835054

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.10.0.
danno@chromium.org [Fri, 23 Mar 2012 15:08:45 +0000 (15:08 +0000)]
Prepare push to trunk.  Now working on version 3.10.0.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix compile error introduced by r11122.
ulan@chromium.org [Fri, 23 Mar 2012 13:52:15 +0000 (13:52 +0000)]
Fix compile error introduced by r11122.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAge inline caches after context disposal.
ulan@chromium.org [Fri, 23 Mar 2012 13:33:11 +0000 (13:33 +0000)]
Age inline caches after context disposal.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix deopt condition in ForIn on x64
jkummerow@chromium.org [Fri, 23 Mar 2012 12:20:03 +0000 (12:20 +0000)]
Fix deopt condition in ForIn on x64

TEST=no more deopts in string-fasta

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11121 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPort count-based profiler to ARM
jkummerow@chromium.org [Fri, 23 Mar 2012 12:16:40 +0000 (12:16 +0000)]
Port count-based profiler to ARM

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAllow a patch file to be specified to merge-to-branch.sh
danno@chromium.org [Fri, 23 Mar 2012 11:54:07 +0000 (11:54 +0000)]
Allow a patch file to be specified to merge-to-branch.sh

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Support arguments object access from inlined functions.
vegorov@chromium.org [Fri, 23 Mar 2012 11:38:40 +0000 (11:38 +0000)]
MIPS: Support arguments object access from inlined functions.

Port r11109 (a7770bdd7c).

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix use of proxies as f.prototype properties.
rossberg@chromium.org [Fri, 23 Mar 2012 10:25:14 +0000 (10:25 +0000)]
Fix use of proxies as f.prototype properties.

R=mstarzinger@chromium.org
BUG=v8:2021
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agopush-to-trunk.sh: Don't send Chromium CLs to the commit queue immediately
jkummerow@chromium.org [Fri, 23 Mar 2012 10:22:45 +0000 (10:22 +0000)]
push-to-trunk.sh: Don't send Chromium CLs to the commit queue immediately

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFirst implementation of fast path for instantiation of array literals composed of...
mmassi@chromium.org [Fri, 23 Mar 2012 10:14:51 +0000 (10:14 +0000)]
First implementation of fast path for instantiation of array literals composed of doubles.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMake setting of accessors even more atomic.
svenpanne@chromium.org [Fri, 23 Mar 2012 09:51:56 +0000 (09:51 +0000)]
Make setting of accessors even more atomic.

Now the whole getter/setter/attributes triple gets created/set together,
avoiding any hacks regarding previous values/attributes, making things a lot
simpler.

While doing this, an interesting problem surfaced, which has been there for a
long time: After adding/changing acessors in slow mode, we could potentially
fail going back to fast mode because of a failed memory allocation, signaling
the need for a GC. But we have already changed the object in slow mode, so we
are not idempotent and the retry would trigger a newly inserted assertion
(namely, that the code obeys access restrictions). This has been solved by
splitting the transformation to fast mode from the actual setting of the
accessors.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSupport arguments object access from inlined functions.
vegorov@chromium.org [Thu, 22 Mar 2012 13:53:28 +0000 (13:53 +0000)]
Support arguments object access from inlined functions.

R=fschneider@chromium.org
TEST=test/mjsunit/compiler/inline-arguments.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSoften --type-info-threshold by eventually optimizing all functions
jkummerow@chromium.org [Thu, 22 Mar 2012 11:05:33 +0000 (11:05 +0000)]
Soften --type-info-threshold by eventually optimizing all functions

(but waiting very long if they don't have enough type feedback).

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoEnable snapshots on MIPS. This is based on
erik.corry@gmail.com [Wed, 21 Mar 2012 14:29:14 +0000 (14:29 +0000)]
Enable snapshots on MIPS.  This is based on
http://codereview.chromium.org/9372063 by Daniel Kalmar.
Review URL: https://chromiumcodereview.appspot.com/9722020

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoTemporarily allow timeout for one mozilla test.
fschneider@chromium.org [Wed, 21 Mar 2012 14:19:17 +0000 (14:19 +0000)]
Temporarily allow timeout for one mozilla test.

BUG=v8:2018
Review URL: https://chromiumcodereview.appspot.com/9813008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUnbork Windows 64 bit build and guard against overlong UTF-8
erik.corry@gmail.com [Wed, 21 Mar 2012 14:04:24 +0000 (14:04 +0000)]
Unbork Windows 64 bit build and guard against overlong UTF-8
serializations.
Review URL: https://chromiumcodereview.appspot.com/9817005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSpeed up WriteUtf8 in the case where the output buffer is large enough.
erik.corry@gmail.com [Wed, 21 Mar 2012 13:48:29 +0000 (13:48 +0000)]
Speed up WriteUtf8 in the case where the output buffer is large enough.
Review URL: https://chromiumcodereview.appspot.com/9696032

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.9.24.
ulan@chromium.org [Wed, 21 Mar 2012 09:50:20 +0000 (09:50 +0000)]
Prepare push to trunk.  Now working on version 3.9.24.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoWhen running with --always-opt, don't deoptimize named loads with uninitialized type...
fschneider@chromium.org [Wed, 21 Mar 2012 09:23:09 +0000 (09:23 +0000)]
When running with --always-opt, don't deoptimize named loads with uninitialized type feedback.

This avoids tests taking too long because of repeated deoptimizations.
Review URL: https://chromiumcodereview.appspot.com/9812004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Branch delay slot and other optimizations.
danno@chromium.org [Wed, 21 Mar 2012 08:41:16 +0000 (08:41 +0000)]
MIPS: Branch delay slot and other optimizations.

List of changes:
-added a minor optimization to the Simulator that quickly skips nops in the delay slot
-slightly re-worked CEntryStub to save a few instructions
 CEntryStub now expects the following values:
  -s0: number of arguments including receiver
  -s1: size of arguments excluding receiver
  -s2: pointer to builtin function
 Two new MacroAssembler functions were added to make usage more convenient:
  -PrepareCEntryArgs(int num_args) to set up s0 and s1
  -PrepareCEntryFunction(const ExternalReference&) to set up s2
-removed branch delay slot nops from the most frequently used code areas
-reorganized some code to execute fewer instructions
-utilized the delay slot of most Ret instructions
 This does not cover all Rets, only the most obvious cases.
 Also added a special version of DropAndRet that utilizes the delay slot.
-added some comments to code areas where explanation of the register/delay slot usage may be needed
-added an optimization to Jump so it doesn't always pre-load the target register

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUse correct arguments adaptation environment when inlining function containing arguments.
vegorov@chromium.org [Tue, 20 Mar 2012 18:15:31 +0000 (18:15 +0000)]
Use correct arguments adaptation environment when inlining function containing arguments.

R=mstarzinger@google.com
BUG=V8:2014
TEST=test/mjsunit/compile/inline-arguments.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix overly aggressive ASSERT(!optimization_disabled())
jkummerow@chromium.org [Tue, 20 Mar 2012 15:27:33 +0000 (15:27 +0000)]
Fix overly aggressive ASSERT(!optimization_disabled())

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoThere is a trick for speed up array shift operation.
loislo@chromium.org [Tue, 20 Mar 2012 14:35:05 +0000 (14:35 +0000)]
There is a trick for speed up array shift operation.
This trick is confusing a bit the heap snapshoting code.
Such a shiffted array will be interpreted as a new array in the second snapshot.

BUG=none
TEST=HeapEntryIdsAndArrayShift

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdjust heuristics for idle notifications after context disposal.
ulan@chromium.org [Tue, 20 Mar 2012 13:29:49 +0000 (13:29 +0000)]
Adjust heuristics for idle notifications after context disposal.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.9.23.
jkummerow@chromium.org [Tue, 20 Mar 2012 12:57:17 +0000 (12:57 +0000)]
Prepare push to trunk.  Now working on version 3.9.23.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix assertion failure due to too many deoptimization ids.
fschneider@chromium.org [Tue, 20 Mar 2012 08:49:23 +0000 (08:49 +0000)]
Fix assertion failure due to too many deoptimization ids.

The failing mozilla test was caused by more deoptimizations
introduced by --always-opt and r11087.

We abort code generation in release mode, so we should do
the same in debug mode.
Review URL: https://chromiumcodereview.appspot.com/9752004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd Zhongping Wang <kewpie.w.zp@gmail.com> to AUTHORS
vegorov@chromium.org [Tue, 20 Mar 2012 08:12:31 +0000 (08:12 +0000)]
Add Zhongping Wang <kewpie.w.zp@gmail.com> to AUTHORS

Fix compilation failure on Win x64 builder introduced by r11084

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoEnable experimental profiler by default
jkummerow@chromium.org [Mon, 19 Mar 2012 17:29:25 +0000 (17:29 +0000)]
Enable experimental profiler by default

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMark invalid Test262 test cases correctly.
mstarzinger@chromium.org [Mon, 19 Mar 2012 16:28:18 +0000 (16:28 +0000)]
Mark invalid Test262 test cases correctly.

R=ulan@chromium.org
TEST=test262/S15.9.3.1_A5_T?

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoInsert explicit deoptimization for named loads that have "uninitialized" type feedback.
fschneider@chromium.org [Mon, 19 Mar 2012 15:54:37 +0000 (15:54 +0000)]
Insert explicit deoptimization for named loads that have "uninitialized" type feedback.

We already do this for binary-ops, unary-ops and comparisons. Typefeedback for named loads can now also
be in "uninitialized" state which means that the corresponding load IC was never executed.
Review URL: https://chromiumcodereview.appspot.com/9722041

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoTemporary disable Test262 tests failing on buildbot.
mstarzinger@chromium.org [Mon, 19 Mar 2012 12:22:56 +0000 (12:22 +0000)]
Temporary disable Test262 tests failing on buildbot.

R=jkummerow@chromium.org
TEST=test262/S15.9.3.1_A5_T?

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoWhen transitioning LoadIC to megamorphic case place monomorphic stubs into stub cache.
vegorov@chromium.org [Mon, 19 Mar 2012 12:09:22 +0000 (12:09 +0000)]
When transitioning LoadIC to megamorphic case place monomorphic stubs into stub cache.

Otherwise if function is optimized immediately after transition type oracle will be unable to gather enough maps from stub cache and graph builder will emit HLoadNamedGeneric instead of HLoadNamedPolymorphic.

R=fschneider@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoImplement a hash based look-up to speed up containing address check in large
vegorov@chromium.org [Mon, 19 Mar 2012 12:08:20 +0000 (12:08 +0000)]
Implement a hash based look-up to speed up containing address check in large
object space. Before, it was a link-list based look-up, and make this function
a little bit 'hot' from profile point.

BUG=v8:853
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.9.22.
rossberg@chromium.org [Mon, 19 Mar 2012 10:22:38 +0000 (10:22 +0000)]
Prepare push to trunk.  Now working on version 3.9.22.

R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix FLAG_always_opt and tools/push-to-trunk.sh
jkummerow@chromium.org [Mon, 19 Mar 2012 10:16:38 +0000 (10:16 +0000)]
Fix FLAG_always_opt and tools/push-to-trunk.sh

TEST=tests with --always-opt don't ASSERT; push to trunk workflow works.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd API call that identifies strings that are guaranteed
erik.corry@gmail.com [Mon, 19 Mar 2012 09:51:36 +0000 (09:51 +0000)]
Add API call that identifies strings that are guaranteed
only to contain ASCII characters.
Review URL: https://chromiumcodereview.appspot.com/9724022

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoPrepare push to trunk. Now working on version 3.9.21.
rossberg@chromium.org [Mon, 19 Mar 2012 09:47:46 +0000 (09:47 +0000)]
Prepare push to trunk.  Now working on version 3.9.21.

R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMark Code objects as not optimizable if their FunctionLiteral contains unoptimizable...
jkummerow@chromium.org [Mon, 19 Mar 2012 08:44:44 +0000 (08:44 +0000)]
Mark Code objects as not optimizable if their FunctionLiteral contains unoptimizable AST nodes.

This ensures that we never try to optimize such functions.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRe-enable constructor inlining and inline === comparison with boolean constants.
fschneider@chromium.org [Mon, 19 Mar 2012 07:51:37 +0000 (07:51 +0000)]
Re-enable constructor inlining and inline === comparison with boolean constants.

This change reverts r10974 which disabled those two optimizations.
They were not responsible for the problem in earley-boyer.

BUG=v8:2009
Review URL: https://chromiumcodereview.appspot.com/9699117

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRevert dynamic frame alignment (r9415)
fschneider@chromium.org [Mon, 19 Mar 2012 07:45:06 +0000 (07:45 +0000)]
Revert dynamic frame alignment (r9415)

Marking aligned frames with a marker can produce false positives since
an optimized frame spill slot may be mistakenly seen as a marker value.

It also breaks the debugger reproducably: Tested when enabling alignment
for all functions and running the debugger unit tests.

BUG=v8:2009
TEST=no crashes in EarleyBoyer
Review URL: https://chromiumcodereview.appspot.com/9703110

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Properly initialize element-transitioning array literals on ARM.
danno@chromium.org [Fri, 16 Mar 2012 16:18:20 +0000 (16:18 +0000)]
MIPS: Properly initialize element-transitioning array literals on ARM.

Port r10624 (172d021).

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix bugs in tools/merge-to-branch.sh
danno@chromium.org [Fri, 16 Mar 2012 16:04:01 +0000 (16:04 +0000)]
Fix bugs in tools/merge-to-branch.sh

Fail if patches fail to apply and correctly match branches in delete_branch().

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix test harness to not break on aborts.
mstarzinger@chromium.org [Fri, 16 Mar 2012 14:33:55 +0000 (14:33 +0000)]
Fix test harness to not break on aborts.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoRecord the addresses of pages that are unmapped to aid
erik.corry@gmail.com [Fri, 16 Mar 2012 14:13:22 +0000 (14:13 +0000)]
Record the addresses of pages that are unmapped to aid
in post mortem crash dump analysis.
Review URL: https://chromiumcodereview.appspot.com/9700061

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUse CopyElements for SetFastDoubleElementsCapacityAndLength
danno@chromium.org [Fri, 16 Mar 2012 13:59:59 +0000 (13:59 +0000)]
Use CopyElements for SetFastDoubleElementsCapacityAndLength

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoSwitch Heap::RecordStats to use PagedSpace::SizeOfObjects instead of PagedSpace:...
vegorov@chromium.org [Fri, 16 Mar 2012 13:52:43 +0000 (13:52 +0000)]
Switch Heap::RecordStats to use PagedSpace::SizeOfObjects instead of PagedSpace::Size.

This would allow us to get more precise estimate of heap fragmentation on OOM.

R=erik.corry@gmail.com

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoAdd flag to always call DebugBreak on abort
danno@chromium.org [Fri, 16 Mar 2012 13:43:04 +0000 (13:43 +0000)]
Add flag to always call DebugBreak on abort

R=vegorov@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoExperimental profiler: split RegExp.test() for better optimization.
yangguo@chromium.org [Thu, 15 Mar 2012 17:21:42 +0000 (17:21 +0000)]
Experimental profiler: split RegExp.test() for better optimization.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMore fixes for V8 benchmark version 7.
ulan@chromium.org [Thu, 15 Mar 2012 17:13:50 +0000 (17:13 +0000)]
More fixes for V8 benchmark version 7.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoUpdate revision.html for V8 benchmark version 7.
ulan@chromium.org [Thu, 15 Mar 2012 16:57:10 +0000 (16:57 +0000)]
Update revision.html for V8 benchmark version 7.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix clang template weirdness.
svenpanne@chromium.org [Thu, 15 Mar 2012 15:01:59 +0000 (15:01 +0000)]
Fix clang template weirdness.

TBR=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix minor inconsistency with inline function list.
mstarzinger@chromium.org [Thu, 15 Mar 2012 14:38:45 +0000 (14:38 +0000)]
Fix minor inconsistency with inline function list.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoDebugger: naive implementation of "step into Function.prototype.bind".
pfeldman@chromium.org [Thu, 15 Mar 2012 14:17:22 +0000 (14:17 +0000)]
Debugger: naive implementation of "step into Function.prototype.bind".

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoFix declarations escaping global strict eval.
mstarzinger@chromium.org [Thu, 15 Mar 2012 13:02:21 +0000 (13:02 +0000)]
Fix declarations escaping global strict eval.

According to ES5 10.4.2(3), eval calls of strict code always require
their own lexical and variable environment. For now we just add a new
scope when we parse the strict mode directive. The clean solution would
be to always have this sope present (even for global eval calls) and
adapt variable binding to cope with that.

R=rossberg@chromium.org
BUG=v8:1624
TEST=mjsunit/regress/regress-1624,test262/S10.4.2.1_A1

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoMIPS: Inline functions that use arguments object in f.apply(o, arguments) pattern.
vegorov@chromium.org [Thu, 15 Mar 2012 12:29:20 +0000 (12:29 +0000)]
MIPS: Inline functions that use arguments object in f.apply(o, arguments) pattern.

Port r11008 (f7a04e6f9).

Original commit message:

Support arguments materialization after deoptimization in all frames (not only in topmost one).

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoImprove representation inference for HUnknownOSRValue.
vegorov@chromium.org [Thu, 15 Mar 2012 12:21:29 +0000 (12:21 +0000)]
Improve representation inference for HUnknownOSRValue.

Use corresponding phi from the loop entry as a hint to infer proper representation for HUnkownOSRValue and dependent phis.

R=fschneider@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoDebugger: add ability to set script source from within OnBeforeCompile.
pfeldman@chromium.org [Thu, 15 Mar 2012 11:51:26 +0000 (11:51 +0000)]
Debugger: add ability to set script source from within OnBeforeCompile.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

12 years agoDon't use an explicit s0 in ClampDoubleToUint8.
danno@chromium.org [Thu, 15 Mar 2012 09:52:48 +0000 (09:52 +0000)]
Don't use an explicit s0 in ClampDoubleToUint8.

R=fschneider@chromium.org
BUG=v8:2004
TEST=test/mjsunit/pixel-array-rounding.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00