platform/upstream/v8.git
11 years agoMIPS: Fix Mac problem with stubs initialization
danno@chromium.org [Wed, 30 Jan 2013 16:12:04 +0000 (16:12 +0000)]
MIPS: Fix Mac problem with stubs initialization

Port r13542 (d3217e18)

BUG=
TEST=

Review URL: https://codereview.chromium.org/12091042
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoMIPS: Add StubFailureTrampolineFrames
danno@chromium.org [Wed, 30 Jan 2013 16:09:31 +0000 (16:09 +0000)]
MIPS: Add StubFailureTrampolineFrames

Port r13533 (2f339757)

Original commit message:
In preparation of supporting stubs that deopt and then need to push their
register-based parameters to an arguments area on the stack that gets properly
collected, add StubFailureTrampolineFrames to hold those parameters.

BUG=
TEST=

Review URL: https://codereview.chromium.org/12087053
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoInitialize sweeper thread array with NULL.
hpayer@chromium.org [Wed, 30 Jan 2013 15:50:09 +0000 (15:50 +0000)]
Initialize sweeper thread array with NULL.

BUG=

Review URL: https://codereview.chromium.org/12079076

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

11 years agoAlso allow the empty object map to keep transitions.
verwaest@chromium.org [Wed, 30 Jan 2013 15:07:58 +0000 (15:07 +0000)]
Also allow the empty object map to keep transitions.

With the old implementation, due to the map-check being inadequate, such
transitions were already added for cross-context field stores. It is not
necessary anymore to not store transitions, since we properly clear
non-live transitions. Globally enabling this feature will help find more
bugs.

BUG=v8:2518
R=mstarzinger@chromium.org

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

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

11 years agoFix gbemu preformance regression
danno@chromium.org [Wed, 30 Jan 2013 14:25:34 +0000 (14:25 +0000)]
Fix gbemu preformance regression

R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/12084063

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

11 years agoFix build bot. Force instantiation of templatized SweepConservatively method.
hpayer@chromium.org [Wed, 30 Jan 2013 13:13:04 +0000 (13:13 +0000)]
Fix build bot. Force instantiation of templatized SweepConservatively method.

BUG=

Review URL: https://codereview.chromium.org/12079075

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

11 years agoFixes Windows build bots.
hpayer@chromium.org [Wed, 30 Jan 2013 12:47:41 +0000 (12:47 +0000)]
Fixes Windows build bots.

BUG=

Review URL: https://codereview.chromium.org/12094057

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

11 years agoParallel and concurrent sweeping.
hpayer@chromium.org [Wed, 30 Jan 2013 12:19:32 +0000 (12:19 +0000)]
Parallel and concurrent sweeping.

Sweep old pointer space and old data space concurrently to the main mutator thread and in parallel.

BUG=

Review URL: https://codereview.chromium.org/11782028

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

11 years agoPrecisely measure duration of mark and sweep phases. Changed print_cumulative_gc_stat...
hpayer@chromium.org [Wed, 30 Jan 2013 10:51:13 +0000 (10:51 +0000)]
Precisely measure duration of mark and sweep phases. Changed print_cumulative_gc_stat flag to only print GC statistics at end of program.

BUG=

Review URL: https://codereview.chromium.org/11595006

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

11 years agoARM Deoptimizer: fix TODO from r13484
ulan@chromium.org [Wed, 30 Jan 2013 10:24:00 +0000 (10:24 +0000)]
ARM Deoptimizer: fix TODO from r13484

This lets the Deoptimizer pointer stay in r0, saving a mov and
simplifying the code a little.

BUG=none
TEST=Tested with test/mjsunit/math-floor-of-div.js, this fails reliably if OSR is broken

Review URL: https://chromiumcodereview.appspot.com/12082046
Patch from Hans Wennborg <hans@chromium.org>.

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

11 years agoUpdate grokdump to reflect current heap layout.
mstarzinger@chromium.org [Wed, 30 Jan 2013 10:07:47 +0000 (10:07 +0000)]
Update grokdump to reflect current heap layout.

R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/12094038

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

11 years agoMake DwVfpRegister::AllocationIndexToString use VFPRegister::Name
ulan@chromium.org [Wed, 30 Jan 2013 09:55:49 +0000 (09:55 +0000)]
Make DwVfpRegister::AllocationIndexToString use VFPRegister::Name

This also fixes a bug caused by a missing comma after "d13" in
the 'names' array in AllocationIndexToString.

BUG=none

Review URL: https://chromiumcodereview.appspot.com/12082044
Patch from Hans Wennborg <hans@chromium.org>.

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

