platform/upstream/v8.git
14 years agoFix wrong asserts from r3554
sgjesse@chromium.org [Thu, 7 Jan 2010 13:17:37 +0000 (13:17 +0000)]
Fix wrong asserts from r3554
Review URL: http://codereview.chromium.org/523128

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

14 years agoFixed potential length miscalculations by limiting max size of arrays and strings.
lrn@chromium.org [Thu, 7 Jan 2010 13:17:18 +0000 (13:17 +0000)]
Fixed potential length miscalculations by limiting max size of arrays and strings.

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

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

14 years agoFix runtime function StringCharAt where an argument was not checked.
fschneider@chromium.org [Thu, 7 Jan 2010 12:31:45 +0000 (12:31 +0000)]
Fix runtime function StringCharAt where an argument was not checked.

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

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

14 years agoMake String.prototype.replace a tiny bit faster by avoiding
kasperl@chromium.org [Thu, 7 Jan 2010 12:18:56 +0000 (12:18 +0000)]
Make String.prototype.replace a tiny bit faster by avoiding
ToString conversions for strings.
Review URL: http://codereview.chromium.org/518059

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

14 years agoFix x64 and arm build.
fschneider@chromium.org [Thu, 7 Jan 2010 11:38:43 +0000 (11:38 +0000)]
Fix x64 and arm build.

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

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

14 years agoImprove keyed loads on strings by using a new stub.
fschneider@chromium.org [Thu, 7 Jan 2010 10:25:20 +0000 (10:25 +0000)]
Improve keyed loads on strings by using a new stub.

Instead of going through a runtime function for keyed loads
on strings we invoke a separate specialized stub that
assumes string as receiver type and the key to be a number.

The stub calls a JS builtin function to return the corresponding one-character string.

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

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

14 years agoAdded ES5 15.2.3.2 Object.getPrototypeOf.
ricow@chromium.org [Thu, 7 Jan 2010 10:01:24 +0000 (10:01 +0000)]
Added ES5 15.2.3.2 Object.getPrototypeOf.

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

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

14 years agoUse generated code to create sub strings.
sgjesse@chromium.org [Thu, 7 Jan 2010 09:59:37 +0000 (09:59 +0000)]
Use generated code to create sub strings.

Added a stub to allocate and fill a string object with a substring from another string.

Use the rep movs instruction to copy the string data as it turned out to be the fastest way.

While preparing this I experimented with some SSE2 instructions, so the instructions movdqa and movdqu are still in the IA-32 assembler even though they are not used.
Review URL: http://codereview.chromium.org/525085

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

14 years agoImprove the performance of String.prototype.concat and the slow-case
kasperl@chromium.org [Thu, 7 Jan 2010 09:40:50 +0000 (09:40 +0000)]
Improve the performance of String.prototype.concat and the slow-case
for compare operations.
Review URL: http://codereview.chromium.org/521054

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

14 years agoQuick fix to ARM fixup issue introduced in r3545. The fixup code
kasperl@chromium.org [Wed, 6 Jan 2010 15:50:34 +0000 (15:50 +0000)]
Quick fix to ARM fixup issue introduced in r3545. The fixup code
seems somewhat broken on ARM, but this solves the issue for now.
I'll look into the code patching tomorrow.
Review URL: http://codereview.chromium.org/525068

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

14 years agoImprove performance of Array.prototype.join and String.prototype.substring
kasperl@chromium.org [Wed, 6 Jan 2010 14:40:21 +0000 (14:40 +0000)]
Improve performance of Array.prototype.join and String.prototype.substring
by tweaking the JavaScript implementation of these functions.
Review URL: http://codereview.chromium.org/519061

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

14 years agoMake the direct call to native RegExp work
sgjesse@chromium.org [Wed, 6 Jan 2010 12:21:28 +0000 (12:21 +0000)]
Make the direct call to native RegExp work

Single glitch in r3542 which caused the direct call to native regexp code to always bail out to the runtime system.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/523091

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

14 years ago- Adjust the number to string cache based on the max semispace size.
bak@chromium.org [Wed, 6 Jan 2010 11:19:28 +0000 (11:19 +0000)]
- Adjust the number to string cache based on the max semispace size.
  Flushed at compacting mark sweep.
