platform/upstream/v8.git
13 years agoFix transferal of marking bits on array trimming.
mstarzinger@chromium.org [Thu, 22 Sep 2011 13:03:22 +0000 (13:03 +0000)]
Fix transferal of marking bits on array trimming.

R=vegorov@chromium.org
BUG=v8:1708
TEST=mjsunit/regress/regress-1708

Review URL: http://codereview.chromium.org/7979038

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

13 years agoGive each function prototype a fresh copy of the object function map.
fschneider@chromium.org [Thu, 22 Sep 2011 12:57:54 +0000 (12:57 +0000)]
Give each function prototype a fresh copy of the object function map.

This avoid unwanted sharing between different function prototypes and in
general should help inlining because constant function properties on one
prototype don't affect other prototypes anymore.

BUG=v8:1716
Review URL: http://codereview.chromium.org/7994001

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

13 years agoBasic support for tracking smi-only arrays on ia32.
danno@chromium.org [Thu, 22 Sep 2011 11:30:04 +0000 (11:30 +0000)]
Basic support for tracking smi-only arrays on ia32.

Activated by the flag --smi-only-arrays

Currently not crankshaft support, using flag on non-ia32 platforms will lead to write barrier misses and crashes.

BUG=none
TEST=elements_kind.js

Review URL: http://codereview.chromium.org/7901016

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

13 years agoMake integer indexed properties ("elements") work for proxies.
rossberg@chromium.org [Thu, 22 Sep 2011 10:45:37 +0000 (10:45 +0000)]
Make integer indexed properties ("elements") work for proxies.
Rehome some Object/JSReceiver/JSObject methods.

R=ricow@chromium.org,kmillikin@chromium.org
BUG=v8:1543
TEST=

Review URL: http://codereview.chromium.org/7795055

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

13 years agoAttempt to fix GCMole warning.
fschneider@chromium.org [Thu, 22 Sep 2011 09:15:43 +0000 (09:15 +0000)]
Attempt to fix GCMole warning.
Review URL: http://codereview.chromium.org/7980064

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

13 years agoFixed string.split: always convert non-regexp separator to string.
yangguo@chromium.org [Thu, 22 Sep 2011 08:18:58 +0000 (08:18 +0000)]
Fixed string.split: always convert non-regexp separator to string.

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

Review URL: http://codereview.chromium.org/7976046

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

13 years agoReorganize object type enum, such that proxies are no longer in the middle
rossberg@chromium.org [Wed, 21 Sep 2011 14:46:54 +0000 (14:46 +0000)]
Reorganize object type enum, such that proxies are no longer in the middle
of the range of proper JS objects.

Unfortunately, callable types no longer form a range now. However, there
are only two anyway. We put them at either end of the range of JS object
types so that certain compares can be combined.

R=erik.corry@gmail.com,kmillikin@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7737036

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

13 years agoFix broken Windows build.
fschneider@chromium.org [Wed, 21 Sep 2011 14:42:50 +0000 (14:42 +0000)]
Fix broken Windows build.
Review URL: http://codereview.chromium.org/7983033

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

13 years agoTurn on d8 interactive debugging before running files passed on the command line
sgjesse@chromium.org [Wed, 21 Sep 2011 13:42:25 +0000 (13:42 +0000)]
Turn on d8 interactive debugging before running files passed on the command line

If the file test.js contains:

  function f() { debugger; }
  f()

Then running

  $ d8 --debugger test.js

will now hit the breakpoint in f which it would not before.

R=yangguo@chromium.org

BUG=
TEST=

Review URL: http://codereview.chromium.org//7981023

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

13 years agoLanding for miket@chromium.org: Add an optional source length field to the Extension...
fschneider@chromium.org [Wed, 21 Sep 2011 13:28:09 +0000 (13:28 +0000)]
Landing for miket@chromium.org: Add an optional source length field to the Extension constructor.

Original code review: http://codereview.chromium.org/7889046/
Review URL: http://codereview.chromium.org/7978028

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

13 years agoFix and test use of property descriptor objects.
rossberg@chromium.org [Wed, 21 Sep 2011 12:45:51 +0000 (12:45 +0000)]
Fix and test use of property descriptor objects.

R=kmillikin@chromium.org
BUG=v8:1543
TEST=

Review URL: http://codereview.chromium.org/7828080

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

13 years agoFix pre-parsing function declarations.
keuchel@chromium.org [Wed, 21 Sep 2011 12:27:07 +0000 (12:27 +0000)]
Fix pre-parsing function declarations.

The preparser has been out of sync with the parser. As a reminder, we have the
following grammer for harmony mode

 Block ::
   { SourceElement* }
 SourceElement ::
   Statement
   FunctionDeclaration
   LetDeclaration

instead of

 Block ::
   { Statement* }
 SourceElement ::
   Statement
   FunctionDeclaration

The extension to allow FunctionDeclarations in statement positions in
non-strict code is still active.

Review URL: http://codereview.chromium.org/7983006

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

13 years agoSemiSpace::AssertValidRange should use NewSpacePage::FromLimit for start.
vegorov@chromium.org [Wed, 21 Sep 2011 11:42:48 +0000 (11:42 +0000)]
SemiSpace::AssertValidRange should use NewSpacePage::FromLimit for start.