11 years agoARM: Rename Simulator::vfp_register to vfp_registers_
ulan@chromium.org [Wed, 30 Jan 2013 09:50:25 +0000 (09:50 +0000)]
ARM: Rename Simulator::vfp_register to vfp_registers_

This matches Simulator::registers_ and is in line with the style guide.

BUG=none

Review URL: https://chromiumcodereview.appspot.com/12096036
Patch from Hans Wennborg <hans@chromium.org>.

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

11 years agoPrepare push to trunk. Now working on version 3.16.12.
mstarzinger@chromium.org [Wed, 30 Jan 2013 09:35:15 +0000 (09:35 +0000)]
Prepare push to trunk.  Now working on version 3.16.12.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/12087081

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

11 years agoFoundation for the use of informative definitions in Crankshaft.
mmassi@chromium.org [Tue, 29 Jan 2013 15:46:34 +0000 (15:46 +0000)]
Foundation for the use of informative definitions in Crankshaft.

Review URL: https://codereview.chromium.org/12090021

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

11 years agoFix Mac problem with stubs initialization
danno@chromium.org [Tue, 29 Jan 2013 15:28:05 +0000 (15:28 +0000)]
Fix Mac problem with stubs initialization

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/12096040

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

11 years agoAdd option to limit tick processor to a time range.
yangguo@chromium.org [Tue, 29 Jan 2013 14:41:02 +0000 (14:41 +0000)]
Add option to limit tick processor to a time range.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoprofiler: log solib addresses unconditionally
mstarzinger@chromium.org [Tue, 29 Jan 2013 14:39:09 +0000 (14:39 +0000)]
profiler: log solib addresses unconditionally

Make --prof_lazy log the addresses of shared libraries. Without those addresses,
the output of the tick processor is not very useful for node.js applications.

Address logging was disabled for --prof-lazy in r3154 for reasons that no longer
apply: the profiler is started on demand and hence looking up the addresses is
deferred until it's actually necessary.

Review URL: https://codereview.chromium.org/11309007
Patch from Ben Noordhuis <info@bnoordhuis.nl>.

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

11 years agoFix test harness to correctly split extra flags.
mstarzinger@chromium.org [Tue, 29 Jan 2013 13:27:23 +0000 (13:27 +0000)]
Fix test harness to correctly split extra flags.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/12094032

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

11 years agoFixed non-snapshot builds.
svenpanne@chromium.org [Tue, 29 Jan 2013 12:50:42 +0000 (12:50 +0000)]
Fixed non-snapshot builds.

TBR=danno@chromium.org

Review URL: https://codereview.chromium.org/12093041

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

11 years agoTag previously GENERIC stubs that potentially IC_Miss as MONOMORPHIC.
verwaest@chromium.org [Tue, 29 Jan 2013 12:00:56 +0000 (12:00 +0000)]
Tag previously GENERIC stubs that potentially IC_Miss as MONOMORPHIC.

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

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

11 years agoUnify the shebang line of python scripts
jkummerow@chromium.org [Tue, 29 Jan 2013 10:40:43 +0000 (10:40 +0000)]
Unify the shebang line of python scripts

Review URL: https://codereview.chromium.org/12095012
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoUnbreak Win64 build.
svenpanne@chromium.org [Tue, 29 Jan 2013 10:29:37 +0000 (10:29 +0000)]
Unbreak Win64 build.

TBR=danno@chromium.org

Review URL: https://codereview.chromium.org/12095033

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

11 years agoUnbreak non-SSE2 ia32 platforms.
svenpanne@chromium.org [Tue, 29 Jan 2013 10:18:15 +0000 (10:18 +0000)]
Unbreak non-SSE2 ia32 platforms.

Improved register usage a bit on the way.

Review URL: https://codereview.chromium.org/12082043

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

11 years agoAdd StubFailureTrampolineFrames
danno@chromium.org [Tue, 29 Jan 2013 09:12:20 +0000 (09:12 +0000)]
Add StubFailureTrampolineFrames

In preparation of supporting stubs that deopt and then need to push their
register-based parameters to an arguments area on the stack that gets properly
collected, add StubFailureTrampolineFrames to hold those parameters.

R=mstarzinger@chromium.org

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

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

11 years agoUse MemoryChunk-based allocation for deoptimization entry code
danno@chromium.org [Tue, 29 Jan 2013 09:09:55 +0000 (09:09 +0000)]
Use MemoryChunk-based allocation for deoptimization entry code

This is done by first committing the deoptimization entry code with a minimal
area size (OS::CommitPageSize) and later using CommitArea to adjust the size.

Committed: http://code.google.com/p/v8/source/detail?r=13494