- Simplified FindEntry by eliminating the counter.

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

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

14 years agoDirect call to native RegExp code from JavaScript.
sgjesse@chromium.org [Wed, 6 Jan 2010 11:09:30 +0000 (11:09 +0000)]
Direct call to native RegExp code from JavaScript.

Calls to RegExp no longer have to be via a call to the runtime system. A new stub have been added which can handle this call in generated code. The stub checks all the parameters and creates RegExp entry frame in the same way as it is created by the runtime system. Bailout to the runtime system is done whenever an uncommon situation is encountered or when the static data used is not initialized. After running the native RegExp code the last match info is updated like in the runtime system.

Currently only ASCII strings are handled.

Added another argument to the RegExp entry frame. It indicated whether the call is direct from JavaScript code or through the runtime system. This information is used when RegExp execution is interrupted. If an interruption happens when RegExp code is called directly a retry is issued causing the interruption to be handled via the runtime system. The reason for this is that the direct call to RegExp code does not support garbage collection.
Review URL: http://codereview.chromium.org/521028

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

14 years agoUpdate the result size for ResolvePossiblyDirectEval from 1 to 2
kasperl@chromium.org [Wed, 6 Jan 2010 09:22:36 +0000 (09:22 +0000)]
Update the result size for ResolvePossiblyDirectEval from 1 to 2
following the change submitted in r3533.
Review URL: http://codereview.chromium.org/525063

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

14 years ago- Fixed a bug in the array concat implementation causing the elements in the result...
bak@chromium.org [Tue, 5 Jan 2010 12:33:55 +0000 (12:33 +0000)]
- Fixed a bug in the array concat implementation causing the elements in the result to be lost.

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

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

14 years agoUse cmov instructions to avoid some conditional branches in stub code.
fschneider@chromium.org [Tue, 5 Jan 2010 12:02:18 +0000 (12:02 +0000)]
Use cmov instructions to avoid some conditional branches in stub code.

This change improves the ConstructStub and the ArgumentsAccessStub slightly
by using the cmov instruction (if available) to eliminate a
conditional branch. It only applies to the IA-32 and X64 platforms.

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

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

14 years agoAdded rehashing of hash tables when there are too many deleted elements.
bak@chromium.org [Tue, 5 Jan 2010 11:38:36 +0000 (11:38 +0000)]
Added rehashing of hash tables when there are too many deleted elements.

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

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

14 years agoSimplify checking during allocation when Heap::always_allocate() is
kmillikin@chromium.org [Tue, 5 Jan 2010 11:30:05 +0000 (11:30 +0000)]
Simplify checking during allocation when Heap::always_allocate() is
true.  The rules are:

1. Heap::AllocateRaw can normally handle allocation requests in new
   space even when always_allocate() is true.  It properly retries
   failed allocation in the second 'retry' space.

2. Heap::Allocate can normally handle allocation requests in new
   space.

3. We only need to check always_allocate() when explicitly requesting
   allocation in new space via Heap::new_space().AllocateRaw().

4. The exception to these rules is fixed arrays with size such that
   MaxObjectSizeInPagedSpace < size <= MaxObjectSizeInNewSpace (ie,
   those that will be allocated in new space and promoted to large
   object space).  They cannot be allocated in new space via
   Heap::Allocate or Heap::AllocateRaw, because the retry logic does
   not know to allocate extra remembered set bits when retrying in
   large object space.

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

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

14 years agoMore cleanup of slot handling in the nonoptimizing code generator.
kmillikin@chromium.org [Tue, 5 Jan 2010 11:29:27 +0000 (11:29 +0000)]
More cleanup of slot handling in the nonoptimizing code generator.
Rename CreateSlotOperand so that it's clear it can emit code.  Use it
where possible.

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

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

14 years agoMake the ResolvePossiblyDirectEval faster by avoiding the
kasperl@chromium.org [Tue, 5 Jan 2010 09:38:02 +0000 (09:38 +0000)]
Make the ResolvePossiblyDirectEval faster by avoiding the
stack traversal code.
Review URL: http://codereview.chromium.org/523051

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

