platform/upstream/v8.git
14 years agoARM: Implement native substring copying.
lrn@chromium.org [Thu, 4 Feb 2010 09:11:43 +0000 (09:11 +0000)]
ARM: Implement native substring copying.

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

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

14 years agoRevert last change (temporarily using only the full compiler).
erik.corry@gmail.com [Wed, 3 Feb 2010 20:39:34 +0000 (20:39 +0000)]
Revert last change (temporarily using only the full compiler).
TBR=ager

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

14 years agoActivate full compiler. This is a test which will be reverted.
erik.corry@gmail.com [Wed, 3 Feb 2010 20:31:49 +0000 (20:31 +0000)]
Activate full compiler.  This is a test which will be reverted.
TBR=ager

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

14 years agoIncorporate the arguments to the code generator constructors and their
kmillikin@chromium.org [Wed, 3 Feb 2010 16:12:55 +0000 (16:12 +0000)]
Incorporate the arguments to the code generator constructors and their
MakeCode functions in the CompilationInfo structure.  This makes it
easier to add new arguments and makes all arguments uniformly
available to the various backends.
Review URL: http://codereview.chromium.org/566008

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

14 years agoBad newline snuck in before commit.
lrn@chromium.org [Wed, 3 Feb 2010 13:29:42 +0000 (13:29 +0000)]
Bad newline snuck in before commit.

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

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

14 years agoUpdated JSON.stringify to newest version of ES5.
lrn@chromium.org [Wed, 3 Feb 2010 13:17:39 +0000 (13:17 +0000)]
Updated JSON.stringify to newest version of ES5.

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

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

14 years agoAdded Object.defineProperty + needed internal functionality:
ricow@chromium.org [Wed, 3 Feb 2010 13:10:03 +0000 (13:10 +0000)]
Added Object.defineProperty + needed internal functionality:
  DefineOwnProperty (changed to allow for redefinition of existing property)
  SameValue
  Extra info on propertydescriptor
  GetProperty
  HasProperty

Currently the DefineOrRedefineAccessorProperty deletes the existing
property on the object if it is a dataproperty (FIELD or NORMAL) and
adds a new one. This can potentially be optimized.

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

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

14 years agoDebugBreak shouldn't be used when ENABLE_DEBUGGER_SUPPORT isn't defined.
leonclarke@gmail.com [Wed, 3 Feb 2010 11:54:57 +0000 (11:54 +0000)]
DebugBreak shouldn't be used when ENABLE_DEBUGGER_SUPPORT isn't defined.
Review URL: http://codereview.chromium.org/568017

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

14 years agoUse MemOperand directly to load argv on arm.
ager@chromium.org [Wed, 3 Feb 2010 11:43:54 +0000 (11:43 +0000)]
Use MemOperand directly to load argv on arm.
Review URL: http://codereview.chromium.org/570003

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

14 years agoPrepare to push to trunk. We are now vorking on version 2.1.1.
sgjesse@chromium.org [Wed, 3 Feb 2010 09:15:58 +0000 (09:15 +0000)]
Prepare to push to trunk. We are now vorking on version 2.1.1.
Review URL: http://codereview.chromium.org/564033

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

14 years agoFix build error on Win32, fix spelling of DebugerStatementStub.
whesse@chromium.org [Wed, 3 Feb 2010 08:33:19 +0000 (08:33 +0000)]
Fix build error on Win32, fix spelling of DebugerStatementStub.
Review URL: http://codereview.chromium.org/570001

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

14 years agoUse the virtual-frame based optimizing compiler for split-compilation
ager@chromium.org [Wed, 3 Feb 2010 07:58:47 +0000 (07:58 +0000)]
Use the virtual-frame based optimizing compiler for split-compilation
bailouts.  For now the virtual-frame state at entry of a function is
hard-coded when using the virtual-frame based compiler as the
secondary compiler.