Review URL: https://chromiumcodereview.appspot.com/11566011
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoImproved printing of jump tables.
svenpanne@chromium.org [Mon, 28 Jan 2013 14:50:47 +0000 (14:50 +0000)]
Improved printing of jump tables.

Review URL: https://codereview.chromium.org/12093016

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

11 years agoOnly update POLYMORPHIC stubs using other POLYMORPHIC or GENERIC stubs.
verwaest@chromium.org [Mon, 28 Jan 2013 14:41:55 +0000 (14:41 +0000)]
Only update POLYMORPHIC stubs using other POLYMORPHIC or GENERIC stubs.

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

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

11 years agoLog event start and event end separately when using --log-timer-events.
yangguo@chromium.org [Mon, 28 Jan 2013 13:55:40 +0000 (13:55 +0000)]
Log event start and event end separately when using --log-timer-events.

R=haraken@chromium.org
BUG=

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

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

11 years agoMIPS: Replace store array length builtin with codestub.
verwaest@chromium.org [Mon, 28 Jan 2013 13:37:32 +0000 (13:37 +0000)]
MIPS: Replace store array length builtin with codestub.

Port r13506 (0d666576)

BUG=
TEST=

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

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

11 years agoDo not duplicate the compilation pipeline for stub compilation.
svenpanne@chromium.org [Mon, 28 Jan 2013 13:24:41 +0000 (13:24 +0000)]
Do not duplicate the compilation pipeline for stub compilation.

The previous duplication is quite bad from an architectural point of
view. Furthermore, it messes up the output of --hydrogen-stats.

As remarked in a comment, there is still more unification work to do, but at
least this CL is a step in the right direction...

Review URL: https://codereview.chromium.org/12091016

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

11 years agoDo not try to collect the map if the monomorphic IC stub has no map.
verwaest@chromium.org [Mon, 28 Jan 2013 13:19:53 +0000 (13:19 +0000)]
Do not try to collect the map if the monomorphic IC stub has no map.

This is necessary for monomorphic stubs that rely on instance types,
such as ArrayLength, StringLength and FunctionPrototype.

BUG=chromium:172345

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

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

11 years agoPut making embedded maps in optimized code weak behind a flag.
ulan@chromium.org [Mon, 28 Jan 2013 10:25:38 +0000 (10:25 +0000)]
Put making embedded maps in optimized code weak behind a flag.

Disable the flag by default because of Chrome crashes.

BUG=172488,172489
R=mstarzinger@chromium.org

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

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

11 years agoAllow inlining of multiple closures from shared function.
mstarzinger@chromium.org [Fri, 25 Jan 2013 16:55:00 +0000 (16:55 +0000)]
Allow inlining of multiple closures from shared function.

This allows Crankshaft to allow inlining of multiple different closures
that were all derived from the same shared function info. This pattern
appears when libraries provide generic closures that are used over and
over again at different call-sites.

R=jkummerow@chromium.org
TEST=mjsunit/compiler/inline-closures

Review URL: https://codereview.chromium.org/12071002

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

11 years agoActually increment queue length for parallel recompile queue.
yangguo@chromium.org [Fri, 25 Jan 2013 15:54:19 +0000 (15:54 +0000)]
Actually increment queue length for parallel recompile queue.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoSlightly improved Hydrogen stats output for long-running compilations.
svenpanne@chromium.org [Fri, 25 Jan 2013 13:55:02 +0000 (13:55 +0000)]
Slightly improved Hydrogen stats output for long-running compilations.

Replaced a scary pointer comparison by strcmp on the way.

Review URL: https://codereview.chromium.org/12035101

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

11 years agoPrepare push to trunk. Now working on version 3.16.11.
mvstanton@chromium.org [Fri, 25 Jan 2013 13:24:13 +0000 (13:24 +0000)]
Prepare push to trunk.  Now working on version 3.16.11.

R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/12049086

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

11 years agoReplace store array length builtin with codestub.
verwaest@chromium.org [Fri, 25 Jan 2013 11:55:29 +0000 (11:55 +0000)]
Replace store array length builtin with codestub.

Also includes some other minor cleanup to make Keyed related IC code
more uniform.

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

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

11 years agoAvoid excessive memory usage during redundant phi elimination.
svenpanne@chromium.org [Fri, 25 Jan 2013 11:51:48 +0000 (11:51 +0000)]
Avoid excessive memory usage during redundant phi elimination.

Basically, the work list for the fixed point iteration has been removed.

BUG=v8:2510

Review URL: https://codereview.chromium.org/12052075

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