14 years agoStyle cleanup of switches over Slot::Type in the nonoptimizing code
kmillikin@chromium.org [Tue, 5 Jan 2010 09:11:10 +0000 (09:11 +0000)]
Style cleanup of switches over Slot::Type in the nonoptimizing code
generator.

The Slot::Type enumeration has four values.  It should never be
necessary to use a default to handle the case of a value out of range
of the enumeration.  Doing so silences a useful warning when one of
the enumeration values is actually forgotten or when a new enumeration
value is added.

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

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

14 years agoImprove count operation in top-level compiler on ARM.
fschneider@chromium.org [Mon, 4 Jan 2010 14:15:47 +0000 (14:15 +0000)]
Improve count operation in top-level compiler on ARM.

Save one instruction by using stm instead of push.

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

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

14 years agoAdded general pre- and postfix count operations to top-level compiler.
fschneider@chromium.org [Mon, 4 Jan 2010 13:56:31 +0000 (13:56 +0000)]
Added general pre- and postfix count operations to top-level compiler.

Until now we only supported postfix operations on global variables.
This change add generic count operations to the top-level compiler.

I tried to re-use code from the code generator used for assignment expressions
where possible.

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

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

14 years agoRemove unused function and function declaration.
kasperl@chromium.org [Mon, 4 Jan 2010 11:24:03 +0000 (11:24 +0000)]
Remove unused function and function declaration.
Review URL: http://codereview.chromium.org/523036

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

14 years agoFaster handling of string indexing using [] with a SMI index.
fschneider@chromium.org [Mon, 28 Dec 2009 13:01:03 +0000 (13:01 +0000)]
Faster handling of string indexing using [] with a SMI index.

Instead of falling back to calling GetObjectProperty we call GetCharAt
directly if the object is a string and the key in a SMI.

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

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

14 years agoSecond attempt at fixing issue 559.
kasperl@chromium.org [Mon, 28 Dec 2009 09:21:23 +0000 (09:21 +0000)]
Second attempt at fixing issue 559.
Review URL: http://codereview.chromium.org/519007

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

14 years agoLand http://codereview.chromium.org/509029 (slightly simplified).
kasperl@chromium.org [Mon, 28 Dec 2009 08:19:23 +0000 (08:19 +0000)]
Land codereview.chromium.org/509029 (slightly simplified).

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

14 years agoUse a loop in generated code to allocate stack slots for function with many local...
fschneider@chromium.org [Wed, 23 Dec 2009 15:06:21 +0000 (15:06 +0000)]
Use a loop in generated code to allocate stack slots for function with many local variables.

If a function contains more than a certain number of locals (IA32: 9, X64: 6, ARM: 4)
a loop for initializing the locals with 'undefined' is more compact.
For less locals we unroll that loop by emitting a sequence of push instructions.

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

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

14 years ago- Reordered the instructions in the inlined allocation code to space dependent instru...
bak@chromium.org [Wed, 23 Dec 2009 13:27:58 +0000 (13:27 +0000)]
- Reordered the instructions in the inlined allocation code to space dependent instructions.
- Replaced the or instruction with lea.

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

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

14 years agoWhen promoting objects during a copying collection, promote all
kmillikin@chromium.org [Tue, 22 Dec 2009 13:34:02 +0000 (13:34 +0000)]
When promoting objects during a copying collection, promote all
non-large objects that cannot contain non-map-word pointers to other
heap objects into the old data space.

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

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

14 years agoMake the FastCloneShallowArrayStub a bit prettier.
kasperl@chromium.org [Tue, 22 Dec 2009 13:10:24 +0000 (13:10 +0000)]
Make the FastCloneShallowArrayStub a bit prettier.

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

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

14 years agoRevert r3514 and r3515. The new cache is too large for some tests
ager@chromium.org [Tue, 22 Dec 2009 13:07:27 +0000 (13:07 +0000)]
Revert r3514 and r3515.  The new cache is too large for some tests
that attempt to run with a small heap.  Additionally, it can
potentially keep a lot of string data alive and it is never flushed.
Can we make it grow dynamically if used so that we can still start the
VM with a small heap size?
Review URL: http://codereview.chromium.org/503081

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

14 years agoUse one runtime call for creating object/array literals in
fschneider@chromium.org [Tue, 22 Dec 2009 12:41:45 +0000 (12:41 +0000)]
Use one runtime call for creating object/array literals in
the code generator.

