platform/upstream/v8.git
14 years agoDon't pass the "at start" parameter to native RegExp
sgjesse@chromium.org [Tue, 26 Jan 2010 11:08:42 +0000 (11:08 +0000)]
Don't pass the "at start" parameter to native RegExp

As the start index is already passed it is easy to calculate the "at start" boolean in generated code. Also as direct entry has been implemented this needs to be done in generated code anyway, and therefore might as well be moved to the generated code for RegExp. The "at start" value is now calcualted as a local variable on the native RegExp frame based on the value of the start index argument.

The x64 version have been tested on both Linux and 64-bit Windows Vista.

For ARM I have tested cctest/test-regexp on ARM hardware, but the rest of the tests have only been run on the ARM simulator.
Review URL: http://codereview.chromium.org/554078

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

14 years agoSupport register arguments in more cases.
kaznacheev@chromium.org [Tue, 26 Jan 2010 10:27:27 +0000 (10:27 +0000)]
Support register arguments in more cases.
1. MUL and DIV on SMIs.
2. When calling GenericBinaryOpStub from a virtual frame.
3. When generating code for a loop counter.
Overall performance gain is about 0.6%.
Review URL: http://codereview.chromium.org/555098

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

14 years agoIncrease young generation size on Android.
erik.corry@gmail.com [Tue, 26 Jan 2010 10:03:44 +0000 (10:03 +0000)]
Increase young generation size on Android.
Review URL: http://codereview.chromium.org/556018

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

14 years agoLoad HeapNumbers directly into floating-point registers in BinaryOpSlowCase.
whesse@chromium.org [Tue, 26 Jan 2010 09:31:40 +0000 (09:31 +0000)]
Load HeapNumbers directly into floating-point registers in BinaryOpSlowCase.
Review URL: http://codereview.chromium.org/549147

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

14 years agoFix building on 64-bit Windows
sgjesse@chromium.org [Tue, 26 Jan 2010 08:44:50 +0000 (08:44 +0000)]
Fix building on 64-bit Windows
Review URL: http://codereview.chromium.org/546147

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

14 years agoMerge ObjectIterator::has_next and ObjectIterator::next methods.
antonm@chromium.org [Mon, 25 Jan 2010 22:53:18 +0000 (22:53 +0000)]
Merge ObjectIterator::has_next and ObjectIterator::next methods.

This reduces chances of improper usage, see http://code.google.com/p/v8/issues/detail?id=586
for more details.

BUG=586

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

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

14 years agoFixing style issues in codegen-ia32.*
kaznacheev@chromium.org [Mon, 25 Jan 2010 17:47:53 +0000 (17:47 +0000)]
Fixing style issues in codegen-ia32.*
See Kevin's comments for http://codereview.chromium.org/554062.
Review URL: http://codereview.chromium.org/543193

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

14 years agoFixing an assertion fail introduced in 3692.
kaznacheev@chromium.org [Mon, 25 Jan 2010 17:03:34 +0000 (17:03 +0000)]
Fixing an assertion fail introduced in 3692.
Also fixing some formatting issues.
Review URL: http://codereview.chromium.org/556002

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

14 years agoActually land the platform-solaris.cc file for solaris support.
ager@chromium.org [Mon, 25 Jan 2010 16:48:53 +0000 (16:48 +0000)]
Actually land the platform-solaris.cc file for solaris support.

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

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