Setup frame pointer correctly on function entry on ARM in
fast-codegen-arm.

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

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

14 years agoReview URL: http://codereview.chromium.org/555164
serya@chromium.org [Tue, 2 Feb 2010 18:35:53 +0000 (18:35 +0000)]
Review URL: http://codereview.chromium.org/555164

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

14 years agoAdd missing access checks to Object.getOwnPropertyNames.
ager@chromium.org [Tue, 2 Feb 2010 13:48:54 +0000 (13:48 +0000)]
Add missing access checks to Object.getOwnPropertyNames.

Makes webkit layout test: http/tests/security/cross-frame-access-enumeration.html fail.
Review URL: http://codereview.chromium.org/561019

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

14 years agoRemove explicit Result arguments to IC calls on ARM.
whesse@chromium.org [Tue, 2 Feb 2010 13:40:53 +0000 (13:40 +0000)]
Remove explicit Result arguments to IC calls on ARM.
Review URL: http://codereview.chromium.org/568016

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

14 years agoHandle insertion order for simple constructors
sgjesse@chromium.org [Tue, 2 Feb 2010 13:33:29 +0000 (13:33 +0000)]
Handle insertion order for simple constructors

When functions only have simple assignments of the form this.x = ... the object is created in generated code without actually calling the constructor. In this case the initial map for the function already contains the properties assigned in the constructor. The field descriptors in this initial map now has an enumeration index assigned to make property enumeration order the insertion order. The insertion order here is the order of the this.x assignments in the code.

BUG=http://crbug.com/3867
TEST=test/mjsunit/regress/regress-crbug-3867.js

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

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

14 years agoRemove some unused code on ARM
sgjesse@chromium.org [Tue, 2 Feb 2010 11:36:37 +0000 (11:36 +0000)]
Remove some unused code on ARM
Review URL: http://codereview.chromium.org/563008

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

14 years agoPort caching of lookup followups for interceptors to ARM
antonm@chromium.org [Tue, 2 Feb 2010 11:32:17 +0000 (11:32 +0000)]
Port caching of lookup followups for interceptors to ARM

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

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

14 years agoChange StoreIC interface on x64 to pass receiver in rdx, not on stack.
whesse@chromium.org [Tue, 2 Feb 2010 09:20:19 +0000 (09:20 +0000)]
Change StoreIC interface on x64 to pass receiver in rdx, not on stack.
Review URL: http://codereview.chromium.org/558069

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

14 years agoFix a bug that Math.round() returns incorrect results for huge integers.
lrn@chromium.org [Tue, 2 Feb 2010 09:14:22 +0000 (09:14 +0000)]
Fix a bug that Math.round() returns incorrect results for huge integers.

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

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

14 years agoRemember to update the write barrier when storing into
kasperl@chromium.org [Tue, 2 Feb 2010 07:58:09 +0000 (07:58 +0000)]
Remember to update the write barrier when storing into
the context in the full compiler.

Clobber all input registers in the RecordWrite code
when the debug-code flag is set.
Review URL: http://codereview.chromium.org/569008

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

14 years agoImplement simple fast-path code for functions containing this property stores and...
kmillikin@chromium.org [Mon, 1 Feb 2010 17:01:58 +0000 (17:01 +0000)]
Implement simple fast-path code for functions containing this property stores and global variables.

Code is specialized to the initial receiver.

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

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

14 years agoRevert r3758.
kasperl@chromium.org [Mon, 1 Feb 2010 15:27:51 +0000 (15:27 +0000)]
Revert r3758.

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

14 years agoTemporarily allocate all function contexts in old space and
kasperl@chromium.org [Mon, 1 Feb 2010 15:16:26 +0000 (15:16 +0000)]
Temporarily allocate all function contexts in old space and
force the system to use the full compiler to momentarily get
better test coverage.

This change will be reverted once the unit tests have finished
running.
Review URL: http://codereview.chromium.org/552257

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