The runtime function checks if it needs to create a boilerplate
object or if it can clone from an existing boilerplate.

This is already done in the top-level compiler.

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

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

14 years agoFix linto.
kasperl@chromium.org [Tue, 22 Dec 2009 12:39:56 +0000 (12:39 +0000)]
Fix linto.

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

14 years ago- Increased size of number string cache.
bak@chromium.org [Tue, 22 Dec 2009 11:35:05 +0000 (11:35 +0000)]
- Increased size of number string cache.
- Change the instruction order for inlined allocation.

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

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

14 years agoAdd fast case stub for BIT_NOT.
kasperl@chromium.org [Tue, 22 Dec 2009 10:16:27 +0000 (10:16 +0000)]
Add fast case stub for BIT_NOT.
Review URL: http://codereview.chromium.org/503079

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

14 years agoCheck for undefined in the binary operation stub when convertion to
ager@chromium.org [Tue, 22 Dec 2009 09:48:55 +0000 (09:48 +0000)]
Check for undefined in the binary operation stub when convertion to
int32 for bitops.  undefined converts to zero in ToInt32 conversions.

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

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

14 years agoVery experimental fix for issue 555.
kasperl@chromium.org [Mon, 21 Dec 2009 15:09:26 +0000 (15:09 +0000)]
Very experimental fix for issue 555.
Review URL: http://codereview.chromium.org/508006

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

14 years agoOptimize implementation of Math.floor a little by special casing
erik.corry@gmail.com [Mon, 21 Dec 2009 15:04:00 +0000 (15:04 +0000)]
Optimize implementation of Math.floor a little by special casing
the comparison it uses in the code generator.  Use Math.floor for
date operations.
Review URL: http://codereview.chromium.org/509007

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

14 years agoRemove complicated Math.sin and Math.cos optimizations that do not buy
ager@chromium.org [Mon, 21 Dec 2009 13:30:10 +0000 (13:30 +0000)]
Remove complicated Math.sin and Math.cos optimizations that do not buy
us much.
Review URL: http://codereview.chromium.org/509006

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

14 years agoOptimize sine and cosine by checking up front if the fsin or fcos
ager@chromium.org [Mon, 21 Dec 2009 12:08:59 +0000 (12:08 +0000)]
Optimize sine and cosine by checking up front if the fsin or fcos
operation can throw an exception.

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

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

14 years agoThe number of heap slots stored in a scope includes the
kasperl@chromium.org [Mon, 21 Dec 2009 10:24:11 +0000 (10:24 +0000)]
The number of heap slots stored in a scope includes the
fixed contexts slots. Take this into account when using
the new, fast context creation path to avoid allocating
too many slots (wasteful).
Review URL: http://codereview.chromium.org/501148

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

14 years agoBring back the fisttp instruction on machines with SSE3, but check the
erik.corry@gmail.com [Mon, 21 Dec 2009 08:32:20 +0000 (08:32 +0000)]
Bring back the fisttp instruction on machines with SSE3, but check the
input so we don't have to check the exception flags afterwards.
Review URL: http://codereview.chromium.org/509001

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

14 years agoDisallow garbage collection at another site in the LoadCallback ICs.
kmillikin@chromium.org [Sun, 20 Dec 2009 08:40:13 +0000 (08:40 +0000)]
Disallow garbage collection at another site in the LoadCallback ICs.
MacroAssembler::PopHandleScope emits a runtime call (through a stub),
which should not be allowed to perform a GC but return a failure
instead.

BUG=30790
TEST=none

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

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

14 years agoReapply "wait for connection" feature implementation
peter.rybin@gmail.com [Fri, 18 Dec 2009 20:30:29 +0000 (20:30 +0000)]
Reapply "wait for connection" feature implementation

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

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

14 years agoRecommit r3494 after fixing stupid mistake where the deferred code stub didn't know...
kasperl@chromium.org [Fri, 18 Dec 2009 13:47:58 +0000 (13:47 +0000)]
Recommit r3494 after fixing stupid mistake where the deferred code stub didn't know it was reversed.

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