Otherwise we get the wrong page when start == limit.

R=lrn@chromium.org

Review URL: http://codereview.chromium.org/7979019

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

13 years agoAPI: Added Debug::DisableAgent to match existing Debug::EnableAgent
yangguo@chromium.org [Wed, 21 Sep 2011 11:34:05 +0000 (11:34 +0000)]
API: Added Debug::DisableAgent to match existing Debug::EnableAgent

BUG=v8:1573
TEST=cctest test-debug/TestDebuggerAgent

Review URL: http://codereview.chromium.org/7978025

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

13 years agoMake heap iterable in PrepareForBreakPoints.
vegorov@chromium.org [Wed, 21 Sep 2011 11:20:05 +0000 (11:20 +0000)]
Make heap iterable in PrepareForBreakPoints.

When aborting incremental marking with compaction discard all slots collected on evacuation candidates.

R=ricow@chromium.org
BUG=v8:1700
TEST=inspector/debugger/debugger-step-in.html

Review URL: http://codereview.chromium.org/7977004

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

13 years agoFix GC hazard.
rossberg@chromium.org [Wed, 21 Sep 2011 09:58:40 +0000 (09:58 +0000)]
Fix GC hazard.

R=jkummerow@chromium.org
BUG=v8:1698
TEST=

Review URL: http://codereview.chromium.org/7977021

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

13 years agoFix build.
kmillikin@chromium.org [Wed, 21 Sep 2011 09:04:44 +0000 (09:04 +0000)]
Fix build.

Last minute cleanup lost a '*'.

TBR=ricow@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7977020

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

13 years agoReapply "Clean up Context::Lookup and its uses."
kmillikin@chromium.org [Wed, 21 Sep 2011 08:51:44 +0000 (08:51 +0000)]
Reapply "Clean up Context::Lookup and its uses."

The threading test failures seem to be due to a GC-unsafe place, that
mixed handles and raw pointers, in the runtime code for context
lookup.

R=fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7890002

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

13 years agoFixed alignment problem when generating code for builtins.
svenpanne@chromium.org [Wed, 21 Sep 2011 07:59:28 +0000 (07:59 +0000)]
Fixed alignment problem when generating code for builtins.

This is not perfect, but it should fix the problem at hand. We should really clean up the memory handling responsibilities for the (macro)assemblers.

BUG=v8:1706
Review URL: http://codereview.chromium.org/7978023

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

13 years agoDisable some tests while we hunt for the reasons behind them.
erik.corry@gmail.com [Wed, 21 Sep 2011 07:25:33 +0000 (07:25 +0000)]
Disable some tests while we hunt for the reasons behind them.
Review URL: http://codereview.chromium.org/7978022

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

13 years agoAdd kHeaderSize constant to SeqString.
mstarzinger@chromium.org [Tue, 20 Sep 2011 16:33:03 +0000 (16:33 +0000)]
Add kHeaderSize constant to SeqString.

This prevents potential misuse of SeqString::kHeaderSize as in the
case of live byte counting in incremental marking stub. All stubs
picked up the undefined size constant SeqString::kHeaderSize, thus
the computed size of all strings was off by two pointers slots.

R=lrn@chromium.org
BUG=v8:1672
TEST=mjsunit/object-seal.js,...

Review URL: http://codereview.chromium.org/7971009

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

13 years agoFix new space shrinking to compute correct capacity.
mstarzinger@chromium.org [Tue, 20 Sep 2011 15:35:36 +0000 (15:35 +0000)]
Fix new space shrinking to compute correct capacity.

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

Review URL: http://codereview.chromium.org/7983001

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

13 years agoFixed an assertion in PagedSpace::Verify.
svenpanne@chromium.org [Tue, 20 Sep 2011 14:46:33 +0000 (14:46 +0000)]
Fixed an assertion in PagedSpace::Verify.

The formerly unused variable was found by GCC 4.6.1, BTW...
Review URL: http://codereview.chromium.org/7979005

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

13 years agoFix new space shrinking to reset from-space.
mstarzinger@chromium.org [Tue, 20 Sep 2011 13:37:40 +0000 (13:37 +0000)]
Fix new space shrinking to reset from-space.

R=lrn@chromium.org
BUG=v8:1702
TEST=cctest/test-heap/GrowAndShrinkNewSpace

Review URL: http://codereview.chromium.org/7976003

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

13 years agoGcSafeCastToCode should not use Code::contains it is not evacuation safe.
vegorov@chromium.org [Tue, 20 Sep 2011 13:36:52 +0000 (13:36 +0000)]
GcSafeCastToCode should not use Code::contains it is not evacuation safe.

R=erik.corry@gmail.com

Review URL: http://codereview.chromium.org/7980004

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

13 years agoPut back the asserts in RememberedSetHelper, but correct this time.
erik.corry@gmail.com [Tue, 20 Sep 2011 13:32:27 +0000 (13:32 +0000)]
Put back the asserts in RememberedSetHelper, but correct this time.
Fix some incorrect comments.
Review URL: http://codereview.chromium.org/7977005

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