14 years agoAvoid using RecordWrite with the context (esi, rsi, cp) as
kasperl@chromium.org [Mon, 1 Feb 2010 13:20:43 +0000 (13:20 +0000)]
Avoid using RecordWrite with the context (esi, rsi, cp) as
one of the arguments since this may clobber the register.
Review URL: http://codereview.chromium.org/556101

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

14 years agoAllow the optimizing compiler to use an existing macro assembler.
ager@chromium.org [Mon, 1 Feb 2010 13:07:53 +0000 (13:07 +0000)]
Allow the optimizing compiler to use an existing macro assembler.

This is the first towards using the optimizing compiler for split
compilation bailouts.
Review URL: http://codereview.chromium.org/557079

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

14 years agoCorrectly set eval_from_shared value when new function is created by "new Function...
yurys@chromium.org [Mon, 1 Feb 2010 12:56:56 +0000 (12:56 +0000)]
Correctly set eval_from_shared value when new function is created by "new Function(...)". At the moment it's set to the native script where the Function is defined(v8natives.js) which doesn't make much sense for the user when he tries to debug his code. Moreover, it causes an exception in JSONProtocolSerializer.prototype.serialize_.

Related Chromium bug: http://crbug.com/29062
Review URL: http://codereview.chromium.org/551227

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

14 years agoRemove StoreIC::Generate, and inline StoreIC::GenerateInitialize.
whesse@chromium.org [Mon, 1 Feb 2010 11:07:41 +0000 (11:07 +0000)]
Remove StoreIC::Generate, and inline StoreIC::GenerateInitialize.
Review URL: http://codereview.chromium.org/558067

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

14 years agoShow user script source line that caused exception intead of a line in a native scrip...
yurys@chromium.org [Mon, 1 Feb 2010 10:34:57 +0000 (10:34 +0000)]
Show user script source line that caused exception intead of a line in a native script. When an error is reported as one happened in a native script it's hard to track the original cause. See chromium issue: crbug.com/25305
Review URL: http://codereview.chromium.org/555170

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

14 years agoAdded validating JSON parser mode to parser.
lrn@chromium.org [Mon, 1 Feb 2010 10:31:55 +0000 (10:31 +0000)]
Added validating JSON parser mode to parser.

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

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

14 years agoStoreIC interface changed on ia32 to take receiver in edx, not on stack.
whesse@chromium.org [Mon, 1 Feb 2010 08:35:38 +0000 (08:35 +0000)]
StoreIC interface changed on ia32 to take receiver in edx, not on stack.
Review URL: http://codereview.chromium.org/555162

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

14 years agoFix stack overflow in cctest/test-api/Threadin2 after r3613.
vitalyr@chromium.org [Fri, 29 Jan 2010 18:01:46 +0000 (18:01 +0000)]
Fix stack overflow in cctest/test-api/Threadin2 after r3613.

r3613 started wrapping all builtins in extra call in debug mode so it
became easier to cause stack overflow especially in 64-bit build.

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

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

14 years agoAdd fast code generator visitor.
kmillikin@chromium.org [Fri, 29 Jan 2010 15:29:33 +0000 (15:29 +0000)]
Add fast code generator visitor.

It does not yet emit code so there is a flag --print-ir to print the
AST as seen by the code generator.

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

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

14 years agoRewrite CsvParser.parseLine to make it simpler and gain some performance improvement.
mikhail.naganov@gmail.com [Fri, 29 Jan 2010 13:32:32 +0000 (13:32 +0000)]
Rewrite CsvParser.parseLine to make it simpler and gain some performance improvement.

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

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

14 years agoRemoving redundant stub for runtime native calls.
serya@chromium.org [Fri, 29 Jan 2010 12:41:11 +0000 (12:41 +0000)]
Removing redundant stub for runtime native calls.
Review URL: http://codereview.chromium.org/543207

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