14 years agoFast-codegen: Adding support for try/catch and throw.
lrn@chromium.org [Fri, 18 Dec 2009 13:38:28 +0000 (13:38 +0000)]
Fast-codegen: Adding support for try/catch and throw.
Still no support for lookup-variables, so we bailout if using the catch variable.

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

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

14 years agoForce mark sweep instead of compcation if size of map space is too big to allow forwa...
antonm@chromium.org [Fri, 18 Dec 2009 13:38:09 +0000 (13:38 +0000)]
Force mark sweep instead of compcation if size of map space is too big to allow forward pointers encoding.

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

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

14 years agoRevert r3495 - some weird corner case is broken.
kasperl@chromium.org [Fri, 18 Dec 2009 13:14:37 +0000 (13:14 +0000)]
Revert r3495 - some weird corner case is broken.

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

14 years agoImprove code generated for left shifts where the left side
kasperl@chromium.org [Fri, 18 Dec 2009 13:07:02 +0000 (13:07 +0000)]
Improve code generated for left shifts where the left side
is a constant by avoiding a few checks.
Review URL: http://codereview.chromium.org/504057

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

14 years agoConvert the rest of the sar(xxx, kSmiTagSize) to SmiUntag(xxx).
kasperl@chromium.org [Fri, 18 Dec 2009 11:20:25 +0000 (11:20 +0000)]
Convert the rest of the sar(xxx, kSmiTagSize) to SmiUntag(xxx).

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

14 years agoRefactor smi tagging and untagging on IA-32.
kasperl@chromium.org [Fri, 18 Dec 2009 11:13:33 +0000 (11:13 +0000)]
Refactor smi tagging and untagging on IA-32.
Review URL: http://codereview.chromium.org/501113

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

14 years agoOptimize bitops with non-Smi inputs. Instead of converting both inputs
erik.corry@gmail.com [Fri, 18 Dec 2009 09:33:24 +0000 (09:33 +0000)]
Optimize bitops with non-Smi inputs.  Instead of converting both inputs
to floating point and then converting back we convert directly to a
32 bit integer.  In addition the bit twiddling implementation of float-
to-integer conversion has been ported from ARM.  Testing has shown that
this runs faster than the x87 or SSE3 rounding instructions.  This change
is IA32 only.  There may be a smaller benefit from doing the same on x64.
Review URL: http://codereview.chromium.org/506052

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

14 years agoPrepare push to trunk. We are now working on version 2.0.6
sgjesse@chromium.org [Fri, 18 Dec 2009 08:21:21 +0000 (08:21 +0000)]
Prepare push to trunk. We are now working on version 2.0.6
Review URL: http://codereview.chromium.org/504056

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

14 years agoadded else
bak@chromium.org [Fri, 18 Dec 2009 06:58:45 +0000 (06:58 +0000)]
added else

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

14 years ago-Inlined double variant of compare iff one of the sides is a constant smi and it...
bak@chromium.org [Fri, 18 Dec 2009 06:38:12 +0000 (06:38 +0000)]
-Inlined double variant of compare iff one of the sides is a constant smi and it is not a for loop condition.

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

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

14 years ago- Handle HeapNumbers in deferred code instead of jumping to stub
iposva@chromium.org [Fri, 18 Dec 2009 01:43:50 +0000 (01:43 +0000)]
- Handle HeapNumbers in deferred code instead of jumping to stub
  for DeferredInlineBinaryOperations.

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

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

14 years agoOptimize the allocation of small, non-nested literal
kasperl@chromium.org [Thu, 17 Dec 2009 15:35:15 +0000 (15:35 +0000)]
Optimize the allocation of small, non-nested literal
arrays and argument objects on IA-32.
Review URL: http://codereview.chromium.org/503042

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

14 years agoStreamline the calling convention of the call ICs by passing the
kmillikin@chromium.org [Thu, 17 Dec 2009 10:23:20 +0000 (10:23 +0000)]
Streamline the calling convention of the call ICs by passing the
property name in a register rather than on the stack below the
receiver and arguments.

Implemented only for IA32, passing the name in the ecx register to
match the calling convention of the load ICs.

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

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

14 years agoDon't bother callling into the ProducerHeapProfile methods
kasperl@chromium.org [Thu, 17 Dec 2009 09:16:44 +0000 (09:16 +0000)]
Don't bother callling into the ProducerHeapProfile methods
if logging producers is turned off.
Review URL: http://codereview.chromium.org/500092

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

