platform/upstream/v8.git
14 years agoFix arm compilation. DiyFp multiplications are now in a separate procedure.
floitschV8@gmail.com [Wed, 17 Mar 2010 15:57:26 +0000 (15:57 +0000)]
Fix arm compilation. DiyFp multiplications are now in a separate procedure.
Review URL: http://codereview.chromium.org/971006

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

14 years agoReenable ability to Dispose already Disposed Vector.
antonm@chromium.org [Wed, 17 Mar 2010 15:15:45 +0000 (15:15 +0000)]
Reenable ability to Dispose already Disposed Vector.

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

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

14 years agoFix formatting around * and &.
erik.corry@gmail.com [Wed, 17 Mar 2010 14:53:16 +0000 (14:53 +0000)]
Fix formatting around * and &.
Review URL: http://codereview.chromium.org/1000007

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

14 years agoProperly release zero-length Vectors.
antonm@chromium.org [Wed, 17 Mar 2010 14:42:01 +0000 (14:42 +0000)]
Properly release zero-length Vectors.

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

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

14 years agoDon't generate inline constructors if this.__proto__ is assigned.
sgjesse@chromium.org [Wed, 17 Mar 2010 13:23:53 +0000 (13:23 +0000)]
Don't generate inline constructors if this.__proto__ is assigned.

BUG=http://code.google.com/p/v8/issues/detail?id=646
TEST=test/mjsunit/regress/regress-646.js
Review URL: http://codereview.chromium.org/1023008

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

14 years agoRe-apply r4159 now with working test on x64
mikhail.naganov@gmail.com [Wed, 17 Mar 2010 13:15:42 +0000 (13:15 +0000)]
Re-apply r4159 now with working test on x64

TBR=sgjesse@chromium.org

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

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

14 years agoPrepare push to trunk. Now working on version 2.1.7.
fschneider@chromium.org [Wed, 17 Mar 2010 13:08:58 +0000 (13:08 +0000)]
Prepare push to trunk. Now working on version 2.1.7.

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

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

14 years agoRevert r4159 because of x64 test failures.
fschneider@chromium.org [Wed, 17 Mar 2010 13:04:07 +0000 (13:04 +0000)]
Revert r4159 because of x64 test failures.

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

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

14 years agoPrepare push to trunk. Now working on version 2.1.6.
fschneider@chromium.org [Wed, 17 Mar 2010 12:46:17 +0000 (12:46 +0000)]
Prepare push to trunk. Now working on version 2.1.6.

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

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

14 years agoFix excessive stack usage by compiler due to local in recursive scope.
whesse@chromium.org [Wed, 17 Mar 2010 12:27:32 +0000 (12:27 +0000)]
Fix excessive stack usage by compiler due to local in recursive scope.
Review URL: http://codereview.chromium.org/1019006

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

14 years agoImplement circular queues for the C++ version of CPU profiler.
mikhail.naganov@gmail.com [Wed, 17 Mar 2010 12:25:10 +0000 (12:25 +0000)]
Implement circular queues for the C++ version of CPU profiler.

Circular queues serve as a transport for communicating between
VM, stack sampler and analyzer threads. Logging requirements
for VM and stack sampler are completely different, that's why
I introduced two different versions of CQs.

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

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

14 years agoMake the C++ tests run without SSE2 support.
sgjesse@chromium.org [Wed, 17 Mar 2010 10:28:44 +0000 (10:28 +0000)]
Make the C++ tests run without SSE2 support.
Review URL: http://codereview.chromium.org/982007

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

14 years agoFix a bug in the regexp caching. Also add a few more places to
erik.corry@gmail.com [Wed, 17 Mar 2010 10:23:06 +0000 (10:23 +0000)]
Fix a bug in the regexp caching.  Also add a few more places to
cache.  We now cache most of the places where Opera cache and
one or two where they do not cache for some reason.  Since
these optimizations aren't necessarily useful on real code we
may remove them if and when the Dromaeo website makes the
benchmarks harder to game.
Review URL: http://codereview.chromium.org/995005

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

14 years agoRevert r4146. Add a special case in Math.round for a SMI result. Also change the...
fschneider@chromium.org [Wed, 17 Mar 2010 09:58:28 +0000 (09:58 +0000)]
Revert r4146. Add a special case in Math.round for a SMI result. Also change the imp...

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

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