13 years agoRemove incorrect debug-code assertion.
vegorov@chromium.org [Tue, 20 Sep 2011 11:30:18 +0000 (11:30 +0000)]
Remove incorrect debug-code assertion.

We should not use slot address to find out the page. This does not work for large pages.

Also this assertion is not always true (violated during incremental marking).

R=erik.corry@gmail.com
TEST=mozilla/js1_5/extensions/regress-371636

Review URL: http://codereview.chromium.org/7981001

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

13 years agoFix calculation of live-bytes in pages.
lrn@chromium.org [Tue, 20 Sep 2011 11:20:00 +0000 (11:20 +0000)]
Fix calculation of live-bytes in pages.

The "live bytes" count is *really* a "marked black" count - i.e., the count of bytes *known* to be live.

Fix aggravating bug on X64 where assembler code used a value that was off
by a factor of 2^31.

Ensure that sweeping clears live-bytes. Added other missing increments.

Added print statements to trace live-byte modifications, under a flag.

Still a few cases of undercounting left.

(New issue to merge from GC branch to bleeding_edge)

Review URL: http://codereview.chromium.org/7970009

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

13 years agoFix a bug with uninitialized const variables in the optimizing compiler.
fschneider@chromium.org [Tue, 20 Sep 2011 10:26:01 +0000 (10:26 +0000)]
Fix a bug with uninitialized const variables in the optimizing compiler.

We have to check for uninitialized uses before phi-elimination. Otherwise we
may miss such a use and result in using the hole value instead. This
causes a NULL-dereference or assertion failure.

BUG=96989
TEST=mjsunit/compiler/regress-96989.js
Review URL: http://codereview.chromium.org/7974009

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

13 years agoFix pc to code cache so it can cope with a pointer to the start of the code
erik.corry@gmail.com [Tue, 20 Sep 2011 10:08:39 +0000 (10:08 +0000)]
Fix pc to code cache so it can cope with a pointer to the start of the code
object.  Rename it to be the inner pointer to code cache.
Review URL: http://codereview.chromium.org/7969013

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

13 years agoInitialize pre-allocated fields of JSObject with undefined.
yangguo@chromium.org [Tue, 20 Sep 2011 10:06:23 +0000 (10:06 +0000)]
Initialize pre-allocated fields of JSObject with undefined.

BUG=94873

Review URL: http://codereview.chromium.org/7929001

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

13 years agoMake newer GCCs happier: Removed unused variables.
svenpanne@chromium.org [Tue, 20 Sep 2011 09:44:23 +0000 (09:44 +0000)]
Make newer GCCs happier: Removed unused variables.
Review URL: http://codereview.chromium.org/7969014

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

13 years agoMake newer GCCs happier: Fixed NULL vs. 0 confusion.
svenpanne@chromium.org [Tue, 20 Sep 2011 09:43:58 +0000 (09:43 +0000)]
Make newer GCCs happier: Fixed NULL vs. 0 confusion.
Review URL: http://codereview.chromium.org/7970008

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

13 years agoSpeed up finding code objects from addresses in asserts. With
erik.corry@gmail.com [Tue, 20 Sep 2011 08:32:48 +0000 (08:32 +0000)]
Speed up finding code objects from addresses in asserts.  With
the new large pages it takes too long to iterate from the start
of the page to find a code object.
Review URL: http://codereview.chromium.org/7974007

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

13 years agoFix a deoptimization bug.
kmillikin@chromium.org [Tue, 20 Sep 2011 07:14:30 +0000 (07:14 +0000)]
Fix a deoptimization bug.

We reset the count of outgoing arguments, used for the index in the
frame's outgoing arguments, for each level of inlining.  This could
result in the arguments overlapping, rather than stacking on top of
each other.

R=whesse@chromium.org,fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7932022

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

13 years agoSkip crashing Harmony proxies unit test until underlying issue is fixed.
fschneider@chromium.org [Tue, 20 Sep 2011 07:00:59 +0000 (07:00 +0000)]
Skip crashing Harmony proxies unit test until underlying issue is fixed.

BUG=v8:1698
Review URL: http://codereview.chromium.org/7974006

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

13 years agoARM: Pregenerate some stubs that we call from other stubs.
erik.corry@gmail.com [Mon, 19 Sep 2011 18:50:06 +0000 (18:50 +0000)]
ARM: Pregenerate some stubs that we call from other stubs.
BUG=1696
Review URL: http://codereview.chromium.org/7956002

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

13 years agoMerge experimental/gc branch to the bleeding_edge.
vegorov@chromium.org [Mon, 19 Sep 2011 18:36:47 +0000 (18:36 +0000)]
Merge experimental/gc branch to the bleeding_edge.
Review URL: http://codereview.chromium.org/7945009

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

13 years agoOnly do a full verify after computing dominators.
fschneider@chromium.org [Mon, 19 Sep 2011 15:09:30 +0000 (15:09 +0000)]
Only do a full verify after computing dominators.

We don't modify the graph in later phases. This speeds up debug tests
by a lot.
Review URL: http://codereview.chromium.org/7942001

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

13 years agoUnify the handling of comparinsons against null and undefined.
svenpanne@chromium.org [Mon, 19 Sep 2011 14:50:33 +0000 (14:50 +0000)]
Unify the handling of comparinsons against null and undefined.