14 years agoEnable fast allocation of context objects on IA-32.
kasperl@chromium.org [Thu, 17 Dec 2009 08:53:19 +0000 (08:53 +0000)]
Enable fast allocation of context objects on IA-32.
Review URL: http://codereview.chromium.org/507035

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

14 years agoExtend the maximum size map space
sgjesse@chromium.org [Thu, 17 Dec 2009 08:53:18 +0000 (08:53 +0000)]
Extend the maximum size map space

On 32-bit the maps are now aligned on a 32-byte boundary in order to encode more maps during compacting GC. The actual size of a map on 32-bit is 28 bytes making this change waste 4 bytes per map.

On 64-bit the encoding for compacting GC is now using more than 32-bits and the maps here are still pointer size aligned. The actual size of a map on 64-bit is 48 bytes and this change does not intruduce any waste.

My choice of 16 bits for kMapPageIndexBits for 64-bit should give the same maximum number of pages (8K) for map space. As maps on 64-bit are larger than on 32-bit the total number of maps on 64-bit will be smaller than on 32-bit. We could consider raising this to 17 or 18.

I moved the kPageSizeBits to globals.h as the calculation of the encoding really depended on this.

There are still an #ifdef/#endif in objects.h and this constant could be moved to globaks.h as well, but I kept it together with the related constants.

All the tests run in debug mode with additional options --gc-global --always-compact as well (except for a few tests on which also fails before this change when run with --gc-global --always-compact).

BUG=http://code.google.com/p/v8/issues/detail?id=524
BUG=http://crbug.com/29428
TEST=test/mjsunit/regress/regress-524.js

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

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

14 years agoFix ARM and x64 tests in debug mode after r3477.
kasperl@chromium.org [Thu, 17 Dec 2009 07:35:12 +0000 (07:35 +0000)]
Fix ARM and x64 tests in debug mode after r3477.

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

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

14 years ago- Fix x64 build.
iposva@chromium.org [Thu, 17 Dec 2009 07:18:05 +0000 (07:18 +0000)]
- Fix x64 build.

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

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

14 years ago- Undo unfortunate renaming of StaticType.
iposva@chromium.org [Thu, 17 Dec 2009 06:21:50 +0000 (06:21 +0000)]
- Undo unfortunate renaming of StaticType.

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

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

14 years agoImprove performance of allocating closures for nested
kasperl@chromium.org [Wed, 16 Dec 2009 15:43:20 +0000 (15:43 +0000)]
Improve performance of allocating closures for nested
functions by allocating them in new space without
entering the runtime system.
Review URL: http://codereview.chromium.org/506037

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

14 years agoPrepare push to trunk. We are now working on version 2.0.5.
kmillikin@chromium.org [Wed, 16 Dec 2009 15:23:25 +0000 (15:23 +0000)]
Prepare push to trunk.  We are now working on version 2.0.5.

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

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

14 years agoFast codegen: Implement with.
lrn@chromium.org [Wed, 16 Dec 2009 09:51:07 +0000 (09:51 +0000)]
Fast codegen: Implement with.

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

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

14 years agoFix presubmit error: remove whitespace
yurys@chromium.org [Tue, 15 Dec 2009 09:34:00 +0000 (09:34 +0000)]
Fix presubmit error: remove whitespace

TBR=sgjesse
Review URL: http://codereview.chromium.org/504012

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

14 years agoIgnore debug break events when bootstrapper is active. Collecting debug data when...
yurys@chromium.org [Tue, 15 Dec 2009 09:17:15 +0000 (09:17 +0000)]
Ignore debug break events when bootstrapper is active. Collecting debug data when the context is not yet setup may lead to subtle errors like in the following Chromium bug: crbug.com/28933
Review URL: http://codereview.chromium.org/497006

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

14 years agostats-viewer.py: support passing test_shell pid.
vitalyr@chromium.org [Mon, 14 Dec 2009 17:05:38 +0000 (17:05 +0000)]
stats-viewer.py: support passing test_shell pid.

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

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