11 years agoFix additional spec violations wrt RegExp.lastIndex.
yangguo@chromium.org [Fri, 25 Jan 2013 10:53:26 +0000 (10:53 +0000)]
Fix additional spec violations wrt RegExp.lastIndex.

R=svenpanne@chromium.org
BUG=v8:2437

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

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

11 years agoMerge UpdateStoreCaches into a single function dispatching on ComputeStoreMonorphic...
verwaest@chromium.org [Fri, 25 Jan 2013 10:34:17 +0000 (10:34 +0000)]
Merge UpdateStoreCaches into a single function dispatching on ComputeStoreMonorphic and UpdateMegamorphicCache.

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

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

11 years agoUnbreak build (offsetof only works for POD types)
svenpanne@chromium.org [Fri, 25 Jan 2013 08:54:11 +0000 (08:54 +0000)]
Unbreak build (offsetof only works for POD types)

TBR=yangguo@chromium.org

Review URL: https://codereview.chromium.org/12040094

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

11 years agoAdd Isolate parameter to Persistent class.
svenpanne@chromium.org [Fri, 25 Jan 2013 08:31:46 +0000 (08:31 +0000)]
Add Isolate parameter to Persistent class.

BUG=v8:2487

Review URL: https://codereview.chromium.org/12033011

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

11 years agoAllow monomorphic loads when static type is known.
mstarzinger@chromium.org [Thu, 24 Jan 2013 17:54:30 +0000 (17:54 +0000)]
Allow monomorphic loads when static type is known.

This allows Crankshaft to generate monomorphic loads when the receiver
type is statically known even though the load site has polymorphic type
feedback. This applies to inlined constructor calls and literals.

R=jkummerow@chromium.org
TEST=mjsunit/compiler/property-static

Review URL: https://codereview.chromium.org/12051058

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

11 years agoPrepare push to trunk. Now working on version 3.16.10.
yangguo@chromium.org [Thu, 24 Jan 2013 16:29:54 +0000 (16:29 +0000)]
Prepare push to trunk.  Now working on version 3.16.10.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoImplement VisitHandlesInNewSpaceWithClassIds()
mstarzinger@chromium.org [Thu, 24 Jan 2013 15:53:16 +0000 (15:53 +0000)]
Implement VisitHandlesInNewSpaceWithClassIds()

BUG=
TEST=test-api.cc::PersistentHandleInNewSpaceVisitor

Review URL: https://codereview.chromium.org/11365131
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoRevert r13494: "Use MemoryChunk-based allocation for deoptimization entry code"
danno@chromium.org [Thu, 24 Jan 2013 15:48:07 +0000 (15:48 +0000)]
Revert r13494: "Use MemoryChunk-based allocation for deoptimization entry code"

This patch seems to cause crashes on Windows.

TBR=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/12049069

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

11 years agoUse MemoryChunk-based allocation for deoptimization entry code
danno@chromium.org [Thu, 24 Jan 2013 15:14:33 +0000 (15:14 +0000)]
Use MemoryChunk-based allocation for deoptimization entry code

This is done by first committing the deoptimization entry code with a minimal
area size (OS::CommitPageSize) and later using CommitArea to adjust the size.

Review URL: https://codereview.chromium.org/11566011
Patch from Haitao Feng <haitao.feng@intel.com>.

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

11 years agoFix bug in edge case in populating PointerMaps
danno@chromium.org [Thu, 24 Jan 2013 15:05:38 +0000 (15:05 +0000)]
Fix bug in edge case in populating PointerMaps

If a live range was split immediately before an instruction that required a
safe-point pointer map, it was possible for the safe-point to incorrectly use the
register/stack slot information of the preceeding live range rather than the one
that actually covers the safe-point.

R=mstarzinger@chromium.org,vegorov@chromium.org

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

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

11 years agoMerge UpdateLoadCaches into a single function dispatching on
verwaest@chromium.org [Thu, 24 Jan 2013 13:02:45 +0000 (13:02 +0000)]
Merge UpdateLoadCaches into a single function dispatching on
ComputeLoadMonorphic and UpdateMegamorphicCache.

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

11 years agoFix map check removal issue in r13488.
mstarzinger@chromium.org [Thu, 24 Jan 2013 12:35:56 +0000 (12:35 +0000)]
Fix map check removal issue in r13488.

The removal of HCheckMaps is invalid when the instruction has a virtual
usage, which can happen e.g. for HLoadElements or HJSArrayLength.

R=jkummerow@chromium.org
TEST=webkit:fast/js/regress/Float32Array-matrix-mult.html

Review URL: https://codereview.chromium.org/12033073

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

11 years agoMake embedded maps in optimized code weak.
ulan@chromium.org [Thu, 24 Jan 2013 11:55:05 +0000 (11:55 +0000)]
Make embedded maps in optimized code weak.