14 years agoIntroduce a stack-allocated structure to encapsulate compile-time information.
kmillikin@chromium.org [Fri, 29 Jan 2010 11:55:40 +0000 (11:55 +0000)]
Introduce a stack-allocated structure to encapsulate compile-time information.

Use it to hold the possible shared function info, the possible
receiver, and the compilation loop nesting depth.  Remove loop nesting
from FunctionLiteral AST nodes.

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

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

14 years agoRFC: Try to be much more careful with where we skip the write barrier by:
kasperl@chromium.org [Fri, 29 Jan 2010 11:46:55 +0000 (11:46 +0000)]
RFC: Try to be much more careful with where we skip the write barrier by:

  1. Avoid using SKIP_WRITE_BARRIER when we don't have to (smis).
  2. Check and document the remaining uses of SKIP_WRITE_BARRIER.
  3. Only allow GetWriteBarrierMode when in an AssertNoAllocation scope.

The only functional change should be in DeepCopyBoilerplate where we
no longer use the write barrier mode (because of allocations). I'm
running benchmarks to see if this has a measurable impact on performance.
Review URL: http://codereview.chromium.org/558041

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

14 years agoFix debug build breakage from r3740
sgjesse@chromium.org [Fri, 29 Jan 2010 11:34:37 +0000 (11:34 +0000)]
Fix debug build breakage from r3740

TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/555161

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

14 years agoChange to src/x64/assembler-x64.h missing from r3740
sgjesse@chromium.org [Fri, 29 Jan 2010 10:56:26 +0000 (10:56 +0000)]
Change to src/x64/assembler-x64.h missing from r3740

TBR=lrn@chromium.org

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

14 years agoPort direct call from JavaScript to native RegExp to x64
sgjesse@chromium.org [Fri, 29 Jan 2010 10:33:27 +0000 (10:33 +0000)]
Port direct call from JavaScript to native RegExp to x64

Code tested on both Linux and Windows.

Added a bit more abstraction to calling a C function from generated code.

Minor tweaks to the ia32 version.
Review URL: http://codereview.chromium.org/548179

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

14 years agoPropagate receiver from initial call site to code generator.
kmillikin@chromium.org [Fri, 29 Jan 2010 09:52:51 +0000 (09:52 +0000)]
Propagate receiver from initial call site to code generator.

When doing lazy compilation of methods, allow the code generator to know the
(initial) receiver at the (initial) call site.

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

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

14 years agoAdd a pass for the fast compiler to label expression nodes.
fschneider@chromium.org [Fri, 29 Jan 2010 09:42:13 +0000 (09:42 +0000)]
Add a pass for the fast compiler to label expression nodes.

This change adds a post-order numbering to AST nodes that
are relevant for the fast code generator. It is only invoked
together with the fast compiler.

Also changed the ast printer to print the  numbering for
testing purposes if it is present.

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

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

14 years agoRemove some unneeded restorations of a register in StoreIC.
whesse@chromium.org [Thu, 28 Jan 2010 14:01:14 +0000 (14:01 +0000)]
Remove some unneeded restorations of a register in StoreIC.
Review URL: http://codereview.chromium.org/548181

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

14 years agoRemove unsafe and unneeded logging during deserialization.
ager@chromium.org [Thu, 28 Jan 2010 13:05:29 +0000 (13:05 +0000)]
Remove unsafe and unneeded logging during deserialization.

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

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

14 years agoUse registers to pass arguments to GenericBinaryOpStub (x64).
kaznacheev@chromium.org [Thu, 28 Jan 2010 12:45:14 +0000 (12:45 +0000)]
Use registers to pass arguments to GenericBinaryOpStub (x64).

This is a port to x64 of the following CLs:

http://codereview.chromium.org/554062 (use registers at all)
http://codereview.chromium.org/555098 (use registers for MUL, DIV and virtual frames)
http://codereview.chromium.org/556019 (optimize register order)

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

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