14 years agoUpdated stats-viewer.py to work with chromium.
vitalyr@chromium.org [Mon, 14 Dec 2009 16:13:52 +0000 (16:13 +0000)]
Updated stats-viewer.py to work with chromium.

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

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

14 years agoDo a fast check for undefined values when comparing.
kasperl@chromium.org [Mon, 14 Dec 2009 12:18:20 +0000 (12:18 +0000)]
Do a fast check for undefined values when comparing.
Review URL: http://codereview.chromium.org/496008

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

14 years agoFast-codegen: Implementing try/finally on top of nesting context.
lrn@chromium.org [Mon, 14 Dec 2009 11:09:25 +0000 (11:09 +0000)]
Fast-codegen: Implementing try/finally on top of nesting context.

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

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

14 years agoModified SConstruct to enable building of shared library
erik.corry@gmail.com [Mon, 14 Dec 2009 10:20:35 +0000 (10:20 +0000)]
Modified SConstruct to enable building of shared library
with hidden visibility on Mac OS X.  Patch from
Abdulla Kamar. http://codereview.chromium.org/475002

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

14 years agoTry to make the contextuality check in the IC code faster
kasperl@chromium.org [Mon, 14 Dec 2009 09:54:13 +0000 (09:54 +0000)]
Try to make the contextuality check in the IC code faster
by checking if the receiver is a global object before diving
into traversing reloc info.
Review URL: http://codereview.chromium.org/491075

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

14 years agoReverted r3457
sgjesse@chromium.org [Mon, 14 Dec 2009 07:51:59 +0000 (07:51 +0000)]
Reverted r3457

Caused compilation errors in cctests and on ARM platform.

TBR=peter.rybin@gmail.com
Review URL: http://codereview.chromium.org/491074

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

14 years agoImplement "wait for connection" feature
peter.rybin@gmail.com [Sun, 13 Dec 2009 21:15:02 +0000 (21:15 +0000)]
Implement "wait for connection" feature

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

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

14 years agoFix lint error.
fschneider@chromium.org [Fri, 11 Dec 2009 22:48:14 +0000 (22:48 +0000)]
Fix lint error.

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

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

14 years agoAdding compound assignments to the top-level compiler.
fschneider@chromium.org [Fri, 11 Dec 2009 16:09:16 +0000 (16:09 +0000)]
Adding compound assignments to the top-level compiler.

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

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

14 years agoGive the binary op stubs better names to make profiles more informative.
erik.corry@gmail.com [Fri, 11 Dec 2009 10:40:01 +0000 (10:40 +0000)]
Give the binary op stubs better names to make profiles more informative.
Review URL: http://codereview.chromium.org/488017

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

14 years agoCorrect mistyped file name for svn:ignore property.
mikhail.naganov@gmail.com [Fri, 11 Dec 2009 09:12:56 +0000 (09:12 +0000)]
Correct mistyped file name for svn:ignore property.

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

14 years agoAdd '.cpplint-cache' to ignore lists for SVN and Git. This change also sets 'ignore...
mikhail.naganov@gmail.com [Fri, 11 Dec 2009 09:01:38 +0000 (09:01 +0000)]
Add '.cpplint-cache' to ignore lists for SVN and Git. This change also sets 'ignore' property on '.', although this change isn't visible in Rietveld.

TBR=sgjesse@chromium.org

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

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

14 years ago- Ensure the stack trace limit is not negative.
iposva@chromium.org [Thu, 10 Dec 2009 18:33:34 +0000 (18:33 +0000)]
- Ensure the stack trace limit is not negative.
- Enable fuzzing of the CollectStackTrace runtime call.

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

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

14 years agoUse uint64_t to keep 64 MacOS happy.
antonm@chromium.org [Thu, 10 Dec 2009 17:46:45 +0000 (17:46 +0000)]
Use uint64_t to keep 64 MacOS happy.

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

14 years agoReapply keyed load cache probing in generated code. I introduced a
ager@chromium.org [Thu, 10 Dec 2009 15:10:50 +0000 (15:10 +0000)]
Reapply keyed load cache probing in generated code.  I introduced a
bug just before committing which broke snapshot builds.  The code is
nearly identical to the previous submit.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/491004

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