Although this patch is not small, most parts of it are rather mechanical:

 * First of all, the concept of a 'nil-like' value is introduced, which can be
   null or undefined. They are treated symmetrically regarding comparisons, so
   it makes sense to handle them in a uniform manner. It is a mystery why
   JavaScript defines two of those beasts, when even *one* is a design wart...

 * Extended and renamed a few things which now handle undefined in addition to
   null.

 * Made the parts of the full code generator and the hydrogen generation which
   deal with comparisons a bit more similar regarding their handling of special
   cases.

 * Refactored the syntactical detection of special cases for comparisons,
   hopefully making them a bit more readable and less copy-n-paste-oriented.
   Things like this should really be a one-liner in any sane programming
   language... :-P

 * Cut down the length of the argument lists of a few functions to something
   less insane, making them more easily understandable locally. This involves
   minor code duplication, but this was a good tradeoff and can be remedied
   later if necessary.

 * Replaced some boolean arguments with more readable enums.

 * Fixed a TODO: Values which are definitely a Smi or unboxed can never be equal
   to null or undefined.
Review URL: http://codereview.chromium.org/7918012

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

13 years agoMIPS: port Make function proxies work as constructors.
yangguo@chromium.org [Mon, 19 Sep 2011 09:55:07 +0000 (09:55 +0000)]
MIPS: port Make function proxies work as constructors.

ported r9310 (72a5468)

BUG=
TEST=

Review URL: http://codereview.chromium.org/7931002
Patch from Paul Lind <plind44@gmail.com>.

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

13 years agoFix a harmless assert and a genuine bug in the GC-safety of stub
erik.corry@gmail.com [Mon, 19 Sep 2011 07:38:48 +0000 (07:38 +0000)]
Fix a harmless assert and a genuine bug in the GC-safety of stub
generation on ARM without VFP3.
Review URL: http://codereview.chromium.org/7937004

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

13 years agoFix presubmit - remove stray whitespace on empty lines.
whesse@chromium.org [Sun, 18 Sep 2011 21:16:08 +0000 (21:16 +0000)]
Fix presubmit - remove stray whitespace on empty lines.

BUG=
TEST=

Review URL: http://codereview.chromium.org/7931023

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

13 years agoMIPS: Fixed a bug in CallStubCompiler::CompileArrayPushCall.
erikcorry [Sun, 18 Sep 2011 15:16:46 +0000 (15:16 +0000)]
MIPS: Fixed a bug in CallStubCompiler::CompileArrayPushCall.

An ARM PreIndex store was badly ported.

Landing http://codereview.chromium.org/7934003/ for Paul Lind.

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

13 years agoMIPS: port Implement function proxies (except for their use as constructors).
erikcorry [Sun, 18 Sep 2011 15:11:33 +0000 (15:11 +0000)]
MIPS: port Implement function proxies (except for their use as constructors).

port r9258 (c8709a9)

Note on mips implementation: Arm reg r4 (call type) normally maps to mips
reg t0. We had already used t0 as a temp in Generate_FunctionCall() and
Generate_FunctionApply(), so I replaced that existing t0 usage with t3, and
now use t0 only for call type.

Original commit message:
Introduce new %Apply native.
Extend Execution::Call to optionally handle receiver rewriting (needed for %Apply).
Fix Function.prototype.bind for functions that have .apply modified.

Landing http://codereview.chromium.org/7891033/ for Paul Lind.

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

13 years agoMIPS: Fix assertion-fail on cacheflush from generated code.
erikcorry [Sun, 18 Sep 2011 15:05:44 +0000 (15:05 +0000)]
MIPS: Fix assertion-fail on cacheflush from generated code.

Fix a mips-specific CallCFunction assertion, when checking for valid
frames on the stack. We fake it with AllowExternalCallThatCantCauseGC().

Landing http://codereview.chromium.org/7932010/ for Paul Lind.

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

13 years agoWhen --nolimit-inlining flag is set, don't limit inlining depth.
fschneider@chromium.org [Sat, 17 Sep 2011 12:29:16 +0000 (12:29 +0000)]
When --nolimit-inlining flag is set, don't limit inlining depth.

This flag is used to debug problems with inlining.
By default we still limit inlining to small functions and up to a maximum
depth to avoid too much code size growth.
Review URL: http://codereview.chromium.org/7919012

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

13 years agoMake proxies work as prototypes.
rossberg@chromium.org [Fri, 16 Sep 2011 13:38:30 +0000 (13:38 +0000)]
Make proxies work as prototypes.
Fix a couple of other proxy bugs along the way.
Refactor trap invocation in native code.

R=kmillikin@chromium.org
BUG=v8:1543
TEST=

Review URL: http://codereview.chromium.org/7799026

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

13 years agoFix asserts and GC unsafeness in stub generation, bug=1689.
erik.corry@gmail.com [Fri, 16 Sep 2011 13:06:51 +0000 (13:06 +0000)]
Fix asserts and GC unsafeness in stub generation, bug=1689.
Review URL: http://codereview.chromium.org/7920006

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