14 years agoMove a line, in codegen-*.cc. Make formatting of ic-*.cc uniform.
whesse@chromium.org [Thu, 28 Jan 2010 12:41:27 +0000 (12:41 +0000)]
Move a line, in codegen-*.cc.  Make formatting of ic-*.cc uniform.
Review URL: http://codereview.chromium.org/552210

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

14 years agoFix typo.
sgjesse@chromium.org [Thu, 28 Jan 2010 10:46:58 +0000 (10:46 +0000)]
Fix typo.

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/554114

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

14 years agoAdd missing break.
kasperl@chromium.org [Thu, 28 Jan 2010 09:08:01 +0000 (09:08 +0000)]
Add missing break.

TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/548178

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

14 years agoStrengthen a few assertions and add zapping of allocated
kasperl@chromium.org [Thu, 28 Jan 2010 08:46:56 +0000 (08:46 +0000)]
Strengthen a few assertions and add zapping of allocated
memory blocks filling them out with recognizable non-zero
bit pattern in debug mode.
Review URL: http://codereview.chromium.org/558016

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

14 years agoUpdage Visual Studio project files
sgjesse@chromium.org [Thu, 28 Jan 2010 08:41:31 +0000 (08:41 +0000)]
Updage Visual Studio project files

Add the new files for the fast compiler.

TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/557034

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

14 years agoImplement SUB and BIT_NOT unary operations in full codegenerator.
ager@chromium.org [Thu, 28 Jan 2010 08:15:00 +0000 (08:15 +0000)]
Implement SUB and BIT_NOT unary operations in full codegenerator.

This change depends on landing the BIT_NOT unary op stub on arm. That
change is out for review.

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

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

14 years agoPort bit not unary op stub to ARM.
ager@chromium.org [Thu, 28 Jan 2010 08:14:19 +0000 (08:14 +0000)]
Port bit not unary op stub to ARM.

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

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

14 years agoMake sure to initialize all fields in the special maps
kasperl@chromium.org [Wed, 27 Jan 2010 20:14:46 +0000 (20:14 +0000)]
Make sure to initialize all fields in the special maps
created during bootstrapping. Without this change we
risk having weird flags set on the map for the null
value (among others), which can lead to crashes.
Review URL: http://codereview.chromium.org/552195

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

14 years agoRename flags in unit tests to match the new flag definitions.
fschneider@chromium.org [Wed, 27 Jan 2010 17:21:48 +0000 (17:21 +0000)]
Rename flags in unit tests to match the new flag definitions.

TBR=kmillikin@chromium.org,
Review URL: http://codereview.chromium.org/555132

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

14 years agoGet it to compile when ENABLE_LOGGING_AND_PROFILING isn't defined.
leonclarke@gmail.com [Wed, 27 Jan 2010 17:10:28 +0000 (17:10 +0000)]
Get it to compile when ENABLE_LOGGING_AND_PROFILING isn't defined.
I think it currently is defined on all platforms except Android.
Review URL: http://codereview.chromium.org/554101

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

14 years agoFix 64-bit build on Windows and Visual Studio project files
sgjesse@chromium.org [Wed, 27 Jan 2010 16:18:58 +0000 (16:18 +0000)]
Fix 64-bit build on Windows and Visual Studio project files

64-bit version now builds on Windows again in both release and debug mode.

The Visual Studio project files have been updated so that all three configurations work (32-bit, 64-bit and 32-bit with ARM simulator). They all convert from Visual Studio 2005 to Visual Studio 2008.

TBR=lrn@chromium.org
Review URL: http://codereview.chromium.org/549174

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

14 years agoRefactor the selection of code generator and add the possibility of a
kmillikin@chromium.org [Wed, 27 Jan 2010 15:23:48 +0000 (15:23 +0000)]
Refactor the selection of code generator and add the possibility of a
simpler backend for non-toplevel code.

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

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