Each map has a weak array of dependent codes, where the map tracks all the optimized codes that embed it.
Old space GC either clears the dead dependent codes from the array if the corresponding map is alive or deoptimizes the live dependent codes if the map is dead.

BUG=v8:2073
R=mstarzinger@chromium.org

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

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

11 years agoForce inlining of object visiting functions.
hpayer@chromium.org [Thu, 24 Jan 2013 09:40:57 +0000 (09:40 +0000)]
Force inlining of object visiting functions.

BUG=

Review URL: https://codereview.chromium.org/12049033

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

11 years agoAllow removal of obsolete map checks after transitions.
mstarzinger@chromium.org [Thu, 24 Jan 2013 09:10:06 +0000 (09:10 +0000)]
Allow removal of obsolete map checks after transitions.

This allows side effect dominator tracking to remove map checks that are
dominated by a single HStoreNamedField that performs a transition on the
same object. A similar trick could be applied to HAllocateObject.

R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/12035026

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

11 years agoFix --hydrogen-stats.
yangguo@chromium.org [Thu, 24 Jan 2013 08:39:35 +0000 (08:39 +0000)]
Fix --hydrogen-stats.

V8 crashes with this flag when trying to compile hydrogen stubs.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoImplicit references are missing in heap profiles
yurys@chromium.org [Thu, 24 Jan 2013 07:54:40 +0000 (07:54 +0000)]
Implicit references are missing in heap profiles
Review URL: https://codereview.chromium.org/11953043

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

11 years agoEnsure a type-error is thrown when trying to assign to a readonly property on the...
verwaest@chromium.org [Wed, 23 Jan 2013 17:27:25 +0000 (17:27 +0000)]
Ensure a type-error is thrown when trying to assign to a readonly property on the global scope.

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

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

11 years agoARM: Make use of d16-d31 when available.
ulan@chromium.org [Wed, 23 Jan 2013 16:29:48 +0000 (16:29 +0000)]
ARM: Make use of d16-d31 when available.

Review URL: https://chromiumcodereview.appspot.com/11428137
Patch from Hans Wennborg <hans@chromium.org>.

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

11 years agoFix corner case when JSFunction is evicted from flusher.
mstarzinger@chromium.org [Wed, 23 Jan 2013 16:15:15 +0000 (16:15 +0000)]
Fix corner case when JSFunction is evicted from flusher.

This fixes a corner case that happens when JSFunctions are enqueued as
code flushing candidates but their respective SharedFunctionInfo isn't.
If the JSFunction gets evicted due to optimization the code slot in the
SharedFunctionInfo will never be recorded in the slots buffer.

R=hpayer@chromium.org
BUG=chromium:168801
TEST=cctest/test-heap/Regress168801

Review URL: https://codereview.chromium.org/11896064

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

11 years agoAlways fail when trying to store to an undeclared global variable, even if it was...
verwaest@chromium.org [Wed, 23 Jan 2013 16:04:19 +0000 (16:04 +0000)]
Always fail when trying to store to an undeclared global variable, even if it was found.

Finding a property, but not using an IC, indicates that the variable was
found on the prototype (in DOMWindow). Those properties need to be
ignored while storing global properties via the IC.

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

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

11 years agoCorrectly set kCanBeDivByZero flag for HMathFloorOfDiv.
ulan@chromium.org [Wed, 23 Jan 2013 15:58:49 +0000 (15:58 +0000)]
Correctly set kCanBeDivByZero flag for HMathFloorOfDiv.

After r13289 the divisor can be non-constant, so we should check for zero.

BUG=171641
R=yangguo@chromium.org

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

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

11 years agoMove polymorphic stub computation and compilation to stub cache
verwaest@chromium.org [Wed, 23 Jan 2013 15:35:43 +0000 (15:35 +0000)]
Move polymorphic stub computation and compilation to stub cache

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

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

11 years agoMIPS: Avoid handle dereference during graph optimization.
yangguo@chromium.org [Wed, 23 Jan 2013 15:25:28 +0000 (15:25 +0000)]
MIPS: Avoid handle dereference during graph optimization.

Port r13475 (0076e1ee)

Original commit message:
With parallel recompilation enabled, objects made accessible by handles may
have changed between graph construction and graph optimization. Therefore
we must not assume that information on those objects remain the same between
those two phases. To police this, we forbid handle dereferencing during
graph optimization.
Exceptions to this rule are:
 - Dereferencing the handle to obtain the raw location of the object. This
   is safe since parallel recompilation acquires RelocationLock
 - Some places that dereference the handle for a type check. These are checked
   to be safe on a case-by-case basis.