13 years agoMake function proxies work as constructors.
rossberg@chromium.org [Fri, 16 Sep 2011 12:26:29 +0000 (12:26 +0000)]
Make function proxies work as constructors.

R=kmillikin@chromium.org
BUG=v8:1543
TEST=

Review URL: http://codereview.chromium.org/7628021

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

13 years agoFix some stub calling asserts on x64.
erik.corry@gmail.com [Fri, 16 Sep 2011 11:29:13 +0000 (11:29 +0000)]
Fix some stub calling asserts on x64.
Review URL: http://codereview.chromium.org/7922008

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

13 years agoMIPS: pre-crankshaft updates to code-stubs and stub-cache (3/3)
danno@chromium.org [Fri, 16 Sep 2011 09:23:48 +0000 (09:23 +0000)]
MIPS: pre-crankshaft updates to code-stubs and stub-cache (3/3)

Highlights:
- code-stubs-mips.cc
-- use EmitFPUTruncate in place of inline code in several places.
-- use BranchF macro rather than lower-level FP cmp and branch for readability.
-- Port of Sven's r8859 (Implement type recording for ToBoolean) and r8886
(Simplify and optimize ToBoolean handling.)
-- Fix bug in TranscendentalCacheStub::Generate where some regs were not
saved across CFunction call.
-- use updated xxxCFunction macros.
-- update InstanceOfStub to support crankshaft
DoDeferredLInstanceOfKnownGlobal
-- Provide code-patching and I-cache flushing support for generated
code, used for InstanceOfStub under crankshaft (not submitted here).
This requires adding new ExternalReference to src/assember.cc,h

- stub-cache-mips.cc
-- port Danno's r8901 (Create a common base class for Fixed-, FixedDouble-
and ExternalArrays) to mips crankshaft branch.

BUG=
TEST=

Review URL: http://codereview.chromium.org/7890001
Patch from Paul Lind <plind44@gmail.com>.

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

13 years agoMIPS: pre-crankshaft updates to macro-assembler and related files. (2/3)
danno@chromium.org [Fri, 16 Sep 2011 09:12:56 +0000 (09:12 +0000)]
MIPS: pre-crankshaft updates to macro-assembler and related files. (2/3)

Highlights:
- Better support for FP compares and branches (BranchF macro)
- Add EmitFPUTruncate() macro, similar to EmitVFPTruncate on Arm.
- Some improvements to long-branch mechanism for mips.
- Add ClampUint8() and ClampDoubleToUint8()

- Minor changes to ic-mips, full-codegen-mips mostly, for improved
code-patching with BinaryOpStub.
- Small changes to stack checking in full-codegen-mips and
regexp-macro-assembler-mips

BUG=
TEST=

Review URL: http://codereview.chromium.org/7888004
Patch from Paul Lind <plind44@gmail.com>.

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

13 years agoFix some asserts in stub generation and file some bugs where
erik.corry@gmail.com [Thu, 15 Sep 2011 19:24:04 +0000 (19:24 +0000)]
Fix some asserts in stub generation and file some bugs where
we appear to have valid asserts triggering.
Review URL: http://codereview.chromium.org/7908005

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

13 years agoShare Maps for ElementsKind transitions
danno@chromium.org [Thu, 15 Sep 2011 16:38:47 +0000 (16:38 +0000)]
Share Maps for ElementsKind transitions

Support sharing maps after an changing an object's ElementsKind for element kinds other then external elements.

R=svenpanne@chromium.org
BUG=none
TEST=external-arrays.js

Review URL: http://codereview.chromium.org/7862036

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

13 years agoFixing presubmit.
yangguo@chromium.org [Thu, 15 Sep 2011 13:20:42 +0000 (13:20 +0000)]
Fixing presubmit.

Review URL: http://codereview.chromium.org/7910001

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

13 years agoTickprocessor no longer prints error messages on log entries that are unrelated to...
yangguo@chromium.org [Thu, 15 Sep 2011 13:12:59 +0000 (13:12 +0000)]
Tickprocessor no longer prints error messages on log entries that are unrelated to profiling.

BUG=v8:1683

Review URL: http://codereview.chromium.org/7906003

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

13 years agoUpdate mozilla test expectations (FAIL regress-103602)
jkummerow@chromium.org [Thu, 15 Sep 2011 12:57:16 +0000 (12:57 +0000)]
Update mozilla test expectations (FAIL regress-103602)

TEST=mozilla tests are green

Review URL: http://codereview.chromium.org/7908002

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

13 years agoCorrecting a bogus assert outdated since r9295.
yangguo@chromium.org [Thu, 15 Sep 2011 12:47:06 +0000 (12:47 +0000)]
Correcting a bogus assert outdated since r9295.

Review URL: http://codereview.chromium.org/7909002

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

13 years agoChange global const handling to silently ignore redeclarations
jkummerow@chromium.org [Thu, 15 Sep 2011 12:00:30 +0000 (12:00 +0000)]
Change global const handling to silently ignore redeclarations

and make window.{Infinity,NaN,undefined} read-only as per ES5

BUG=89490
TEST=mjsunit/const-redecl.js, mjsunit/undeletable-functions.js, es5conform, sputnik

Review URL: http://codereview.chromium.org/7811015

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