14 years agoUse registers to pass arguments to GenericBinaryOpStub.
kaznacheev@chromium.org [Mon, 25 Jan 2010 16:00:03 +0000 (16:00 +0000)]
Use registers to pass arguments to GenericBinaryOpStub.
Currently arguments are never passed on registers (due to the way ArgsInRegistersSupported is written) and
if they were, the stub would break in several places because registers are not preserved properly in the
course of execution. This CL makes use of registers more often (than never) and makes sure that registers are
handler properly.
A peformance gain is small (0.2-0.3%) but stable.
This CL was extracted from the one sent out earlier (http://codereview.chromium.org/551093).

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

14 years agoMake ARM assembler VFP3 test pass on machines without VFP3 floating point hardware.
whesse@chromium.org [Mon, 25 Jan 2010 15:17:58 +0000 (15:17 +0000)]
Make ARM assembler VFP3 test pass on machines without VFP3 floating point hardware.
Review URL: http://codereview.chromium.org/543187

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

14 years agoFix bug in character-set merging. Add test case.
lrn@chromium.org [Mon, 25 Jan 2010 12:56:49 +0000 (12:56 +0000)]
Fix bug in character-set merging. Add test case.
See Chromium bug 32637.

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

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

14 years agoLand patch to add Solaris platform support.
ager@chromium.org [Mon, 25 Jan 2010 12:37:31 +0000 (12:37 +0000)]
Land patch to add Solaris platform support.

Patch by Erich Ocean and Ryan Dahl.

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

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

14 years agoAdd vstr and vldr floating point load and store to ARM assembler, disassembler, and...
whesse@chromium.org [Mon, 25 Jan 2010 11:54:10 +0000 (11:54 +0000)]
Add vstr and vldr floating point load and store to ARM assembler, disassembler, and simulator.
Review URL: http://codereview.chromium.org/545155

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

14 years agoPorted SubStringStub to X64.
lrn@chromium.org [Mon, 25 Jan 2010 08:55:08 +0000 (08:55 +0000)]
Ported SubStringStub to X64.

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

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

14 years agoChange the candidate version on bleeding_edge from 2.0.7 to
kasperl@chromium.org [Mon, 25 Jan 2010 08:28:39 +0000 (08:28 +0000)]
Change the candidate version on bleeding_edge from 2.0.7 to
2.1.0. This means that the next version pushed to trunk will
be the first version in the 2.1.x series.
Review URL: http://codereview.chromium.org/551139

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

14 years agoInline smi code in count operations in the full code generator.
fschneider@chromium.org [Fri, 22 Jan 2010 14:07:25 +0000 (14:07 +0000)]
Inline smi code in count operations in the full code generator.

We now test for a smi before calling ToNumber and inline
the smi increment/decrement for ++ and --. There only a small
increase in code size but loops in top-level code are
becoming much faster as a result.

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

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

14 years agoMake KeyedLoadIC::generic_stub go into slow case if receiver has an indexed interceptor.
antonm@chromium.org [Fri, 22 Jan 2010 13:56:12 +0000 (13:56 +0000)]
Make KeyedLoadIC::generic_stub go into slow case if receiver has an indexed interceptor.

BUG=589,27967.

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

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

14 years agoA follow-up to fix 553: really report function object moves.
mikhail.naganov@gmail.com [Fri, 22 Jan 2010 09:42:24 +0000 (09:42 +0000)]
A follow-up to fix 553: really report function object moves.

As an afterthought, I realized that I put function objects moves
reporting into a method that deals with only code object moves.  I've
looked up that function objects are allocated in old pointer space and
new space, so I moved logging to the corresponding VM methods.

BUG=553

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

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

14 years agoAdd support for two byte strings in direct call to RegExp
sgjesse@chromium.org [Fri, 22 Jan 2010 08:31:33 +0000 (08:31 +0000)]
Add support for two byte strings in direct call to RegExp

The stub for calling RegExp directly now also handles two byte strings.

Support for flat cons strings added for both ascii and two byte.

Some code code simplifications and added a few constants.
Review URL: http://codereview.chromium.org/545151

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

14 years agoFix lint errors
peter.rybin@gmail.com [Thu, 21 Jan 2010 19:28:13 +0000 (19:28 +0000)]
Fix lint errors

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

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

14 years agoFix disable_break parameter
peter.rybin@gmail.com [Thu, 21 Jan 2010 17:41:17 +0000 (17:41 +0000)]
Fix disable_break parameter

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

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

14 years agoFix EVEN number of bugs in already passing test
peter.rybin@gmail.com [Thu, 21 Jan 2010 17:37:28 +0000 (17:37 +0000)]
Fix EVEN number of bugs in already passing test

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

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

14 years agoFix issue 553: function frame is skipped in profile when compare stub is called.
mikhail.naganov@gmail.com [Thu, 21 Jan 2010 16:42:41 +0000 (16:42 +0000)]
Fix issue 553: function frame is skipped in profile when compare stub is called.

The problem appeared due to a fact that stubs doesn't create a stack
frame, reusing the stack frame of the caller function. When building
stack traces, the current function is retrieved from PC, and its
callees are retrieved by traversing the stack backwards. Thus, for
stubs, the stub itself was discovered via PC, and then stub's caller's
caller was retrieved from stack.

To fix this problem, a pointer to JSFunction object is now captured
from the topmost stack frame, and is saved into stack trace log
record. Then a simple heuristics is applied whether a referred
function should be added to decoded stack, or not, to avoid reporting
the same function twice (from PC and from the pointer.)

BUG=553
TEST=added to mjsunit/tools/tickprocessor

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

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

14 years agoFix map compact implementation.
antonm@chromium.org [Thu, 21 Jan 2010 14:22:28 +0000 (14:22 +0000)]
Fix map compact implementation.

Always invoke HeapObjectIterator::has_next() before invoking HeapObjectIterator::next().
This is necessary as ::has_next() has an important side-effect of going to the next
page when current page is exhausted.

And to find if pointers are encodable use more precise data---top of map space, not a number
of pages, as pages might stay in map space due to chunking.

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

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

14 years agoFix Android build.
erik.corry@gmail.com [Thu, 21 Jan 2010 13:59:15 +0000 (13:59 +0000)]
Fix Android build.
Review URL: http://codereview.chromium.org/545153

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

14 years agoImplement inline string compare on ARM.
lrn@chromium.org [Thu, 21 Jan 2010 12:10:56 +0000 (12:10 +0000)]
Implement inline string compare on ARM.
Backport optimizations from x64 version to ia32.

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

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

14 years agoRevert previous change that activated the full (non-optimizing)
erik.corry@gmail.com [Thu, 21 Jan 2010 11:28:11 +0000 (11:28 +0000)]
Revert previous change that activated the full (non-optimizing)
compiler for all code.

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

14 years agoEnable full (non-optimizing) compiler for testing purposes.
erik.corry@gmail.com [Thu, 21 Jan 2010 11:15:02 +0000 (11:15 +0000)]
Enable full (non-optimizing) compiler for testing purposes.
I will revert when the bots have picked this one up.
Review URL: http://codereview.chromium.org/549118

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

14 years agoAdd the for statement back into the set of things the
erik.corry@gmail.com [Thu, 21 Jan 2010 08:31:16 +0000 (08:31 +0000)]
Add the for statement back into the set of things the
non-optimizing compiler can cope with.  By default it bails out
to the old compiler on encountering a for loop (for performance)
but with this change the --always-fast-compiler flag will enable
functions with for loops to be compiled in the non-optimizing
compiler.  Also enables the non-optimizing compiler on functions
that can be lazily compiled (again only with the flag).
Review URL: http://codereview.chromium.org/552065

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

14 years agoFix lint error with strtol in test
peter.rybin@gmail.com [Wed, 20 Jan 2010 18:27:44 +0000 (18:27 +0000)]
Fix lint error with strtol in test

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

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

14 years agoDon't mention obsolete Issue 548
peter.rybin@gmail.com [Wed, 20 Jan 2010 17:06:23 +0000 (17:06 +0000)]
Don't mention obsolete Issue 548

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

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

14 years agoFix V8 issue 580: Arithmetic on some integer constants gives wrong anwers.
whesse@chromium.org [Wed, 20 Jan 2010 17:01:34 +0000 (17:01 +0000)]
Fix V8 issue 580: Arithmetic on some integer constants gives wrong anwers.
Review URL: http://codereview.chromium.org/545134

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

14 years agoSupport backtrace debug command when stack is empty
peter.rybin@gmail.com [Wed, 20 Jan 2010 16:56:49 +0000 (16:56 +0000)]
Support backtrace debug command when stack is empty

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

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

14 years agoRename the fast-codegen* files to full-codegen*.
kmillikin@chromium.org [Wed, 20 Jan 2010 16:28:21 +0000 (16:28 +0000)]
Rename the fast-codegen* files to full-codegen*.

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

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

14 years agoRefactor GenericBinaryOperation and its helper functions to always return a Result.
fschneider@chromium.org [Wed, 20 Jan 2010 16:13:53 +0000 (16:13 +0000)]
Refactor GenericBinaryOperation and its helper functions to always return a Result.

This is a preparation step for including number type information
in the virtual frame. We need a common place where we can update
the number type information of the result of a binary operation
since we should not modify the state of the virtual frame elements
directly.

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

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

14 years agoRename the toplevel code generator from "Fast" to "Full". It was
kmillikin@chromium.org [Wed, 20 Jan 2010 15:51:03 +0000 (15:51 +0000)]
Rename the toplevel code generator from "Fast" to "Full".  It was
always ambiguous whether it tried to generate fast code, or generate
it quickly.

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

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

14 years agoFix issue 582: preserve construct stub on first allocation in case we can't optimize it.
vitalyr@chromium.org [Wed, 20 Jan 2010 14:43:12 +0000 (14:43 +0000)]
Fix issue 582: preserve construct stub on first allocation in case we can't optimize it.

BUG=582
TEST=cctest/test-api/NativeFunctionConstructCall

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

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

14 years agoAdd the unary operators ADD and SUB to the code generator selector.
kmillikin@chromium.org [Wed, 20 Jan 2010 09:55:32 +0000 (09:55 +0000)]
Add the unary operators ADD and SUB to the code generator selector.

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

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

14 years agoTemporary disable map compact functionality.
antonm@chromium.org [Tue, 19 Jan 2010 23:03:37 +0000 (23:03 +0000)]
Temporary disable map compact functionality.

TBD=sgjesse@chromium.org

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

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

14 years agoFix lineprocessor: compilation
peter.rybin@gmail.com [Tue, 19 Jan 2010 18:36:51 +0000 (18:36 +0000)]
Fix lineprocessor: compilation

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

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

14 years agoA simple test for map compact.
antonm@chromium.org [Tue, 19 Jan 2010 16:34:37 +0000 (16:34 +0000)]
A simple test for map compact.

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

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

14 years agoRe-Fix DebugEvaluateWithoutStack test on Windows
peter.rybin@gmail.com [Tue, 19 Jan 2010 15:40:42 +0000 (15:40 +0000)]
Re-Fix DebugEvaluateWithoutStack test on Windows

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

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

14 years agoFix DebugEvaluateWithoutStack test on Windows
peter.rybin@gmail.com [Tue, 19 Jan 2010 15:12:43 +0000 (15:12 +0000)]
Fix DebugEvaluateWithoutStack test on Windows

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

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

14 years agoAdd conditional counter update to IA-32
sgjesse@chromium.org [Tue, 19 Jan 2010 14:17:34 +0000 (14:17 +0000)]
Add conditional counter update to IA-32
Review URL: http://codereview.chromium.org/554001

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

14 years agoFix some usage of "this" in builtins
sgjesse@chromium.org [Tue, 19 Jan 2010 14:15:47 +0000 (14:15 +0000)]
Fix some usage of "this" in builtins

The implementation of Object.prototype.valueOf and Object.prototype.toString now calls ToObject on "this" as mandated by the spec.
Review URL: http://codereview.chromium.org/542112

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

14 years agoMake tests pass.
antonm@chromium.org [Tue, 19 Jan 2010 13:26:40 +0000 (13:26 +0000)]
Make tests pass.

TBR=kmillikin@chromium.org

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

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

14 years agoFix a build.
antonm@chromium.org [Tue, 19 Jan 2010 13:15:52 +0000 (13:15 +0000)]
Fix a build.

Some tests still fail.

TBR=ager@chromium.org

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

14 years agoAdded Extensible property to objects and made methods for extracting and setting it.
ricow@chromium.org [Tue, 19 Jan 2010 12:56:36 +0000 (12:56 +0000)]
Added Extensible property to objects and made methods for extracting and setting it.
Also added one method to runtime to get the extensible value
Additionally, added a check on the number of arguments in the start of GetOwnProperty.

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

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

14 years agoFirst step of refactoring expression contexts in the toplevel code
kmillikin@chromium.org [Tue, 19 Jan 2010 12:41:02 +0000 (12:41 +0000)]
First step of refactoring expression contexts in the toplevel code
generator.

Contexts are no longer stored in the AST but in the code generator's
state.  This means that the running the code generator selector is not
required to use the toplevel code generator (for instance, if we
already know that we can and should use it).

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

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

14 years agoX64: Fix bug that reads from rax instead of correct register.
lrn@chromium.org [Tue, 19 Jan 2010 12:27:04 +0000 (12:27 +0000)]
X64: Fix bug that reads from rax instead of correct register.
Crashes if rax doesn't point to readable memory.
Recent change made rax contain garbage due to write-barrier computation.
(The fact that it hasn't crashed before highly suggests that the line does nothing.)

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

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

14 years agoFixed issue 582: set the right construct stub for native functions.
vitalyr@chromium.org [Tue, 19 Jan 2010 10:32:20 +0000 (10:32 +0000)]
Fixed issue 582: set the right construct stub for native functions.

TEST=cctest/test-api/NativeFunctionConstructCall
BUG=582

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

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

14 years agoAdded ES5 conform tests for getOwnPropertyNames.
ricow@chromium.org [Tue, 19 Jan 2010 08:23:29 +0000 (08:23 +0000)]
Added ES5 conform tests for getOwnPropertyNames.

Most of the test cases fail as the different objects according to the tests
can not have additional properties attached to them. I will file a bug report
on the es5 conform site as they should allow this. Some of the test fails
because we still miss some of the es5 features used.

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

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

14 years agoFix Windows build by using OS::StrNCpy.
ager@chromium.org [Tue, 19 Jan 2010 08:03:26 +0000 (08:03 +0000)]
Fix Windows build by using OS::StrNCpy.

Fix lint issue in lineprocessor.cc.

TBR=peter.rybin
Review URL: http://codereview.chromium.org/549081

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

14 years agoAdd missing break in continue.
kmillikin@chromium.org [Mon, 18 Jan 2010 23:18:09 +0000 (23:18 +0000)]
Add missing break in continue.

TBR=fschneider@chromium.org

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

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

14 years agoAdd another test on debug global evaluate
peter.rybin@gmail.com [Mon, 18 Jan 2010 19:14:27 +0000 (19:14 +0000)]
Add another test on debug global evaluate

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

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

14 years agoFix test-serialize.
mikhail.naganov@gmail.com [Mon, 18 Jan 2010 16:56:17 +0000 (16:56 +0000)]
Fix test-serialize.

Sorry for a breakage...

TBR=erik.corry@gmail.com

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

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

14 years agoAdd "lineprocessor" sample program
peter.rybin@gmail.com [Mon, 18 Jan 2010 16:45:13 +0000 (16:45 +0000)]
Add "lineprocessor" sample program

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

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

14 years agoFix a bug in the short-circuit logical operations in the toplevel
kmillikin@chromium.org [Mon, 18 Jan 2010 16:23:24 +0000 (16:23 +0000)]
Fix a bug in the short-circuit logical operations in the toplevel
code generator.

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

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

14 years agoFix issue 571: display descriptive names for code objects from snapshot.
mikhail.naganov@gmail.com [Mon, 18 Jan 2010 16:04:25 +0000 (16:04 +0000)]
Fix issue 571: display descriptive names for code objects from snapshot.

As this is only needed for internal profiling (not for DevTools),
the following approach had been chosen:

 - during snapshot creation, positions of serialized objects inside
   a snapshot are logged;

 - then during V8 initialization, positions of deserealized objects
   are logged;

 - those positions are used for retrieving code objects names from
   snapshot creation log, which needs to be supplied to tick processor
   script.

Positions logging is controlled with the new flag: --log_snapshot_positions.
This flag is turned off by default, and this adds no startup penalty.

To plug this fix to Golem, the following actions are needed:

 - logs created using 'mksnapshot' need to be stored along with VM images;

 - tick processor script needs to be run with '--snapshot-log=...' cmdline
   argument.

BUG=571

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

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

14 years agoImplement issue 549 Make V8 call DebugMessageDispatchHandler with Locker locked
peter.rybin@gmail.com [Mon, 18 Jan 2010 15:48:41 +0000 (15:48 +0000)]
Implement issue 549  Make V8 call DebugMessageDispatchHandler with Locker locked

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

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

14 years agoFix GC bug
sgjesse@chromium.org [Mon, 18 Jan 2010 14:13:58 +0000 (14:13 +0000)]
Fix GC bug

The patching of the receiver added in r3616 was not GC-safe and could leave a failure object in place of the receiver if allocation of the wrapper JS object failed.
Review URL: http://codereview.chromium.org/546068

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

14 years agoTrace command in ARM simulator debugger
sgjesse@chromium.org [Mon, 18 Jan 2010 14:11:37 +0000 (14:11 +0000)]
Trace command in ARM simulator debugger

The ARM simulator debugger now has a 'trace' command which is used to toggle the trace of executed instructions.
Review URL: http://codereview.chromium.org/548068

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

14 years agoFix some of my earlier typos.
kmillikin@chromium.org [Mon, 18 Jan 2010 14:09:36 +0000 (14:09 +0000)]
Fix some of my earlier typos.

TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/543106

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

14 years agoIntroduce 'top-of-stack caching' to the toplevel code generator by
kmillikin@chromium.org [Mon, 18 Jan 2010 14:04:55 +0000 (14:04 +0000)]
Introduce 'top-of-stack caching' to the toplevel code generator by
allowing the value of the rightmost subexpressions to be evaluated
into an accumulator register (eg, eax, rax, or r0) rather than onto
the stack.

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

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

14 years agoLift filtering of the test higher as otherwise we can get
antonm@chromium.org [Mon, 18 Jan 2010 13:17:38 +0000 (13:17 +0000)]
Lift filtering of the test higher as otherwise we can get
empty list of tests to run after the filtering and
would actually die with division by 0.

And there was a type (|c| instead of |case|) which is fixed too.

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

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

14 years agoFix windows tests. In the context of fopen the opposite of 'b' for binary
erik.corry@gmail.com [Mon, 18 Jan 2010 12:02:53 +0000 (12:02 +0000)]
Fix windows tests.  In the context of fopen the opposite of 'b' for binary
is '' for ascii, not 'a' for ascii.
Review URL: http://codereview.chromium.org/542104

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

14 years agoX64 implementation of native ascii string compare.
lrn@chromium.org [Mon, 18 Jan 2010 11:22:03 +0000 (11:22 +0000)]
X64 implementation of native ascii string compare.

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

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

14 years agoRegExp bitmap test for word character.
lrn@chromium.org [Mon, 18 Jan 2010 09:49:50 +0000 (09:49 +0000)]
RegExp bitmap test for word character.

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

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

14 years agoSmall optimization of ARM compare stub. Reverse all references to
erik.corry@gmail.com [Mon, 18 Jan 2010 08:36:06 +0000 (08:36 +0000)]
Small optimization of ARM compare stub.  Reverse all references to
left and right sides of the comparison to reflect reality.  Don't
check explicitly for NaNs when using VFP3 since the compare
operation can signal this case with the v flag.  Use cmp instead
of tst in the fast compilers since tst leaves the v flag unchanged
and thus can only work by accident on non-equality comparisons.
Review URL: http://codereview.chromium.org/551048

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

14 years agoMake debugger unloading deferred operation
peter.rybin@gmail.com [Fri, 15 Jan 2010 22:40:57 +0000 (22:40 +0000)]
Make debugger unloading deferred operation

This CL should make debugger handler setting an asynchronous operation for real.

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

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

14 years agoImplement issue 554 Add "ProcessDebuggerRequests" call to Debug Agent API
peter.rybin@gmail.com [Fri, 15 Jan 2010 21:14:56 +0000 (21:14 +0000)]
Implement issue 554 Add "ProcessDebuggerRequests" call to Debug Agent API

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

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

14 years agoFix build problems.
mikhail.naganov@gmail.com [Fri, 15 Jan 2010 20:15:47 +0000 (20:15 +0000)]
Fix build problems.

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

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

14 years agoAdd diagnostic print to debug agent if it fails to open port
peter.rybin@gmail.com [Fri, 15 Jan 2010 18:11:12 +0000 (18:11 +0000)]
Add diagnostic print to debug agent if it fails to open port

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

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

14 years agoSubmit Object.getOwnPropertyNames patch by Pavel Feldman. See http://codereview.chrom...
mikhail.naganov@gmail.com [Fri, 15 Jan 2010 15:34:32 +0000 (15:34 +0000)]
Submit Object.getOwnPropertyNames patch by Pavel Feldman. See codereview.chromium.org/549050.

Add copyright to regression test to fix build broken by r3619.

TBR=sgjesse@chromium.org

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

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

14 years agoImplement enough of the partial snapshots that we can deserialize
erik.corry@gmail.com [Fri, 15 Jan 2010 14:20:31 +0000 (14:20 +0000)]
Implement enough of the partial snapshots that we can deserialize
a single string.
Review URL: http://codereview.chromium.org/536077

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

14 years agoFix ARM build.
vitalyr@chromium.org [Fri, 15 Jan 2010 13:43:28 +0000 (13:43 +0000)]
Fix ARM build.

TBR=ager@chromium.org

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

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

14 years agoEnsure correct boxing of values when calling functions on them
sgjesse@chromium.org [Fri, 15 Jan 2010 13:42:32 +0000 (13:42 +0000)]
Ensure correct boxing of values when calling functions on them

When a function is called with a value type as the receiver this is now boxed as an object.

This is a low-impact solution where the receiver is only boxed when required. For IC calls to the V8 builtins values are not boxed and as most of the functions on String.prototype, Number.prototype and Boolean.prototype are sitting there most IC calls on values will not need any boxing of the receiver.

For calls which are not IC calls but calls through the CallFunctionStub a flag is used to determine whether the receiver might be a value and only when that is the case will the receiver be boxed.

No changtes to Function.call and Function.apply - they already boxed values. According to the ES5 spec the receiver should not be boxed for these functions, but current browsers have not adopted that change yet.

BUG=223
TEST=test/mjsunit/value-wrapper.js
TEST=test/mjsunit/regress/regress-crbug-3184.js
Review URL: http://codereview.chromium.org/542087

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

14 years agoUpdated README in es5conform so the description says to get revision
ricow@chromium.org [Fri, 15 Jan 2010 13:40:13 +0000 (13:40 +0000)]
Updated README in es5conform so the description says to get revision
62998 which corrects some errors in the tests that will otherwise make us
(wrongly) fail.

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

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

14 years agoOptimized calling of C++ builtins (and HandleApiCall
vitalyr@chromium.org [Fri, 15 Jan 2010 12:25:24 +0000 (12:25 +0000)]
Optimized calling of C++ builtins (and HandleApiCall
in particular).

  * Called function is passed on the stack instead of
    using a static variable.

  * Builtins that don't need the called function don't
    get it.

  * Made is_construct statically known to HandleApiCall
    by setting custom construct stub for API functions.

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

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

14 years agoFix issue 541 and some refactoring of the top-level compiler.
fschneider@chromium.org [Fri, 15 Jan 2010 12:00:59 +0000 (12:00 +0000)]
Fix issue 541 and some refactoring of the top-level compiler.

* Refactor VisitProperty to use the platform-specific methods for emitting the IC calls.
* Refactor recording of source positions in the top-level compiler.
* Correct the recorded source positions for assignments and property loads.
* Fix bug on x64 where source positions were not recorded before a calling a call-IC.
* Correct some inconsistencies between IA-32 and X64 top-level code generator.

We now pass all regression tests with
--always-fast-compiler.

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

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

14 years agoFix bug in keyed load stub for strings.
fschneider@chromium.org [Fri, 15 Jan 2010 12:00:21 +0000 (12:00 +0000)]
Fix bug in keyed load stub for strings.

Instead of returning the empty string when indexing
a string out of bounds we now correctly return undefined.

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

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

14 years agoFix a problem when compiling built-ins with the top-level compiler.
fschneider@chromium.org [Thu, 14 Jan 2010 17:22:59 +0000 (17:22 +0000)]
Fix a problem when compiling built-ins with the top-level compiler.

Replace runtime call to NumberAdd with call to binary op stub.

Until now the top-level compiler always called a runtime function
for count operations.

In some places we expected in the JS builtins smis as arguments.
If we perform a count operation before all smis would get converted into
heap numbers by the runtime number add function and result in a runtime
assert.

Also: Add missing debugger information in the top-level compiler for
do-while loops.

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

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

14 years agoPush to trunk. Now working on 2.0.7.
fschneider@chromium.org [Thu, 14 Jan 2010 15:09:43 +0000 (15:09 +0000)]
Push to trunk. Now working on 2.0.7.

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

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

14 years ago* Improve the interface to the memory-reservation functionality.
erik.corry@gmail.com [Thu, 14 Jan 2010 14:46:31 +0000 (14:46 +0000)]
* Improve the interface to the memory-reservation functionality.
* Add a test case that generates a serialization of a single flat string.
Review URL: http://codereview.chromium.org/542073

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

14 years agoFix crash when using Object.getOwnPropertyDescriptor on an API defined
ager@chromium.org [Thu, 14 Jan 2010 14:32:19 +0000 (14:32 +0000)]
Fix crash when using Object.getOwnPropertyDescriptor on an API defined
callback property.

Return undefined for Object.getOwnPropertyDescriptor on an API defined
callback properties for now.

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

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

14 years agoChange return type of MapSpace::NeedsCompaction from int to bool.
ager@chromium.org [Thu, 14 Jan 2010 12:51:38 +0000 (12:51 +0000)]
Change return type of MapSpace::NeedsCompaction from int to bool.
Fixes compiler warnings on Windows.

TBR=antonm@chromium.org

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

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

14 years agoRemoved check on element in case it is undefined in ArrayIndexOf - according to spec...
ricow@chromium.org [Thu, 14 Jan 2010 12:05:48 +0000 (12:05 +0000)]
Removed check on element in case it is undefined in ArrayIndexOf - according to spec this is OK.

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

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

14 years agoFix the tests that change because of change to toISOString format.
ager@chromium.org [Thu, 14 Jan 2010 09:05:52 +0000 (09:05 +0000)]
Fix the tests that change because of change to toISOString format.
Review URL: http://codereview.chromium.org/543057

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

14 years agoFix Date.prototype.toISOString for NaN dates and add milliseconds for
ager@chromium.org [Thu, 14 Jan 2010 08:55:15 +0000 (08:55 +0000)]
Fix Date.prototype.toISOString for NaN dates and add milliseconds for
compatibility with Safari.

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

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

14 years agoCompact map space when doing mark-sweep if after collection size of map space would
antonm@chromium.org [Wed, 13 Jan 2010 19:16:07 +0000 (19:16 +0000)]
Compact map space when doing mark-sweep if after collection size of map space would
drop below threshold.

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

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

14 years agoRemove an inlined ASSERT made obsolete by r3598.
kmillikin@chromium.org [Wed, 13 Jan 2010 16:21:06 +0000 (16:21 +0000)]
Remove an inlined ASSERT made obsolete by r3598.

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

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

14 years agoRemove a pair of problematic uses of the Reference utility class from
kmillikin@chromium.org [Wed, 13 Jan 2010 16:01:15 +0000 (16:01 +0000)]
Remove a pair of problematic uses of the Reference utility class from
the code generators.

These uses broke the rules of the class because it was safe to do so,
but there was no real reason to do it that way.
Review URL: http://codereview.chromium.org/543041

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

14 years agoRevert r3583 which seems to degrade performance.
ager@chromium.org [Wed, 13 Jan 2010 13:26:31 +0000 (13:26 +0000)]
Revert r3583 which seems to degrade performance.

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

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

14 years agoFix bug in top-level code generator with global receiver.
fschneider@chromium.org [Wed, 13 Jan 2010 12:13:37 +0000 (12:13 +0000)]
Fix bug in top-level code generator with global receiver.

We did not correcty pass the global receiver object in some cases.
This change fixes this bug on all three platforms.

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

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

14 years agoEnabled es5conform tests for new array methods and corrected errors that was discover...
ricow@chromium.org [Wed, 13 Jan 2010 12:10:57 +0000 (12:10 +0000)]
Enabled es5conform tests for new array methods and corrected errors that was discovered by enabling these.

Added new es5 methods:
GetOwnPropertyDescriptor
GetOwnProperty
FromPropertyDescriptor

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

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

14 years agoCleanup the handling of control flow in the toplevel code generator.
kmillikin@chromium.org [Wed, 13 Jan 2010 11:29:08 +0000 (11:29 +0000)]
Cleanup the handling of control flow in the toplevel code generator.

Do abstract the setting and restoring of 'argument' state into a
function that takes arguments.

Do not set the argument state in the code generator unless it
represents arguments to a recursive call to Visit.

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

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

14 years agoFix bug in the ARM port of FastNewContextStub. Load the function from
ager@chromium.org [Wed, 13 Jan 2010 10:27:54 +0000 (10:27 +0000)]
Fix bug in the ARM port of FastNewContextStub.  Load the function from
the stack instead of popping it - it is needed by the slow case.

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

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

14 years agoPort FastNewContextStub to x64 and arm.
ager@chromium.org [Wed, 13 Jan 2010 08:16:02 +0000 (08:16 +0000)]
Port FastNewContextStub to x64 and arm.

BUG=551
Review URL: http://codereview.chromium.org/541027

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

14 years agoFix ARM thumb/debug build
sgjesse@chromium.org [Wed, 13 Jan 2010 07:45:53 +0000 (07:45 +0000)]
Fix ARM thumb/debug build

Landing http://codereview.chromium.org/548007

TBR=piman@chromium.org
Review URL: http://codereview.chromium.org/549033

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