BUG=
TEST=

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

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

11 years agoMIPS: Make HCheckPrototypeMaps compatible with parallel recompilation.
yangguo@chromium.org [Wed, 23 Jan 2013 14:01:11 +0000 (14:01 +0000)]
MIPS: Make HCheckPrototypeMaps compatible with parallel recompilation.

Port r13454 (2c0dd0ff)

Original commit message:
HCheckPrototypeMaps currently records the prototype and the holder of the
prototype chain (both ends of the chain) and assumes that the chain elements
and their maps did not change in during the entirety of Crankshaft. The actual
traversal of the prototype chain happens in Lithium at code generation.
With parallel compilation, this assumption is not longer correct.

BUG=
TEST=

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

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

11 years agoAvoid handle dereference during graph optimization.
yangguo@chromium.org [Wed, 23 Jan 2013 13:52:00 +0000 (13:52 +0000)]
Avoid handle dereference during graph optimization.

With parallel recompilation enabled, objects made accessible by handles may
have changed between graph construction and graph optimization. Therefore
we must not assume that information on those objects remain the same between
those two phases. To police this, we forbid handle dereferencing during
graph optimization.
Exceptions to this rule are:
 - Dereferencing the handle to obtain the raw location of the object. This
   is safe since parallel recompilation acquires RelocationLock
 - Some places that dereference the handle for a type check. These are checked
   to be safe on a case-by-case basis.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoPrepare push to trunk. Now working on version 3.16.9.
mvstanton@chromium.org [Wed, 23 Jan 2013 13:40:51 +0000 (13:40 +0000)]
Prepare push to trunk.  Now working on version 3.16.9.

R=yangguo@chromium.org
BUG=

Review URL: https://codereview.chromium.org/11896061

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

11 years agoCorrectly reset lastIndex in an RegExp object.
yangguo@chromium.org [Wed, 23 Jan 2013 12:28:16 +0000 (12:28 +0000)]
Correctly reset lastIndex in an RegExp object.

R=svenpanne@chromium.org
BUG=170856

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

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

11 years agoAdded a workaround for Windows compilation problems related to V8EXPORT.
svenpanne@chromium.org [Wed, 23 Jan 2013 12:04:55 +0000 (12:04 +0000)]
Added a workaround for Windows compilation problems related to V8EXPORT.

The underlying problem is a bit unclear, but at least this CL makes VS happy.

BUG=v8:2507

Review URL: https://codereview.chromium.org/12039037

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

11 years agotools/run-tests.py: shlex.split() the value of --command-prefix
jkummerow@chromium.org [Wed, 23 Jan 2013 11:41:56 +0000 (11:41 +0000)]
tools/run-tests.py: shlex.split() the value of --command-prefix

BUG=171553

Review URL: https://codereview.chromium.org/12049034

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

11 years agoMIPS: Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub
verwaest@chromium.org [Wed, 23 Jan 2013 10:05:08 +0000 (10:05 +0000)]
MIPS: Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub

Port r13459 (491896eb)

BUG=
TEST=

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

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

11 years agoMIPS: Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub
verwaest@chromium.org [Wed, 23 Jan 2013 10:02:48 +0000 (10:02 +0000)]
MIPS: Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub

Port r13458 (e8729cf9)

BUG=
TEST=

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

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

11 years agoMIPS: Replace special IC builtins and stubs in the map's cache by codestubs.
verwaest@chromium.org [Wed, 23 Jan 2013 09:45:48 +0000 (09:45 +0000)]
MIPS: Replace special IC builtins and stubs in the map's cache by codestubs.

Port r13453 (94525069)

BUG=
TEST=

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

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

11 years agoMIPS: Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
mvstanton@chromium.org [Tue, 22 Jan 2013 16:18:59 +0000 (16:18 +0000)]
MIPS: Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo

Port r13462 (74f0ddf6)

Original commit message:
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo Restored test code in allocation-site-info.js that was failing on ARM because of this bug.

BUG=
TEST=

Review URL: https://codereview.chromium.org/11896037
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoFix pattern detection for replacing shifts by rotation.
ulan@chromium.org [Tue, 22 Jan 2013 13:55:22 +0000 (13:55 +0000)]
Fix pattern detection for replacing shifts by rotation.

BUG=2499
R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/12047015
Patch from Hirofumi Mako <mkhrfm@gmail.com>.

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

11 years agoAllow loading constant function from proto chain.
mstarzinger@chromium.org [Tue, 22 Jan 2013 12:03:35 +0000 (12:03 +0000)]
Allow loading constant function from proto chain.