13 years agoConvert "BUG=foo" to "(issue foo)" in push-to-trunk.sh
jkummerow@chromium.org [Thu, 15 Sep 2011 11:45:06 +0000 (11:45 +0000)]
Convert "BUG=foo" to "(issue foo)" in push-to-trunk.sh

Review URL: http://codereview.chromium.org/7903005

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

13 years agoAdd asserts to ensure that we:
erik.corry@gmail.com [Thu, 15 Sep 2011 11:30:45 +0000 (11:30 +0000)]
Add asserts to ensure that we:
1) Don't make a call to C without having a valid frame on the stack.
2) Don't generate a call to a stub while generating a stub, unless we can be
sure that the stub we are calling has already been generated (the stub
generation code is not reentrant wrt. GC).
Review URL: http://codereview.chromium.org/7891042

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

13 years agoEnable slices of external strings (in the tentative implementation).
yangguo@chromium.org [Thu, 15 Sep 2011 11:10:01 +0000 (11:10 +0000)]
Enable slices of external strings (in the tentative implementation).
TEST=cctest test-strings/SliceFromExternal, mjsunit/string-slices.js

Review URL: http://codereview.chromium.org/7832002

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

13 years agoEnable inlining of functions that reference context slots.
fschneider@chromium.org [Thu, 15 Sep 2011 10:57:47 +0000 (10:57 +0000)]
Enable inlining of functions that reference context slots.
Review URL: http://codereview.chromium.org/7887038

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

13 years agoNuke CompareToNull AST node.
svenpanne@chromium.org [Thu, 15 Sep 2011 09:09:40 +0000 (09:09 +0000)]
Nuke CompareToNull AST node.

The Great Master Plan is to move the recognition of special cases for
comparisons further down the compilation pipeline where more information is
available. This is a first step into this direction: The special handling of
equality comparisons involving null is pushed from the parser to the code
generators, removing the need for a special AST node. (There are rumors from
usually well-informed sources that this node type is actually a relic of ancient
crankshaft days...)

The next steps will be the unification of null/undefined handling and pushing
the special case handling in crankshaft even further down the pipeline, enabling
the recognition of cases like "var foo=null; if (foo === bar) ...", but these
will be in separate CLs.
Review URL: http://codereview.chromium.org/7887037

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

13 years agoAdd "native" target to Makefile for the benefit of Linux distros
jkummerow@chromium.org [Thu, 15 Sep 2011 08:16:07 +0000 (08:16 +0000)]
Add "native" target to Makefile for the benefit of Linux distros

TEST=make native; make native.check; make native.clean

Review URL: http://codereview.chromium.org/7891045

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

13 years agoAdd solaris support to gyp build.
jkummerow@chromium.org [Thu, 15 Sep 2011 08:13:39 +0000 (08:13 +0000)]
Add solaris support to gyp build.

Patch by Ben Noordhuis <info@bnoordhuis.nl>. I don't have a Solaris box around to test this myself.

BUG=v8:1684

Review URL: http://codereview.chromium.org/7889038

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

13 years agoFixing issue 1639, debugger stops stepping outside evaluate.
yangguo@chromium.org [Thu, 15 Sep 2011 07:23:31 +0000 (07:23 +0000)]
Fixing issue 1639, debugger stops stepping outside evaluate.
BUG=v8:1639

Review URL: http://codereview.chromium.org/7889039

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

13 years agoPrepare push to trunk. Now working on version 3.6.5.
lrn@chromium.org [Thu, 15 Sep 2011 07:22:07 +0000 (07:22 +0000)]
Prepare push to trunk.  Now working on version 3.6.5.

R=ricow@chromium.org

Review URL: http://codereview.chromium.org/7905001

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

13 years agoForce lazy deoptimization and remove optimized code on deopt inside a recursively...
vegorov@chromium.org [Wed, 14 Sep 2011 16:14:26 +0000 (16:14 +0000)]
Force lazy deoptimization and remove optimized code on deopt inside a recursively invoked function.

R=fschneider@chromium.org,sgjesse@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7890028

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

13 years agoFixing d8's broken readline history.
yangguo@chromium.org [Wed, 14 Sep 2011 14:39:56 +0000 (14:39 +0000)]
Fixing d8's broken readline history.

Review URL: http://codereview.chromium.org/7885026

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

13 years agoMark variables as being accessed from any inner scope, not only function scopes
keuchel@chromium.org [Wed, 14 Sep 2011 13:51:29 +0000 (13:51 +0000)]
Mark variables as being accessed from any inner scope, not only function scopes

BUG=96523
TEST=mjsunit/regress/regress-96523.js

Review URL: http://codereview.chromium.org/7890031

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

13 years agoMake built-in functions not call .apply on functions.
lrn@chromium.org [Wed, 14 Sep 2011 12:33:57 +0000 (12:33 +0000)]
Make built-in functions not call .apply on functions.

Uses the new %Apply runtime function instead.
Removes last(?) dependency on user-mungable infrastructure.

Review URL: http://codereview.chromium.org/7887031

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

13 years agoCleanup of include comments
lrn@chromium.org [Wed, 14 Sep 2011 12:23:52 +0000 (12:23 +0000)]
Cleanup of include comments