14 years agoRefactor Reference so that SetValue and GetValue pop the reference state.
whesse@chromium.org [Wed, 27 Jan 2010 14:07:12 +0000 (14:07 +0000)]
Refactor Reference so that SetValue and GetValue pop the reference state.
Review URL: http://codereview.chromium.org/487017

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

14 years agoChanged JSObject::DefineGetterSetter to also set the right attributes
ricow@chromium.org [Wed, 27 Jan 2010 13:53:19 +0000 (13:53 +0000)]
Changed JSObject::DefineGetterSetter to also set the right attributes
when an existing accessor is redefined (a configurable accessor can
potentially be redefined as a non-configurable (i.e., DONT_DELETE)).

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

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

14 years agoSet iIsExtensible to true as default in the map.
ricow@chromium.org [Wed, 27 Jan 2010 13:51:04 +0000 (13:51 +0000)]
Set iIsExtensible to true as default in the map.

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

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

14 years agoPort code to load an integer directly from a heap number from ia32 to x64.
ager@chromium.org [Wed, 27 Jan 2010 13:34:29 +0000 (13:34 +0000)]
Port code to load an integer directly from a heap number from ia32 to x64.

For now, this is a direct port from ia32, so there is probably still
stuff that can be improved here.
Review URL: http://codereview.chromium.org/555131

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

14 years agoEnable references and assignments to lookup slots in the toplevel code
kmillikin@chromium.org [Wed, 27 Jan 2010 12:14:26 +0000 (12:14 +0000)]
Enable references and assignments to lookup slots in the toplevel code
generator.

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

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

14 years agoMove heap numbers directly to VFP3 registers in comparison stub.
whesse@chromium.org [Wed, 27 Jan 2010 12:13:32 +0000 (12:13 +0000)]
Move heap numbers directly to VFP3 registers in comparison stub.
Review URL: http://codereview.chromium.org/556020

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

14 years agoAdd counters for the different code generators.
erik.corry@gmail.com [Wed, 27 Jan 2010 11:08:32 +0000 (11:08 +0000)]
Add counters for the different code generators.
Review URL: http://codereview.chromium.org/552184

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

14 years agoAnother step on the way to context snapshots. We can now refer to
erik.corry@gmail.com [Wed, 27 Jan 2010 08:25:48 +0000 (08:25 +0000)]
Another step on the way to context snapshots.  We can now refer to
objects in the startup heap from a partial snapshot.  This happens
through the partial snapshot cache.  A startup snapshot and a
partial snapshot are created together so that the startup snapshot
contains the partial snapshot cache entries needed.
Review URL: http://codereview.chromium.org/548149

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

14 years agoRefactoring and small optimization of the smi code for binary op stubs
kmillikin@chromium.org [Tue, 26 Jan 2010 14:43:40 +0000 (14:43 +0000)]
Refactoring and small optimization of the smi code for binary op stubs
on ia32.

1. Operate on the values in edx,eax when possible (all operations
except DIV and MOD).  This saves moving them on entry and when falling
out to the non-smi code.

2. Do not perform ADD and SUB before the smi check of their inputs.
This saves undoing the operation in the case that we fall through to
the non-smi case due to non-smi inputs (probably common?), and we can
avoid emitting the smi check code twice (code size reduction).

3. Don't perform OR twice (once to smi check the inputs and once to
smi check the result).

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

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

14 years agoImplement unary addition in the full (non-optimizing) code generator.
ager@chromium.org [Tue, 26 Jan 2010 13:57:11 +0000 (13:57 +0000)]
Implement unary addition in the full (non-optimizing) code generator.
Review URL: http://codereview.chromium.org/555099

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

14 years agoAlow long running test to time out on ARM
sgjesse@chromium.org [Tue, 26 Jan 2010 11:45:53 +0000 (11:45 +0000)]
Alow long running test to time out on ARM

This test have been timing out on ARM hardware from time to time.
Review URL: http://codereview.chromium.org/543206

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

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