14 years agoFix bug in propagation of type information into registers.
fschneider@chromium.org [Wed, 17 Mar 2010 09:49:03 +0000 (09:49 +0000)]
Fix bug in propagation of type information into registers.

The number type information of results has to be also copied when
calling ToRegister with a fixed register as destination.

Also fix an unbound label and a missing CpuFeatures scope.

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

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

14 years agoRestore http://code.google.com/p/v8/source/detail?r=4151 fixing a typo:
antonm@chromium.org [Wed, 17 Mar 2010 09:40:54 +0000 (09:40 +0000)]
Restore code.google.com/p/v8/source/detail?r=4151 fixing a typo:

index d545c34..91cb151 100644
--- a/src/builtins.cc
+++ b/src/builtins.cc
@@ -738,7 +738,7 @@ BUILTIN(ArrayConcat) {
   int result_len = 0;
   for (int i = 0; i < n_arguments; i++) {
     Object* arg = args[i];
-    if (!arg->IsJSArray() || JSArray::cast(arg)->HasFastElements()) {
+    if (!arg->IsJSArray() || !JSArray::cast(arg)->HasFastElements()) {
       return CallJsBuiltin("ArrayConcat", args);
     }
This reverts 4153.
    # Please enter the commit message for your changes. Lines starting

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

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

14 years agoRevert "More generic version of Array.concat builtin."
antonm@chromium.org [Wed, 17 Mar 2010 09:13:39 +0000 (09:13 +0000)]
Revert "More generic version of Array.concat builtin."

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

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

14 years agoRemove handle scope that caused debug mode assertion failures
kasperl@chromium.org [Wed, 17 Mar 2010 08:53:21 +0000 (08:53 +0000)]
Remove handle scope that caused debug mode assertion failures
because a handle was returned out of the destroyed scope.
Review URL: http://codereview.chromium.org/1029003

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

14 years agoMore generic version of Array.concat builtin.
antonm@chromium.org [Wed, 17 Mar 2010 08:30:07 +0000 (08:30 +0000)]
More generic version of Array.concat builtin.

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

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

14 years agoKeep more track of whether code is from the built
erik.corry@gmail.com [Wed, 17 Mar 2010 08:14:59 +0000 (08:14 +0000)]
Keep more track of whether code is from the built
in .js files in V8.  This change gets bleeding edge
a tiny bit closer to the partial snapshots branch.
Review URL: http://codereview.chromium.org/1052003

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

14 years agoNon-ASCII sybmols made their way into JS comments
peter.rybin@gmail.com [Tue, 16 Mar 2010 23:15:10 +0000 (23:15 +0000)]
Non-ASCII sybmols made their way into JS comments

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

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

14 years agoUse untagged int32 values in evaluation of side-effect free expressions.
whesse@chromium.org [Tue, 16 Mar 2010 16:07:19 +0000 (16:07 +0000)]
Use untagged int32 values in evaluation of side-effect free expressions.
Review URL: http://codereview.chromium.org/975001

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

14 years agoFix bug in the count operation where we statically know the input is a smi.
fschneider@chromium.org [Tue, 16 Mar 2010 16:03:40 +0000 (16:03 +0000)]
Fix bug in the count operation where we statically know the input is a smi.

Even if we know that the input to a count operation is a smi we still need to check if the result overflowed (and becomes a heap number).

Also fix the smi loop analysis to take two border cases correctly into account.

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

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

14 years agoAdd a special case in Math.round for a SMI result. Also change the implementation...
oleg@chromium.org [Tue, 16 Mar 2010 13:23:41 +0000 (13:23 +0000)]
Add a special case in Math.round for a SMI result. Also change the implementation for non-SMI case.
Review URL: http://codereview.chromium.org/981002

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

14 years agoAdd heuristic for flattening strings before comparing them.
vitalyr@chromium.org [Tue, 16 Mar 2010 12:30:04 +0000 (12:30 +0000)]
Add heuristic for flattening strings before comparing them.

Also switched to using CompareChars instead of memcmp since it's
faster than gcc's builtin and on par with msvc's builtin.

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

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

14 years agoTake ARM big-endian floating point numbers into account in FastD2UI.
lrn@chromium.org [Tue, 16 Mar 2010 12:20:52 +0000 (12:20 +0000)]
Take ARM big-endian floating point numbers into account in FastD2UI.

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

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

14 years agoPropagate reaching definitions to the instuctions of a block.
kmillikin@chromium.org [Tue, 16 Mar 2010 10:54:02 +0000 (10:54 +0000)]
Propagate reaching definitions to the instuctions of a block.

After computing RD_in for all flow graph nodes, push the reaching
definitions through the basic blocks to annotate all variable
references in the AST.

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

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

14 years agoFix, again, assertion so that it also compiles on Mac.
lrn@chromium.org [Tue, 16 Mar 2010 10:38:17 +0000 (10:38 +0000)]
Fix, again, assertion so that it also compiles on Mac.

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

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

14 years agoFix bad use of OffsetFrom that fails on ARM (sizeof(Object) wasn't 1).
lrn@chromium.org [Tue, 16 Mar 2010 09:56:06 +0000 (09:56 +0000)]
Fix bad use of OffsetFrom that fails on ARM (sizeof(Object) wasn't 1).

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

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

14 years agoFix build problem on arm compiler.
lrn@chromium.org [Tue, 16 Mar 2010 09:10:11 +0000 (09:10 +0000)]
Fix build problem on arm compiler.

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

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

14 years agoLiveEdit: patch positions in function
peter.rybin@gmail.com [Mon, 15 Mar 2010 21:06:51 +0000 (21:06 +0000)]
LiveEdit: patch positions in function

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

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

14 years agoPort of string plus smi optimization from ia32 to x64 and ARM.
vegorov@chromium.org [Mon, 15 Mar 2010 17:11:08 +0000 (17:11 +0000)]
Port of string plus smi optimization from ia32 to x64 and ARM.
Review URL: http://codereview.chromium.org/668254

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

14 years agoReview URL: http://codereview.chromium.org/968001
oleg@chromium.org [Mon, 15 Mar 2010 17:04:07 +0000 (17:04 +0000)]
Review URL: http://codereview.chromium.org/968001

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

14 years agoConverted String.prototype.split with string to C++.
lrn@chromium.org [Mon, 15 Mar 2010 15:27:11 +0000 (15:27 +0000)]
Converted String.prototype.split with string to C++.

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

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

14 years agoJust grow elements if they happen to be at the edge of new space.
antonm@chromium.org [Mon, 15 Mar 2010 15:16:04 +0000 (15:16 +0000)]
Just grow elements if they happen to be at the edge of new space.

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

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

14 years agoAdded fast case for shift operations when the left parameter is a double and we know...
ricow@chromium.org [Mon, 15 Mar 2010 14:24:37 +0000 (14:24 +0000)]
Added fast case for shift operations when the left parameter is a double and we know that the right parameter is a smi.
Review URL: http://codereview.chromium.org/955001

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

14 years agoStart migrating profiles processing to C++.
mikhail.naganov@gmail.com [Mon, 15 Mar 2010 14:11:19 +0000 (14:11 +0000)]
Start migrating profiles processing to C++.

Adding code for maintaining (address -> name) mapping and building
call trees.

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

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

14 years agoAdd static analysis to AST expressions that records whether a negative zero will...
whesse@chromium.org [Mon, 15 Mar 2010 14:03:36 +0000 (14:03 +0000)]
Add static analysis to AST expressions that records whether a negative zero will be treated identically to a positive zero in the expression's context.  Use this flag to avoid some tests in inlined smi code.
Review URL: http://codereview.chromium.org/965001

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

14 years agoAdd Array.concat builtin for the most common case.
antonm@chromium.org [Mon, 15 Mar 2010 10:52:38 +0000 (10:52 +0000)]
Add Array.concat builtin for the most common case.

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

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

14 years agoOptimized Array.prototype.{lastIndexOf,indexOf} by special casing comparison to undef...
lrn@chromium.org [Mon, 15 Mar 2010 10:14:59 +0000 (10:14 +0000)]
Optimized Array.prototype.{lastIndexOf,indexOf} by special casing comparison to undefined.

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

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

14 years agoPrepare push of version 2.1.4 to trunk.
vegorov@chromium.org [Mon, 15 Mar 2010 10:04:34 +0000 (10:04 +0000)]
Prepare push of version 2.1.4 to trunk.

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

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

14 years agoSome cosmetic issues.
antonm@chromium.org [Fri, 12 Mar 2010 18:27:31 +0000 (18:27 +0000)]
Some cosmetic issues.

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

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

14 years agoRemove now obsolete comment.
antonm@chromium.org [Fri, 12 Mar 2010 16:54:35 +0000 (16:54 +0000)]
Remove now obsolete comment.

Now builtins only process fast case when there is no need to lift elements from
the prototypes.

TBR=ager@chromium.org

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

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

14 years agoOnly invoke reaching definitions if there are >0 variables and >0 definitions.
fschneider@chromium.org [Fri, 12 Mar 2010 15:01:05 +0000 (15:01 +0000)]
Only invoke reaching definitions if there are >0 variables and >0 definitions.

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

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

14 years agoSimple bugfix in reaching definitions.
kmillikin@chromium.org [Fri, 12 Mar 2010 14:06:04 +0000 (14:06 +0000)]
Simple bugfix in reaching definitions.

We only track definitions of stack-allocated variables.  Trying to
look up other variables in the environment is a bug.

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

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

14 years agoImplement a custom call compiler for Array.pop.
antonm@chromium.org [Fri, 12 Mar 2010 13:45:31 +0000 (13:45 +0000)]
Implement a custom call compiler for Array.pop.

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

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

14 years agoFix bug in assigned variables analysis.
fschneider@chromium.org [Fri, 12 Mar 2010 13:12:08 +0000 (13:12 +0000)]
Fix bug in assigned variables analysis.

Property stores were not visited correctly by the visitor.
I fixed this issue by visiting property stores by visiting
receiver and key directly (and not calling visit on the lhs property
 ast node)

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

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

14 years agoAdd a predicate IsPrimitive to AST Expression nodes.
kmillikin@chromium.org [Fri, 12 Mar 2010 13:10:42 +0000 (13:10 +0000)]
Add a predicate IsPrimitive to AST Expression nodes.

IsPrimitive reflects that an expression's value is known statically to
be one of the ECMA-262-3 JS types other than Object (e.g., Undefined,
Null, Boolean, String, or Number).

The type conversions ToPrimitive, ToNumber, ToInteger, ToInt32,
ToUInt32, ToUint16, ToString, or ToObject cannot invoke user code for
primitive input values.  ToObject throws a TypeError if its input is
Undefined or Null.

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

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

14 years agoRewrite the function that converts timestamp to year, month and day in C++.
oleg@chromium.org [Fri, 12 Mar 2010 13:01:32 +0000 (13:01 +0000)]
Rewrite the function that converts timestamp to year, month and day in C++.

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

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

14 years agoFix presubmit error.
kmillikin@chromium.org [Fri, 12 Mar 2010 10:39:31 +0000 (10:39 +0000)]
Fix presubmit error.

Single argument constructors should be marked explicit.

TBR=fschneider@chromium.org

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

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

14 years agoCompute reaching definitions.
kmillikin@chromium.org [Fri, 12 Mar 2010 10:35:45 +0000 (10:35 +0000)]
Compute reaching definitions.

Use the classical worklist algorithm to compute reaching definitions.
All nodes are initially put on the worklist.  Until the worklist is
empty, nodes are removed, their RD_in is recomputed, and if it changes
their successors are added to the worklist.

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

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

14 years agoFix treatment of const variables in assigned variable analysis.
fschneider@chromium.org [Fri, 12 Mar 2010 10:20:31 +0000 (10:20 +0000)]
Fix treatment of const variables in assigned variable analysis.

Const variables are not considered as trivial sub-expressions since
we have the check for the hole value as a side-effect.

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

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

14 years agoFix issues with compiling V8 with LLVM Clang
sgjesse@chromium.org [Fri, 12 Mar 2010 10:20:01 +0000 (10:20 +0000)]
Fix issues with compiling V8 with LLVM Clang

Added this-> in some places where accessing a method on a templated base class.

Added #include <strings.h> for bit_cast, moved it to utils.h and renamed it to BitCast.

Patch by Evan Martin <evan@chromium.org>, see http://codereview.chromium.org/894001 and http://codereview.chromium.org/888003
Review URL: http://codereview.chromium.org/888005

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

14 years agoAdd SSE2 instructions to disassembler and movmskpd SSE2 instruction to assembler.
whesse@chromium.org [Fri, 12 Mar 2010 08:36:01 +0000 (08:36 +0000)]
Add SSE2 instructions to disassembler and movmskpd SSE2 instruction to assembler.
Review URL: http://codereview.chromium.org/865002

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

14 years agoProbe number dictionaries in generated code on ia32.
ager@chromium.org [Fri, 12 Mar 2010 08:21:10 +0000 (08:21 +0000)]
Probe number dictionaries in generated code on ia32.

With my previous change to limit memory for object literals, we get more slow-case elements and this makes up for the slowdown when loading from those slow-case elements.

The most complicated part here is the computation of the integer hash code.  We might want to simplify the integer hash function.
Review URL: http://codereview.chromium.org/857003

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

14 years agoFirst take on custom call generators.
antonm@chromium.org [Thu, 11 Mar 2010 16:24:31 +0000 (16:24 +0000)]
First take on custom call generators.

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

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

14 years agoInitialize reaching definitions state for all flow graph nodes.
kmillikin@chromium.org [Thu, 11 Mar 2010 16:24:05 +0000 (16:24 +0000)]
Initialize reaching definitions state for all flow graph nodes.

Reaching definitions in (RD_in) is initially empty for all nodes.  Gen
and kill sets are computed.  AST node numbers are used for nodes to
refer to their definition number.

Also: two small changes to flow graph printing.  Children of branch
nodes are visited in right-to-left order when performing depth first
search.  Instructions are numbered locally within blocks so as to not
destroy AST node number before printing (it's useful to print the
definition).

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

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

14 years agoFast double-to-ascii conversion.
floitschV8@gmail.com [Thu, 11 Mar 2010 14:49:35 +0000 (14:49 +0000)]
Fast double-to-ascii conversion.
Review URL: http://codereview.chromium.org/866002

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

14 years agoMinor refactorings to use some recently added methods.
antonm@chromium.org [Thu, 11 Mar 2010 13:56:49 +0000 (13:56 +0000)]
Minor refactorings to use some recently added methods.

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

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

14 years agoReland 4068 which wrapped Array methods into native builtins (reverted in 4075).
antonm@chromium.org [Thu, 11 Mar 2010 13:13:21 +0000 (13:13 +0000)]
Reland 4068 which wrapped Array methods into native builtins (reverted in 4075).

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

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

14 years agoFix compile of MIPS port
sgjesse@chromium.org [Thu, 11 Mar 2010 10:56:49 +0000 (10:56 +0000)]
Fix compile of MIPS port

TBR=alexandre.rames@gmail.com
Review URL: http://codereview.chromium.org/870002

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

14 years agoFix a bug in smi loop analysis.
fschneider@chromium.org [Thu, 11 Mar 2010 10:37:29 +0000 (10:37 +0000)]
Fix a bug in smi loop analysis.

Add a missing null check that can hit when the for-loop index is
not a variable.

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

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

14 years agoDo not waste space for the fast-case elements backing storage for
ager@chromium.org [Thu, 11 Mar 2010 10:34:29 +0000 (10:34 +0000)]
Do not waste space for the fast-case elements backing storage for
object-literals with few elements but large element indices.

We can decide at parse time whether the created object literal should
have fast-case of slow-case elements.

Remove unused runtime function.
Review URL: http://codereview.chromium.org/805004

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

14 years agoFix assigned variables analysis.
fschneider@chromium.org [Thu, 11 Mar 2010 10:28:40 +0000 (10:28 +0000)]
Fix assigned variables analysis.

This change fixes a bug with the arguments object that occurred with
r4087 and r4088. The fix is not marking the arguments variable as trivial
since it can have side effects.

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

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

14 years agoFix presubmit error
sgjesse@chromium.org [Thu, 11 Mar 2010 09:49:47 +0000 (09:49 +0000)]
Fix presubmit error

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

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

14 years agoMake the assumption on the minimum buffer size for GetLogLines explicit.
mikhail.naganov@gmail.com [Thu, 11 Mar 2010 09:48:01 +0000 (09:48 +0000)]
Make the assumption on the minimum buffer size for GetLogLines explicit.

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

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

14 years agoAdd fuzzing support for inline runtime functions
sgjesse@chromium.org [Thu, 11 Mar 2010 09:27:12 +0000 (09:27 +0000)]
Add fuzzing support for inline runtime functions

The inline runtime functions are now included in the fuzzing of the natives. The chack for the expected number of arguments passed have been moved to the parser which will generate a syntax error if a runtime function (either C++ or inline) is called with a different number of arguments than expected.
Review URL: http://codereview.chromium.org/573056

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

14 years agoFix code cache lookup for keyed IC's
sgjesse@chromium.org [Thu, 11 Mar 2010 08:52:31 +0000 (08:52 +0000)]
Fix code cache lookup for keyed IC's

For keyed IC's the name is not necessarily a string.

BUG=http://crbug.com/37853
TEST=test/mjsunit/regress/regress-crbug-37853.js
Review URL: http://codereview.chromium.org/872001

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

14 years agoMath.abs rewrited to not use Runtime.
serya@chromium.org [Thu, 11 Mar 2010 08:31:15 +0000 (08:31 +0000)]
Math.abs rewrited to not use Runtime.

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

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

14 years agoRevert grisu commits.
floitschV8@gmail.com [Wed, 10 Mar 2010 21:26:32 +0000 (21:26 +0000)]
Revert grisu commits.
Review URL: http://codereview.chromium.org/804005

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

14 years agoAdding missing file.
floitschV8@gmail.com [Wed, 10 Mar 2010 21:08:39 +0000 (21:08 +0000)]
Adding missing file.
Review URL: http://codereview.chromium.org/825004

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

14 years agoFast algorithm for double->string conversion.
floitschV8@gmail.com [Wed, 10 Mar 2010 20:49:14 +0000 (20:49 +0000)]
Fast algorithm for double->string conversion.
Review URL: http://codereview.chromium.org/619005

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

14 years agoRevert changes 4088 and 4087 to fix build.
whesse@chromium.org [Wed, 10 Mar 2010 20:41:11 +0000 (20:41 +0000)]
Revert changes 4088 and 4087 to fix build.
Review URL: http://codereview.chromium.org/805005

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

14 years agoFix x64 and arm build.
fschneider@chromium.org [Wed, 10 Mar 2010 17:30:35 +0000 (17:30 +0000)]
Fix x64 and arm build.

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

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

14 years agoAdd an assigned variables analysis.
fschneider@chromium.org [Wed, 10 Mar 2010 17:19:22 +0000 (17:19 +0000)]
Add an assigned variables analysis.

This change adds a pass over the AST that computes the
set of assigned variables for locals and parameters for each expression.

The result of this analysis is used to for two purposes:
1. Recognize variables that are trivial subexpressions. A left sub-expression
   of a binary operation is trivial if it is a local variable or a parameter
   and it is not assigned in the right sub-expression. In the case of a
   trivial left sub-expression we evaluate the right first.
   Currently only binary operations and compare operations are considered
   when finding trivial left sub-expressions.

2. Recogize certain simple for-loops with a constant trip count where the loop
   variable is always within smi range. If the loop count variable is not
   assigned in the body of the loop (except in the update expression the
   for-loop). This allows omitting smi checks on operation using the loop
   count variable.

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

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

14 years agoAdd defensive checks to the flow graph builder.
kmillikin@chromium.org [Wed, 10 Mar 2010 17:02:25 +0000 (17:02 +0000)]
Add defensive checks to the flow graph builder.

Visitor stack overflow is used to signal an unsupported construct in
the flow graph.  Check for it in more places.  Make the utility
functions for appending to graphs handle more cases if they can be
handled correctly.

Remove the entry node in favor of a block with a NULL predecessor as
single entry.  Represent the empty flow graph as a single empty block.
Add empty blocks lazily where needed to preserve edge-split form.

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

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

14 years agoFix presubmit failure.
kmillikin@chromium.org [Wed, 10 Mar 2010 14:43:43 +0000 (14:43 +0000)]
Fix presubmit failure.

TBR=fschneider@chromium.org

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

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

14 years agoCut back the syntactic constructs handled by the flow graph builder.
kmillikin@chromium.org [Wed, 10 Mar 2010 14:40:31 +0000 (14:40 +0000)]
Cut back the syntactic constructs handled by the flow graph builder.

While the flow graph is experimental, it's easier to be able to ignore
some problematic syntactic constructs.  Reduce the ones that can occur
in constructed flow graphs.

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

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

14 years agoAdd 1-element caches to RegExp.exec and String.replace. We
erik.corry@gmail.com [Wed, 10 Mar 2010 12:21:00 +0000 (12:21 +0000)]
Add 1-element caches to RegExp.exec and String.replace.  We
probably want to remove this again if and when Dromaeo is
fixed so this strategy doesn't pay off.
Review URL: http://codereview.chromium.org/817001

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

14 years agoMoved one check outside of the loop and moved another one under an if statement
sandholm@chromium.org [Wed, 10 Mar 2010 12:00:22 +0000 (12:00 +0000)]
Moved one check outside of the loop and moved another one under an if statement
Review URL: http://codereview.chromium.org/821001

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

14 years agoOptimize fromCharCode for smi argument(s) case.
lrn@chromium.org [Wed, 10 Mar 2010 11:13:02 +0000 (11:13 +0000)]
Optimize fromCharCode for smi argument(s) case.

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

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

14 years agoPrepare push of version 2.1.3 to trunk.
ager@chromium.org [Wed, 10 Mar 2010 09:40:18 +0000 (09:40 +0000)]
Prepare push of version 2.1.3 to trunk.

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

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

14 years agoRevert change to always call builtins for Array functions.
ager@chromium.org [Wed, 10 Mar 2010 08:45:00 +0000 (08:45 +0000)]
Revert change to always call builtins for Array functions.

It causes regressions on test shell tests.

TBR=antonm@chromium.org
Review URL: http://codereview.chromium.org/819001

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

14 years agoFix BitVector test failure.
kmillikin@chromium.org [Wed, 10 Mar 2010 08:31:25 +0000 (08:31 +0000)]
Fix BitVector test failure.

r4071 made BitVector zone-allocated, but the BitVector tests were not
changed to allocate a Zone.

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

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

14 years agoChange BitVector class to be a zone object.
kmillikin@chromium.org [Wed, 10 Mar 2010 08:08:32 +0000 (08:08 +0000)]
Change BitVector class to be a zone object.

Change the BitVector utility class to allow allocation via 'new' in the
Zone.  Change the backing store to be always zone-allocated.

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

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

14 years agoRemove tabs
peter.rybin@gmail.com [Tue, 9 Mar 2010 22:24:46 +0000 (22:24 +0000)]
Remove tabs

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

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

14 years agoCheck that function being patched has no activations on any thread stack
peter.rybin@gmail.com [Tue, 9 Mar 2010 21:45:24 +0000 (21:45 +0000)]
Check that function being patched has no activations on any thread stack

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

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

14 years agoAlways invoke C++ ArrayPush builtin.
antonm@chromium.org [Tue, 9 Mar 2010 15:43:04 +0000 (15:43 +0000)]
Always invoke C++ ArrayPush builtin.

Now this builtin checks if it should go into fast case or resort to JS ArrayPush builtin.

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

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

14 years agoAdd a bit more room for type string when reporting heap
kasperl@chromium.org [Tue, 9 Mar 2010 14:43:01 +0000 (14:43 +0000)]
Add a bit more room for type string when reporting heap
stats to make sure PRIVATE_EXTERNAL_ASCII_STRING_TYPE fits.
Review URL: http://codereview.chromium.org/726002

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

14 years agoRefactor the code cache to handle large number of properties on the global object...
sgjesse@chromium.org [Tue, 9 Mar 2010 10:49:41 +0000 (10:49 +0000)]
Refactor the code cache to handle large number of properties on the global object (take 2).

A separate object type for the code cache have been added. This object has two different code caches. The first one (default_cache) is a fixed array organized in the same way as the as the code cache was before. The second cache (global_access_cache) is for code stubs to access the global object. This cache is organized as a hash table taking the property name and code flags as the key.

The reason for separating the global access stubs into a hash table representation is that the number of these is not bounded in the same was as the other types.

This is a remake of r3952 (http://codereview.chromium.org/652119) which have the additional ability to look for the index of code stubs for access to the global object.

BUG=http://code.google.com/p/v8/issues/detail?id=613

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

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

14 years agoAdd IsStackAllocated helper for variables.
kmillikin@chromium.org [Tue, 9 Mar 2010 10:39:18 +0000 (10:39 +0000)]
Add IsStackAllocated helper for variables.

Add a simple boolean helper function for Variables and Slots.

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

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

14 years agoHave the flow graph builder collect definitions.
kmillikin@chromium.org [Tue, 9 Mar 2010 09:56:19 +0000 (09:56 +0000)]
Have the flow graph builder collect definitions.

Before computing reaching definitions, the set of all definitions in a
function must be collected and they must be numbered.  Have the flow
graph builder collect definitions for stack-allocated variables into a
list, and implicitly number them with their list index.

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

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

14 years agoAdd copy constructor and assignment operator to the BitVector class.
fschneider@chromium.org [Tue, 9 Mar 2010 09:51:37 +0000 (09:51 +0000)]
Add copy constructor and assignment operator to the BitVector class.

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

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

14 years agoExperimental change to idle notifications: Try to limit the
kasperl@chromium.org [Tue, 9 Mar 2010 09:41:58 +0000 (09:41 +0000)]
Experimental change to idle notifications: Try to limit the
interactions between idle notifications for background tabs
and the context disposal GCs even further.
Review URL: http://codereview.chromium.org/698003

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

14 years agoCorrect handling of adding a string and a smal integer
sgjesse@chromium.org [Tue, 9 Mar 2010 09:40:35 +0000 (09:40 +0000)]
Correct handling of adding a string and a smal integer

The fast case of looking up the string convertion of the smi did not handle the case where left/reghe operands could be in eax/edx instead of edx/eax which is the default.

Also got rid of creating an internal frame for calling string and instead patched the argument on the stack and performed a tail call.

BUG=http://code.google.com/p/v8/issues/detail?id=636
TEST=test/mjsunit/regress/regress-636.js
Review URL: http://codereview.chromium.org/720001

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

14 years agoAdded zone-inl.h to jsregexp.h since it relies on calling new ZoneList which again...
ricow@chromium.org [Tue, 9 Mar 2010 09:15:28 +0000 (09:15 +0000)]
Added zone-inl.h to jsregexp.h since it relies on calling new ZoneList which again relies on calling the static new method on Zone (defined in zone-inl.h but declared in zone.h).
Review URL: http://codereview.chromium.org/719001

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

14 years agoAdded zone-inl.h to test-heap-profiler to fix test build failure after header file...
ricow@chromium.org [Tue, 9 Mar 2010 08:25:22 +0000 (08:25 +0000)]
Added zone-inl.h to test-heap-profiler to fix test build failure after header file refactoring in revision 4058.
Review URL: http://codereview.chromium.org/698002

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

14 years agoSmall simplification of #include dependencies.
kmillikin@chromium.org [Tue, 9 Mar 2010 06:38:33 +0000 (06:38 +0000)]
Small simplification of #include dependencies.

Remove messages.h from v8.h and include it explicitly in only the few places
it is needed.  Many files relied on getting handles-inl.h implicitly from
messages.h through v8.h, so include handles-inl.h explicitly in v8.h
instead.

Remove zone-inl.h from header files where it is not needed, can be replaced
by a forward declaration, or can be replaced by zone.h (specifically,
factory.h and heap.h).  Include zone.h or zone-inl.h in header files where
it was implicitly included via heap.h or factory.h.  Prefer zone.h over
zone-inl.h in header files where possible by including zone-inl.h in .cc
files.

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

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

14 years agoFix typographical error in comment in r4056
whesse@chromium.org [Mon, 8 Mar 2010 16:01:40 +0000 (16:01 +0000)]
Fix typographical error in comment in r4056
Review URL: http://codereview.chromium.org/668258

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

14 years agoAdd AST analysis that flags expressions that will have ToInt32 applied to them.
whesse@chromium.org [Mon, 8 Mar 2010 15:28:57 +0000 (15:28 +0000)]
Add AST analysis that flags expressions that will have ToInt32 applied to them.
Simplify AST analysis of side-effect-free int32 expressions.
Review URL: http://codereview.chromium.org/668256

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