Review URL: http://codereview.chromium.org/7892025

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

13 years agoEliminate the need for code delete events in CPU profiler.
mikhail.naganov@gmail.com [Wed, 14 Sep 2011 11:47:03 +0000 (11:47 +0000)]
Eliminate the need for code delete events in CPU profiler.

Events are still generated for tick processor on performance testing
server to work, as soon as scripts will be updated, it will be safe
to remove code delete events emitting code.

R=erik.corry@gmail.com
BUG=v8:1466
TEST=existing tests in test-profile-generator,test-cpu-profiler and mjsunit/tools

Review URL: http://codereview.chromium.org/7864017

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

13 years agoReverting r9272.
yangguo@chromium.org [Wed, 14 Sep 2011 11:27:14 +0000 (11:27 +0000)]
Reverting r9272.

Review URL: http://codereview.chromium.org/7889033

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

13 years agoFix scope iteration when debugging global code.
keuchel@chromium.org [Wed, 14 Sep 2011 11:20:31 +0000 (11:20 +0000)]
Fix scope iteration when debugging global code.

TEST=mjsunit/debug-scopes.js

Review URL: http://codereview.chromium.org/7890007

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

13 years agoFixed broken readline console history.
yangguo@chromium.org [Wed, 14 Sep 2011 11:05:07 +0000 (11:05 +0000)]
Fixed broken readline console history.

Review URL: http://codereview.chromium.org/7888035

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

13 years agoMIPS: port Remove in-loop tracking for call ICs.
kmillikin@chromium.org [Wed, 14 Sep 2011 08:11:16 +0000 (08:11 +0000)]
MIPS: port Remove in-loop tracking for call ICs.

port r9260 (af9cfd83).

Original commit message:
We passed this flag around in a lot of places and had differenc call
ICs based on it, but never did any real specialization based on its
value.

BUG=
TEST=

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

Review URL: http://codereview.chromium.org/7886028
Patch from Paul Lind <plind44@gmail.com>.

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

13 years agoRevert "MIPS: port Remove in-loop tracking for call ICs."
kmillikin@chromium.org [Wed, 14 Sep 2011 08:08:16 +0000 (08:08 +0000)]
Revert "MIPS: port Remove in-loop tracking for call ICs."

Committed incorrectly.

TBR=ricow@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7890026

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

13 years agoMIPS: port Remove in-loop tracking for call ICs.
kmillikin@chromium.org [Wed, 14 Sep 2011 08:04:47 +0000 (08:04 +0000)]
MIPS: port Remove in-loop tracking for call ICs.

port r9260 (af9cfd83).

Original commit message:
We passed this flag around in a lot of places and had differenc call
ICs based on it, but never did any real specialization based on its
value.

BUG=
TEST=

Review URL: http://codereview.chromium.org/7886028
Patch from Paul Lind <plind44@gmail.com>.

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

13 years agoFixed spurious character in test case, plus presubmit issues.
rossberg@chromium.org [Wed, 14 Sep 2011 07:30:51 +0000 (07:30 +0000)]
Fixed spurious character in test case, plus presubmit issues.

Also addressed Slava's complaint about the personalized comment.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7886032

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

13 years agoFix for .bind regression.
rossberg@chromium.org [Tue, 13 Sep 2011 17:14:39 +0000 (17:14 +0000)]
Fix for .bind regression.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7892013

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

13 years agoFixing r9265: moving test case into correct location.
yangguo@chromium.org [Tue, 13 Sep 2011 16:11:05 +0000 (16:11 +0000)]
Fixing r9265: moving test case into correct location.

Review URL: http://codereview.chromium.org/7889008

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

13 years agoAdding test case for issue 1639, fixed by r9264.
yangguo@chromium.org [Tue, 13 Sep 2011 15:08:36 +0000 (15:08 +0000)]
Adding test case for issue 1639, fixed by r9264.
BUG=v8:1639

Review URL: http://codereview.chromium.org/7889006

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

13 years agoDebugger: fix stepping next with trycatch recursion
yangguo@chromium.org [Tue, 13 Sep 2011 14:38:39 +0000 (14:38 +0000)]
Debugger: fix stepping next with trycatch recursion

Added depth check to StepNextContinue. Do step out and queue actual StepNext if check failed.

R=yangguo@chromium.org,danno@chromium.org,vegorov@chromium.org
BUG=v8:1639
TEST=

Review URL: http://codereview.chromium.org/7780033
Patch from Fedor Indutny <fedor@indutny.com>.

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

13 years agoFixing r9262 for shared library build.
yangguo@chromium.org [Tue, 13 Sep 2011 14:31:54 +0000 (14:31 +0000)]
Fixing r9262 for shared library build.

Review URL: http://codereview.chromium.org/7888013

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

13 years agoFixing parallel execution in d8 (with -p) and some memory leaks.
yangguo@chromium.org [Tue, 13 Sep 2011 13:16:13 +0000 (13:16 +0000)]
Fixing parallel execution in d8 (with -p) and some memory leaks.

Review URL: http://codereview.chromium.org/7891005

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

13 years agoTest (and fix) all exception paths that can occur with proxies.
rossberg@chromium.org [Tue, 13 Sep 2011 13:07:20 +0000 (13:07 +0000)]
Test (and fix) all exception paths that can occur with proxies.