This enables Crankshaft to use HConstant for loading constant functions
on the prototype chain when building a monomorphic load. This pattern
appears in several JavaScript frameworks.

R=svenpanne@chromium.org
TEST=mjsunit/compiler/proto-chain-constant

Review URL: https://codereview.chromium.org/12052008

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

11 years agoIncorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
mvstanton@chromium.org [Tue, 22 Jan 2013 10:49:23 +0000 (10:49 +0000)]
Incorrect ARM assembly in MacroAssembler::TestJSArrayForAllocationSiteInfo
Restored test code in allocation-site-info.js that was failing on ARM because of this bug.

BUG=

Review URL: https://codereview.chromium.org/12045017

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

11 years agoMerge Store from Keyed and Named store.
verwaest@chromium.org [Tue, 22 Jan 2013 09:48:59 +0000 (09:48 +0000)]
Merge Store from Keyed and Named store.

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

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

11 years agoMerge Load from Keyed|Named load code.
verwaest@chromium.org [Tue, 22 Jan 2013 09:35:14 +0000 (09:35 +0000)]
Merge Load from Keyed|Named load code.

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

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

11 years agoMigrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub
verwaest@chromium.org [Mon, 21 Jan 2013 17:54:36 +0000 (17:54 +0000)]
Migrate FunctionPrototype (Keyed|Named)LoadIC to CodeStub

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

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

11 years agoMigrate ArrayLength (Keyed|Named)LoadIC to CodeStub
verwaest@chromium.org [Mon, 21 Jan 2013 17:17:02 +0000 (17:17 +0000)]
Migrate ArrayLength (Keyed|Named)LoadIC to CodeStub

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

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

11 years agoCheck for FLAG_enable_liveedit when using Live Edit.
yangguo@chromium.org [Mon, 21 Jan 2013 17:06:30 +0000 (17:06 +0000)]
Check for FLAG_enable_liveedit when using Live Edit.

R=peter.rybin@gmail.com
BUG=

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

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

11 years agoallocation-site-info.js broken on arm with new changes. Reverting to previous version...
mvstanton@chromium.org [Mon, 21 Jan 2013 16:15:08 +0000 (16:15 +0000)]
allocation-site-info.js broken on arm with new changes. Reverting to previous version until diagnosed.
Regress-2185.js test takes too long on slow path when allocation site info is discovered.

BUG=

Review URL: https://codereview.chromium.org/12049003

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

11 years agoFix some latin-1 webkit units tests
yangguo@chromium.org [Mon, 21 Jan 2013 16:11:31 +0000 (16:11 +0000)]
Fix some latin-1 webkit units tests

R=yangguo@chromium.org
BUG=

Review URL: https://chromiumcodereview.appspot.com/11962035
Patch from Dan Carney <dcarney@google.com>.

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

11 years agoMake HCheckPrototypeMaps compatible with parallel recompilation.
yangguo@chromium.org [Mon, 21 Jan 2013 15:49:00 +0000 (15:49 +0000)]
Make HCheckPrototypeMaps compatible with parallel recompilation.

HCheckPrototypeMaps currently records the prototype and the holder of the
prototype chain (both ends of the chain) and assumes that the chain elements
and their maps did not change in during the entirety of Crankshaft. The actual
traversal of the prototype chain happens in Lithium at code generation.
With parallel compilation, this assumption is not longer correct.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agoReplace special IC builtins and stubs in the map's cache by codestubs.
verwaest@chromium.org [Mon, 21 Jan 2013 14:53:29 +0000 (14:53 +0000)]
Replace special IC builtins and stubs in the map's cache by codestubs.

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

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

11 years agoPrepare push to trunk. Now working on version 3.16.8.
yangguo@chromium.org [Mon, 21 Jan 2013 14:37:29 +0000 (14:37 +0000)]
Prepare push to trunk.  Now working on version 3.16.8.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoRemove <(library) usage from v8.gyp.
jkummerow@chromium.org [Mon, 21 Jan 2013 14:14:28 +0000 (14:14 +0000)]
Remove <(library) usage from v8.gyp.

BUG=111541
R=danno@chromium.org

Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: https://codereview.chromium.org/12022021
Patch from Thiago Farina <tfarina@chromium.org>.

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

11 years agoDisable elimination of unreachable code after HSoftDeopts
jkummerow@chromium.org [Mon, 21 Jan 2013 14:11:25 +0000 (14:11 +0000)]
Disable elimination of unreachable code after HSoftDeopts

Review URL: https://codereview.chromium.org/12036011

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

11 years agoFixed test failure.
mvstanton@chromium.org [Mon, 21 Jan 2013 13:21:53 +0000 (13:21 +0000)]
Fixed test failure.