14 years agoFast codegen: Working break and continue.
lrn@chromium.org [Thu, 10 Dec 2009 14:06:08 +0000 (14:06 +0000)]
Fast codegen: Working break and continue.
Started framework for all intra-functional outward control transfers,
including handling of try/finally.

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

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

14 years agoDisible the toplevel compiler for code containing for loops.
kmillikin@chromium.org [Thu, 10 Dec 2009 13:12:13 +0000 (13:12 +0000)]
Disible the toplevel compiler for code containing for loops.
Review URL: http://codereview.chromium.org/492003

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

14 years agoRevert keyed load cache probing in generated code.
ager@chromium.org [Thu, 10 Dec 2009 12:52:28 +0000 (12:52 +0000)]
Revert keyed load cache probing in generated code.

Crashes on Windows.

TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/488006

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

14 years agoProbe keyed load cache in generic keyed load stub.
ager@chromium.org [Thu, 10 Dec 2009 09:21:23 +0000 (09:21 +0000)]
Probe keyed load cache in generic keyed load stub.

Only implemented on ia32 and x64 for now.  The generic keyed load stub
on arm is falling behind and it is time to fix that, but that will be
a separate change.

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

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

14 years agoFix extra slash typo in comment.
lrn@chromium.org [Thu, 10 Dec 2009 08:33:09 +0000 (08:33 +0000)]
Fix extra slash typo in comment.

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

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

14 years ago- Drop the executable bit of SConstruct.
iposva@chromium.org [Wed, 9 Dec 2009 17:20:51 +0000 (17:20 +0000)]
- Drop the executable bit of SConstruct.

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

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

14 years agoFix Win64 build problem.
lrn@chromium.org [Wed, 9 Dec 2009 16:40:54 +0000 (16:40 +0000)]
Fix Win64 build problem.

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

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

14 years agoFix arm and x64 build.
kmillikin@chromium.org [Wed, 9 Dec 2009 15:34:57 +0000 (15:34 +0000)]
Fix arm and x64 build.

The ApiGetterEntryStub is not implemented on arm or x64, but the
platform-specific implementations need to change to match the change
to the platform-independent signatures.

TBR=ager@chromium.org

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

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

14 years agoFix a crash caused by garbage collection during generation of a
kmillikin@chromium.org [Wed, 9 Dec 2009 14:54:34 +0000 (14:54 +0000)]
Fix a crash caused by garbage collection during generation of a
callback load (or keyed load) IC.

The problem was that the IC code calls a stub, which can allocate and
thus trigger a GC if the stub is not already generated.  Problem is
solved by adding the ability to "try" to call a stub, trying to
generate the stub code if necessary but signaling an allocation
failure if generating the code is not possible.

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

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

14 years agoExternal string table.
vitalyr@chromium.org [Wed, 9 Dec 2009 14:32:45 +0000 (14:32 +0000)]
External string table.

Instead of weak handles external strings use a separate table.  This
table uses 5 times less memory than weak handles.  Moreover, since we
don't have to follow the weak handle callback protocol we can collect
the strings faster and even on scavenge collections.

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

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

14 years agoAdd Object.create from ECMAScript5. Supports value, writable, enumerable, get
erik.corry@gmail.com [Wed, 9 Dec 2009 13:56:58 +0000 (13:56 +0000)]
Add Object.create from ECMAScript5.  Supports value, writable, enumerable, get
and set.  Doesn't support configurable yet.  See
http://code.google.com/p/v8/issues/detail?id=460
Review URL: http://codereview.chromium.org/463040

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

14 years agoCreate literal boilerplate as part of cloning in the top-level compiler.
fschneider@chromium.org [Wed, 9 Dec 2009 13:06:08 +0000 (13:06 +0000)]
Create literal boilerplate as part of cloning in the top-level compiler.

When generating code for object and array literals we performed
the check if the a boilerplate already exists in generated code.

In the top-level compiler we now do this check in a new runtime
function. This makes the generated code more compact for top-level code.

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

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

14 years agoCreate the framework for adding a thumb2 backend for ARM. See http://codereview...
erik.corry@gmail.com [Wed, 9 Dec 2009 12:56:42 +0000 (12:56 +0000)]
Create the framework for adding a thumb2 backend for ARM.  See codereview.chromium.org/464070

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