R=kmillikin@chromium.org
BUG=v8:1543
TEST=

Review URL: http://codereview.chromium.org/7623013

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

13 years agoRemove in-loop tracking for call ICs.
kmillikin@chromium.org [Tue, 13 Sep 2011 12:53:28 +0000 (12:53 +0000)]
Remove in-loop tracking for call ICs.

We passed this flag around in a lot of places and had differenc call
ICs based on it, but never did any real specialization based on its
value.

R=fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7869009

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

13 years agoMIPS: pre-crankshaft updates to assembler and related files. (1/3)
danno@chromium.org [Tue, 13 Sep 2011 12:12:25 +0000 (12:12 +0000)]
MIPS: pre-crankshaft updates to assembler and related files. (1/3)

Highlights:
- assembler.h adds FPU definitions used for Crankshaft.
- Support optimization of mips call: jalr->jal
    - includes changes to  set_target_address_at(), support routines.
    - Add 2nd use of Apply() to update target addresses.
- Minor debugging improvement in simulator.

BUG=
TEST=

Review URL: http://codereview.chromium.org/7888003
Patch from Paul Lind <plind44@gmail.com>.

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

13 years agoImplement function proxies (except for their use as constructors).
rossberg@chromium.org [Tue, 13 Sep 2011 11:42:57 +0000 (11:42 +0000)]
Implement function proxies (except for their use as constructors).

Introduce new %Apply native.

Extend Execution::Call to optionally handle receiver rewriting (needed for %Apply).

Fix Function.prototype.bind for functions that have .apply modified.

R=kmillikin@chromium.org
BUG=v8:1543
TEST=

Review URL: http://codereview.chromium.org/7623011

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

13 years agoFix presubmit.
fschneider@chromium.org [Tue, 13 Sep 2011 10:29:11 +0000 (10:29 +0000)]
Fix presubmit.

TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/7888008

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

13 years agopush-to-trunk.sh: correctly detect existing branches, git-rm deleted files
jkummerow@chromium.org [Tue, 13 Sep 2011 10:08:45 +0000 (10:08 +0000)]
push-to-trunk.sh: correctly detect existing branches, git-rm deleted files

Review URL: http://codereview.chromium.org/7886004

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

13 years agoFix parent of the WeakMap prototype.
mstarzinger@chromium.org [Tue, 13 Sep 2011 09:45:10 +0000 (09:45 +0000)]
Fix parent of the WeakMap prototype.

R=rossberg@chromium.org
BUG=v8:1565
TEST=mjsunit/harmony/weakmaps

Review URL: http://codereview.chromium.org/7890003

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

13 years agoFix some valgrind errors in d8 shell.
fschneider@chromium.org [Tue, 13 Sep 2011 09:31:41 +0000 (09:31 +0000)]
Fix some valgrind errors in d8 shell.

This fixes 3 possibly lost warnings occurring when running unit tests under d8:

 28 bytes in 1 blocks are possibly lost in loss record 40 of 68
  at 0x67FB8DB: operator new[](unsigned int)
  by 0x83865CC: v8::Shell::SetOptions(int, char**) (d8.cc:1200)
  by 0x83869A5: v8::Shell::Main(int, char**) (d8.cc:1276)
  by 0x8386B31: main (d8.cc:1333)
Review URL: http://codereview.chromium.org/7780032

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

13 years agoSupport for precise stepping in functions compiled before debugging was started ...
sgjesse@chromium.org [Tue, 13 Sep 2011 08:31:21 +0000 (08:31 +0000)]
Support for precise stepping in functions compiled before debugging was started (step 1)

This change will ensure that all non-optimized code will be compiled
with debug break slots when debugging is initiated. This is handled by
scanning the heap for non-optimized functions without debug break slots and setting their code to be lazy recomplied. When the lazy recompilation happens the code will ge generated with debug break slots (if debugging is still active at that point in time).

R=svenpanne@chromium.org
Currently this is only implemented for functions which do not have activations on the stack.

BUG=
TEST=

Review URL: http://codereview.chromium.org//7839030

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

13 years agoPrepare push to trunk. Now working on version 3.6.4.
kmillikin@chromium.org [Tue, 13 Sep 2011 08:06:55 +0000 (08:06 +0000)]
Prepare push to trunk.  Now working on version 3.6.4.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7892002

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

13 years agoRevert "Clean up Context::Lookup and its uses."
kmillikin@chromium.org [Tue, 13 Sep 2011 07:51:22 +0000 (07:51 +0000)]
Revert "Clean up Context::Lookup and its uses."

This reverts commit 9241.  This change shows failures on Mac and Win
for the threading tests.  Reverting while I investigate.

R=fschneider@chromium.org
BUG=
TEST=

Review URL: http://codereview.chromium.org/7886002

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

13 years agoImproved pretty printing of VAR PROXY and some control flow AST nodes.
svenpanne@chromium.org [Mon, 12 Sep 2011 14:00:16 +0000 (14:00 +0000)]
Improved pretty printing of VAR PROXY and some control flow AST nodes.
Review URL: http://codereview.chromium.org/7866041

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