A test case erroneously expected a transition to a double array, but the array remains FAST_SMI.

In person LGTM from Danno...
BUG=

Review URL: https://codereview.chromium.org/12038008

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

11 years agoRemove unused GlobalHandles::IterateWeakRoots()
mstarzinger@chromium.org [Mon, 21 Jan 2013 12:31:13 +0000 (12:31 +0000)]
Remove unused GlobalHandles::IterateWeakRoots()

BUG=

Review URL: https://codereview.chromium.org/11969037
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoOut of bounds memory access in TestJSArrayForAllocationSiteInfo.
mvstanton@chromium.org [Mon, 21 Jan 2013 12:26:29 +0000 (12:26 +0000)]
Out of bounds memory access in TestJSArrayForAllocationSiteInfo.

The function intended to check the map pointer of an AllocationSiteInfo object, but neglected to
subtract an offset to do so.

BUG=169928

Review URL: https://codereview.chromium.org/11931037

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

11 years agoRemove GlobalHandles::number_of_weak_handles_ and number_of_global_object_weak_handles_
mstarzinger@chromium.org [Mon, 21 Jan 2013 12:15:31 +0000 (12:15 +0000)]
Remove GlobalHandles::number_of_weak_handles_ and number_of_global_object_weak_handles_

This is a preparation patch for inlining MakeWeak() and Clear().

Given that NumberOfWeakHandles() is used only by CHECK_EQ() in serialized.cc and that NumberOfGlobalObjectWeakHandles is unused, it is wasteful to keep track of number_of_weak_handles_ and number_of_global_object_weak_handles_ at every MakeWeak() and Clear(). Instead, we can count the number at the point where NumberOfWeakHandles() or NumberOfGlobalObjectWeakHandles() is called.

BUG=

Review URL: https://codereview.chromium.org/11958015
Patch from Kentaro Hara <haraken@chromium.org>.

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

11 years agoMoved FlagList::EnforceFlagImplications to V8::InitializeOncePerProcessImpl.
svenpanne@chromium.org [Mon, 21 Jan 2013 12:04:40 +0000 (12:04 +0000)]
Moved FlagList::EnforceFlagImplications to V8::InitializeOncePerProcessImpl.

Cleaned up V8::InitializeOncePerProcessImpl a bit on the way.

Review URL: https://codereview.chromium.org/12045005

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

11 years agoMIPS: Additional work to get array literal allocation tracking working, even with...
mvstanton@chromium.org [Mon, 21 Jan 2013 08:30:11 +0000 (08:30 +0000)]
MIPS: Additional work to get array literal allocation tracking working, even with --always-opt

Port r13406 (796a9f11)

BUG=
TEST=

Review URL: https://codereview.chromium.org/12026002
Patch from Akos Palfi <palfia@homejinni.com>.

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

11 years agoPrepare push to trunk. Now working on version 3.16.7.
yangguo@chromium.org [Fri, 18 Jan 2013 16:28:45 +0000 (16:28 +0000)]
Prepare push to trunk.  Now working on version 3.16.7.

R=jkummerow@chromium.org
BUG=

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

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

11 years agoDe-dupe test/mozilla/mozilla.status
jkummerow@chromium.org [Fri, 18 Jan 2013 15:01:53 +0000 (15:01 +0000)]
De-dupe test/mozilla/mozilla.status

Review URL: https://codereview.chromium.org/11929025

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

11 years agotools/run-tests.py: Fixes for Windows
jkummerow@chromium.org [Fri, 18 Jan 2013 14:55:23 +0000 (14:55 +0000)]
tools/run-tests.py: Fixes for Windows

Review URL: https://codereview.chromium.org/11926015

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

11 years agoTemporarily disable deferred stack trace formatting.
yangguo@chromium.org [Fri, 18 Jan 2013 13:05:03 +0000 (13:05 +0000)]
Temporarily disable deferred stack trace formatting.

R=mstarzinger@chromium.org
BUG=

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

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

11 years agotools/runtests.py: Fix cctests on Windows; properly return error code when there...
jkummerow@chromium.org [Fri, 18 Jan 2013 12:44:36 +0000 (12:44 +0000)]
tools/runtests.py: Fix cctests on Windows; properly return error code when there were Python exceptions

Review URL: https://codereview.chromium.org/11929020

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

11 years agoRemove redundant check in LCodeGen::DoBoundsCheck
ulan@chromium.org [Fri, 18 Jan 2013 12:38:42 +0000 (12:38 +0000)]
Remove redundant check in LCodeGen::DoBoundsCheck

R=verwaest@chromium.org

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

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