platform/upstream/v8.git
14 years agoLand http://codereview.chromium.org/1311003/diff/8001/9001 to allows us to push to...
ricow@chromium.org [Fri, 26 Mar 2010 07:55:38 +0000 (07:55 +0000)]
Land codereview.chromium.org/1311003/diff/8001/9001 to allows us to push to trunk. Corrected the ASSERT from the review.

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

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

14 years agoAvoid having a LIBS setting when compiling the V8 library
kasperl@chromium.org [Fri, 26 Mar 2010 07:47:41 +0000 (07:47 +0000)]
Avoid having a LIBS setting when compiling the V8 library
because this interferes with the shared library build.
Only prepend v8 to the LIBS list when building samples
or cctest.
Review URL: http://codereview.chromium.org/1387004

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

14 years agoSimplify passing of AccessorInfo to interceptors:
vitalyr@chromium.org [Thu, 25 Mar 2010 17:08:22 +0000 (17:08 +0000)]
Simplify passing of AccessorInfo to interceptors:

 * Use slots on the native stack when possible instead of Relocatable.
 * Got rid of a gap in AccessorInfo fields.
 * Added test for non-cacheable post-interceptor lookup.

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

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

14 years agoMove flow graph and helper classes to their own file.
kmillikin@chromium.org [Thu, 25 Mar 2010 16:22:48 +0000 (16:22 +0000)]
Move flow graph and helper classes to their own file.

The FlowGraph, FlowGraphBuilder, and flow graph node classes are moved
to src/flow-graph.cc.

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

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

14 years agoAdd a test to verify correctness of remembered set update for Heap::CopyJSObject.
antonm@chromium.org [Thu, 25 Mar 2010 15:32:58 +0000 (15:32 +0000)]
Add a test to verify correctness of remembered set update for Heap::CopyJSObject.

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

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

14 years agoAlign OProfile agent invocations style with logging.
mikhail.naganov@gmail.com [Thu, 25 Mar 2010 14:55:53 +0000 (14:55 +0000)]
Align OProfile agent invocations style with logging.

This allows to unclutter logging-related code.
I also fixed compilation issues with 'profilingsupport=off'.

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

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

14 years agoStringToDouble rewritten not using String::Get and memory allocations.
serya@chromium.org [Thu, 25 Mar 2010 14:39:39 +0000 (14:39 +0000)]
StringToDouble rewritten not using String::Get and memory allocations.

It converts the number to "canonical" form removing insignificant digits,
leading zerroes and spaces what guarantees to fit a fixed size buffer and
does not changes result of strtod.
Review URL: http://codereview.chromium.org/1216005

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

14 years agoSlightly faster variant of Array.push.
antonm@chromium.org [Thu, 25 Mar 2010 14:20:56 +0000 (14:20 +0000)]
Slightly faster variant of Array.push.

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

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

14 years agoAllow empty handles to escape handle scopes.
antonm@chromium.org [Thu, 25 Mar 2010 14:07:17 +0000 (14:07 +0000)]
Allow empty handles to escape handle scopes.

BUG=39170

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

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

14 years agoFix my fast-codegen.cc gyp file stupidity.
erik.corry@gmail.com [Thu, 25 Mar 2010 13:56:29 +0000 (13:56 +0000)]
Fix my fast-codegen.cc gyp file stupidity.
Review URL: http://codereview.chromium.org/1207007

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

14 years agoPrepare push to trunk, we are now working on 2.1.10
sgjesse@chromium.org [Thu, 25 Mar 2010 13:55:52 +0000 (13:55 +0000)]
Prepare push to trunk, we are now working on 2.1.10
Review URL: http://codereview.chromium.org/1242007

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

14 years agoFix build again after renaming.
fschneider@chromium.org [Thu, 25 Mar 2010 13:35:05 +0000 (13:35 +0000)]
Fix build again after renaming.

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

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

14 years agoGyp causing me gyp.
erik.corry@gmail.com [Thu, 25 Mar 2010 13:31:19 +0000 (13:31 +0000)]
Gyp causing me gyp.
Review URL: http://codereview.chromium.org/1323003

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

14 years agoSpeed up conversion of untagged int32 result if we know it must be a smi.
whesse@chromium.org [Thu, 25 Mar 2010 13:22:37 +0000 (13:22 +0000)]
Speed up conversion of untagged int32 result if we know it must be a smi.
Review URL: http://codereview.chromium.org/1233003

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

14 years agoSplit the virtual frame into heavy and light versions.
erik.corry@gmail.com [Thu, 25 Mar 2010 13:18:00 +0000 (13:18 +0000)]
Split the virtual frame into heavy and light versions.
The heavy version is for x86 and x64.  The light version
is for ARM and MIPS.  Remove the elements_ array from the
virtual frame in the light version.  More simplifications
to come, followed by light register allocation.
Review URL: http://codereview.chromium.org/1164002

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

14 years agoFix build.
fschneider@chromium.org [Thu, 25 Mar 2010 13:14:25 +0000 (13:14 +0000)]
Fix build.

Some old names reappeared due to some merge problem.

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

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

14 years agoFix LargeObjectSpace::Contains to check if addr is in new space.
antonm@chromium.org [Thu, 25 Mar 2010 13:10:50 +0000 (13:10 +0000)]
Fix LargeObjectSpace::Contains to check if addr is in new space.

Otherwise page header check is not quite robust: if there is a smi
at the same offset as Page::is_normal_page field, wrong result would
be returned.

That shouldn't be the problem for paged spaces as objects in those
pages do not span page boundaries and thus cannot mess with ::is_normal_page field.

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

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

14 years agoRun string replace regexp with function in C++ code loop.
lrn@chromium.org [Thu, 25 Mar 2010 12:57:58 +0000 (12:57 +0000)]
Run string replace regexp with function in C++ code loop.
Reuses the result array to save on allocation.
Matches Safari's behavior.

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

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

14 years agoRename NumberInfo to TypeInfo.
fschneider@chromium.org [Thu, 25 Mar 2010 12:44:15 +0000 (12:44 +0000)]
Rename NumberInfo to TypeInfo.

Since we add more type (StringType, PrimitiveType) the name
NumberInfo does not make sense anymore.

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

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

14 years agoFix bug in RegExp first-character-lookahead.
lrn@chromium.org [Thu, 25 Mar 2010 12:41:26 +0000 (12:41 +0000)]
Fix bug in RegExp first-character-lookahead.

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

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

14 years agoMake following ES5 functions work with undetectable parameters/target (document.all):
pfeldman@chromium.org [Thu, 25 Mar 2010 12:28:24 +0000 (12:28 +0000)]
Make following ES5 functions work with undetectable parameters/target (document.all):

ObjectIsPrototypeOf
ObjectDefineGetter
ObjectLookupGetter
ObjectDefineSetter
ObjectLookupSetter
ObjectKeys
ObjectGetPrototypeOf
ObjectGetOwnPropertyDescriptor
ObjectGetOwnPropertyNames
ObjectDefineProperty
ObjectDefineProperties

I did not implement tests covering calls with undetectable parameters since I would need to make these tests native. Just thought it was not worth the effort. If you think tests would make sense, I can add them. We might want to allow other functions to receive undetectable parameters, but I am not seeing any good candidates.

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

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

14 years agoFail with out-of-bounds exception upon illegal access to the ExecutionState's frame.
pfeldman@chromium.org [Thu, 25 Mar 2010 12:20:59 +0000 (12:20 +0000)]
Fail with out-of-bounds exception upon illegal access to the ExecutionState's frame.

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

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

14 years agoRe-apply "Inline floating point compare"
sgjesse@chromium.org [Thu, 25 Mar 2010 12:04:34 +0000 (12:04 +0000)]
Re-apply "Inline floating point compare"

This re-applies r4220 and r4233, which was reverted in r4254 due to a bug. This bug has now been fixed, with the only change being line 2884 changed from

  __ SmiTag(left_side->reg());

to

  __ SmiTag(operand->reg());

Added a regression test.

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

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

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

14 years agoAvoid calling ToRegister(register) when result is in register already, and register...
whesse@chromium.org [Thu, 25 Mar 2010 11:52:42 +0000 (11:52 +0000)]
Avoid calling ToRegister(register) when result is in register already, and register is shared.
Review URL: http://codereview.chromium.org/1325004

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

14 years agoChange StringSearch to not call exec and build unnecessary intermediate array.
lrn@chromium.org [Thu, 25 Mar 2010 09:09:42 +0000 (09:09 +0000)]
Change StringSearch to not call exec and build unnecessary intermediate array.

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

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

14 years agoCheck for negative 0 when deciding whether a constant has type Integer32.
fschneider@chromium.org [Wed, 24 Mar 2010 16:37:27 +0000 (16:37 +0000)]
Check for negative 0 when deciding whether a constant has type Integer32.

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

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

14 years agoFix Win32 build.
fschneider@chromium.org [Wed, 24 Mar 2010 15:55:15 +0000 (15:55 +0000)]
Fix Win32 build.

Use correct constants for min/max-int.

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

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

14 years agoStore type information with constants.
fschneider@chromium.org [Wed, 24 Mar 2010 15:29:41 +0000 (15:29 +0000)]
Store type information with constants.

Instead of testing the value of a constant frame element to determine
the type we compute its type information at construction time.

This speeds up querying the type information during code generation.

This change also adds support for Integer32 constants and sets
the type information accordingly.

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

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

14 years agoRevert "Inline floating point compare"
kmillikin@chromium.org [Wed, 24 Mar 2010 14:26:14 +0000 (14:26 +0000)]
Revert "Inline floating point compare"

This reverts svn revisons r4220 and r4233.

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

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

14 years agoImplement support for reattaching a global object to a context. This
ager@chromium.org [Wed, 24 Mar 2010 13:24:46 +0000 (13:24 +0000)]
Implement support for reattaching a global object to a context. This
can be used to use the same global object for different contexts at
different points in time.

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

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

14 years agoFix Android scons build by putting -lv8 before -lgcc.
erik.corry@gmail.com [Wed, 24 Mar 2010 13:10:18 +0000 (13:10 +0000)]
Fix Android scons build by putting -lv8 before -lgcc.
Review URL: http://codereview.chromium.org/1275001

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

14 years agoExpose debug context into the native code. This change is doing several things:
pfeldman@chromium.org [Wed, 24 Mar 2010 13:09:02 +0000 (13:09 +0000)]
Expose debug context into the native code. This change is doing several things:

1) Exposes Local<Context> v8::Debug::GetDebugContext().
Rationale: We can already get debugger context instance using various workarounds,
so exposing it explicitly in the API only makes things more clear.

2) Removes debugger.HasJavaScriptFrames() requirement for entering debugger context.
Rationale: Sometimes we'd like to call into debugger from the external native code.

3) Makes Debugger v8::Debug::Call execute on debugger context's global object.
Rationale: This is somewhat arguable, but temporary measure. We've agreed that we
should introduce a DebugAPI object that would expose necessary API in the debug-delay.
The problem is that it would take some time to define this API and it is not really
convenient to do that on the v8 land given the difference in v8 / host lifecycle.
The plan is to compose this API as a Debug.* wrapper outside v8 by means of exposing
debugger context's global object here, and once API settles down, upstream it to v8 and
start making Debug::Calls on this new DebugAPI object instead.

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

14 years agoAdd primitive type and string type to the number info.
fschneider@chromium.org [Wed, 24 Mar 2010 12:34:27 +0000 (12:34 +0000)]
Add primitive type and string type to the number info.

This change adds two new type attributes to  the lattice
defined in the class NumberInfo. Currently the new types
are not used yet.

I plan to rename NumberInfo into TypeInfo as a separate change.

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

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

14 years agoRevert revisions 4241, 4243 and 4247 because of Windows build errors
ager@chromium.org [Wed, 24 Mar 2010 11:48:01 +0000 (11:48 +0000)]
Revert revisions 4241, 4243 and 4247 because of Windows build errors
and test failures.

TBR=serya@chromium.org
Review URL: http://codereview.chromium.org/1269003

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

14 years agoFix presubmit error (multiple statements on the same line).
kmillikin@chromium.org [Wed, 24 Mar 2010 11:22:56 +0000 (11:22 +0000)]
Fix presubmit error (multiple statements on the same line).

TBR=fschneider@chromium.org

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

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

14 years agoFix conform test.
serya@chromium.org [Wed, 24 Mar 2010 11:11:33 +0000 (11:11 +0000)]
Fix conform test.

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

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

14 years agoInitial support for marking live code.
kmillikin@chromium.org [Wed, 24 Mar 2010 10:36:18 +0000 (10:36 +0000)]
Initial support for marking live code.

As part of aggressive dead code elimination, we initially assume all
flow-graph instructions are not live.  We mark those that are critical
and recursively all their children.  The children of variable
references (VariableProxies occurring as rvalues) include all their
reaching definitions.

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

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

14 years agoAdded flag for seeding the random generator deterministically.
lrn@chromium.org [Wed, 24 Mar 2010 10:32:23 +0000 (10:32 +0000)]
Added flag for seeding the random generator deterministically.

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

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

14 years agoFixing build in debug mode.
serya@chromium.org [Wed, 24 Mar 2010 09:48:58 +0000 (09:48 +0000)]
Fixing build in debug mode.
Review URL: http://codereview.chromium.org/1225003

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

14 years agoPass the proper number of fields to update remembered set for.
antonm@chromium.org [Wed, 24 Mar 2010 09:26:28 +0000 (09:26 +0000)]
Pass the proper number of fields to update remembered set for.

By oversight kPointerSize more fields were passed.

BUG=39128

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

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

14 years agoStringToDouble rewritten not using String::Get and memory allocations.
serya@chromium.org [Wed, 24 Mar 2010 08:51:03 +0000 (08:51 +0000)]
StringToDouble rewritten not using String::Get and memory allocations.

It converts the number to "canonical" form removing insignificant digits,
leading zerroes and spaces what guarantees to fit a fixed size buffer and
does not changes result of strtod.

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

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

14 years agoAdd comments to test-log-stack-tracer.
mikhail.naganov@gmail.com [Wed, 24 Mar 2010 08:46:17 +0000 (08:46 +0000)]
Add comments to test-log-stack-tracer.

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

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

14 years agoPrepare push to trunk. Now working on version 2.1.9.
kmillikin@chromium.org [Wed, 24 Mar 2010 08:12:14 +0000 (08:12 +0000)]
Prepare push to trunk.  Now working on version 2.1.9.

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

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

14 years agoMake the new Date test independent of the timezone in which it is run.
oleg@chromium.org [Tue, 23 Mar 2010 15:28:58 +0000 (15:28 +0000)]
Make the new Date test independent of the timezone in which it is run.
Review URL: http://codereview.chromium.org/1084018

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

14 years agoFix an error in optimized modulus operator, add unit test.
whesse@chromium.org [Tue, 23 Mar 2010 15:18:00 +0000 (15:18 +0000)]
Fix an error in optimized modulus operator, add unit test.
Review URL: http://codereview.chromium.org/1118008

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

14 years agoMIPS simple function calls
sgjesse@chromium.org [Tue, 23 Mar 2010 15:04:45 +0000 (15:04 +0000)]
MIPS simple function calls

This lands http://codereview.chromium.org/1018001.

Patch by Alexandre Rames <alexandre.rames@gmail.com> from Sigma Designs Inc.

Mads, please just have to look at the new flag --disable-native-files (two files not in the mips directory).
Review URL: http://codereview.chromium.org/1140004

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

14 years agoFix GetName and Print for CompareStub
sgjesse@chromium.org [Tue, 23 Mar 2010 14:59:36 +0000 (14:59 +0000)]
Fix GetName and Print for CompareStub
Review URL: http://codereview.chromium.org/1108006

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

14 years agoFix bug http://code.google.com/p/v8/issues/detail?id=659. Move the limits check for...
oleg@chromium.org [Tue, 23 Mar 2010 14:47:02 +0000 (14:47 +0000)]
Fix bug code.google.com/p/v8/issues/detail?id=659. Move the limits check for date before the time zone offset is applied.

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

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

14 years agoFix pop push optimization to work with partial snapshots (correct
erik.corry@gmail.com [Tue, 23 Mar 2010 14:33:42 +0000 (14:33 +0000)]
Fix pop push optimization to work with partial snapshots (correct
registration of external references in Proxy objects).
I moved the declaration of the two functions to stub-cache.h
because with all the types they use it's hard to declare them
anywhere else.  But the actual definition is still in runtime.cc
near to the place where they are used.
Review URL: http://codereview.chromium.org/1079012

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

14 years agoAdd binary operations with constants to the safe-int32 expression compiler.
whesse@chromium.org [Tue, 23 Mar 2010 14:24:41 +0000 (14:24 +0000)]
Add binary operations with constants to the safe-int32 expression compiler.
Review URL: http://codereview.chromium.org/1089004

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

14 years agoTrim underlying fixed array by one element from the left when doing shift.
antonm@chromium.org [Tue, 23 Mar 2010 14:05:16 +0000 (14:05 +0000)]
Trim underlying fixed array by one element from the left when doing shift.

For now this trick is only done to objects in new space, see comments
for reasons.

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

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

14 years agoPort of optimized ICs for external and pixel arrays from ia32 to ARM.
vegorov@chromium.org [Tue, 23 Mar 2010 13:38:04 +0000 (13:38 +0000)]
Port of optimized ICs for external and pixel arrays from ia32 to ARM.

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

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

14 years agoMark all loop conditions.
kmillikin@chromium.org [Tue, 23 Mar 2010 13:36:38 +0000 (13:36 +0000)]
Mark all loop conditions.

Previously we marked compare operations that occurred as for loop
conditions so as to avoid inlining the floating-point code for them.
Begin marking all expressions that occur as any loop condition
(because they are never dead code).

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

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

14 years agoNew GCCallbacks with additional parameters.
mikhail.naganov@gmail.com [Tue, 23 Mar 2010 13:11:44 +0000 (13:11 +0000)]
New GCCallbacks with additional parameters.

Author: Ilya Tikhonovsky <loislo@chromium.org>
Original issue: http://codereview.chromium.org/1094002

TBR=sgjesse@chromium.org

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

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

14 years agoUpdate Visual Studio project files.
sgjesse@chromium.org [Tue, 23 Mar 2010 13:09:33 +0000 (13:09 +0000)]
Update Visual Studio project files.
Review URL: http://codereview.chromium.org/1111011

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

14 years agoAdd iterative primitive type analysis.
fschneider@chromium.org [Tue, 23 Mar 2010 13:01:37 +0000 (13:01 +0000)]
Add iterative primitive type analysis.

This change adds a data-flow pass to statically determine
if a variable contains a primitive type.

It requires building the flow graph and computing reaching
definitions as pre-requisites. The analysis annotates all
VariableProxy nodes with the result.

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

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

14 years agoModify FastD2I to use static_cast instead of lrint(). Benchmarks show that it's much...
oleg@chromium.org [Tue, 23 Mar 2010 12:48:42 +0000 (12:48 +0000)]
Modify FastD2I to use static_cast instead of lrint(). Benchmarks show that it's much faster this way.

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

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

14 years agoFix issue 658: update test-log-stack-tracer after r4211.
mikhail.naganov@gmail.com [Tue, 23 Mar 2010 12:42:47 +0000 (12:42 +0000)]
Fix issue 658: update test-log-stack-tracer after r4211.

It appears that semi-automatic changes made to test's code were
incorrect. v8::Script::Compile returns wrapped JSFunction,
not SharedFunctionInfo.

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

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

14 years agoRemove the last of the obsolete *-delay.js files. This one
kasperl@chromium.org [Tue, 23 Mar 2010 12:36:41 +0000 (12:36 +0000)]
Remove the last of the obsolete *-delay.js files. This one
is replaced by src/liveedit-debugger.js.
Review URL: http://codereview.chromium.org/1158005

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

14 years agoInline floating point compare
sgjesse@chromium.org [Tue, 23 Mar 2010 12:36:31 +0000 (12:36 +0000)]
Inline floating point compare

Inline floating point compare instead of calling the stub when the following conditions are met:
  * Code is in a loop
  * Compare is not a for loop condition
  * Compare is not an equal comparison

This inlined code handles heap number to heap number and heap number to smi compare. It can also handle smi to smi compare, but whenever there is a chance of comparing two smis the smi compare is inlined before the inlined floating point compare. Support for non SSE2 hardware is included.

A new set of variants of the compare stub without the floating point comparison code is called if the inline comapre fails due to the operands not beeing heap numbers or smis.

The virtual frame has been extended with a branch taking two live results to be carried through to the destination. This makes this change much simpler as the inlined code have two live results in registers and a number of bailouts.

CompareStub::GetName needs to be updated as well. I will do that as a separate change.

Also inlined equality check if both operands can't be NaN. This can only provide positive equals if it is the same object.
Review URL: http://codereview.chromium.org/1117011

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

14 years agoBring back source line accidentally removed in r4217.
kasperl@chromium.org [Tue, 23 Mar 2010 12:31:52 +0000 (12:31 +0000)]
Bring back source line accidentally removed in r4217.
Review URL: http://codereview.chromium.org/1153008

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

14 years agoFix issue 658 by adapting the d8.cc code to the new types of
kasperl@chromium.org [Tue, 23 Mar 2010 12:23:15 +0000 (12:23 +0000)]
Fix issue 658 by adapting the d8.cc code to the new types of
scripts (either a JSFunction or a SharedFunctionInfo).
Review URL: http://codereview.chromium.org/1077010

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

14 years agoMerge the partial_snapshots branch back into bleeding_edge. For
kasperl@chromium.org [Tue, 23 Mar 2010 11:40:38 +0000 (11:40 +0000)]
Merge the partial_snapshots branch back into bleeding_edge. For
now, the custom call generator stuff is disabled.
Review URL: http://codereview.chromium.org/1094014

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

14 years agoFix issue 656 on ARM.
kasperl@chromium.org [Tue, 23 Mar 2010 07:14:25 +0000 (07:14 +0000)]
Fix issue 656 on ARM.

TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/1117010

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

14 years agoFix issue 656 on x64.
kasperl@chromium.org [Tue, 23 Mar 2010 06:58:48 +0000 (06:58 +0000)]
Fix issue 656 on x64.

TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/1081014

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

14 years agoFix issue 656 on x86.
kasperl@chromium.org [Tue, 23 Mar 2010 06:40:29 +0000 (06:40 +0000)]
Fix issue 656 on x86.

TBR=iposva@chromium.org
Review URL: http://codereview.chromium.org/1159004

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

14 years ago- Remove function boilerplate objects and use SharedFunctionInfos in
iposva@chromium.org [Tue, 23 Mar 2010 06:04:44 +0000 (06:04 +0000)]
- Remove function boilerplate objects and use SharedFunctionInfos in
  their place.
- Add one field to the SharedFunctionInfo to remember the number of
  literals used in this function.

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

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

14 years agoUse bit fields to calculate compare stub minor key
sgjesse@chromium.org [Mon, 22 Mar 2010 14:31:28 +0000 (14:31 +0000)]
Use bit fields to calculate compare stub minor key
Review URL: http://codereview.chromium.org/1081010

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

14 years agoAdd multithreading test for SamplingCircularQueue, fix implementation.
mikhail.naganov@gmail.com [Mon, 22 Mar 2010 14:23:45 +0000 (14:23 +0000)]
Add multithreading test for SamplingCircularQueue, fix implementation.

This is for the case of Linux, where sampling is done using SIGPROF
signal handler which is executed in the context of an interrupted
thread. In this case, my previous implementation with TLS doesn't
work.

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

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

14 years agoInclude initial definitions in reaching definitions analysis.
kmillikin@chromium.org [Mon, 22 Mar 2010 14:07:18 +0000 (14:07 +0000)]
Include initial definitions in reaching definitions analysis.

Include the initial definitions for parameters on input to the
function, and the initial definition of stack-allocated locals as
undefined.

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

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

14 years agoLoop peeling for inner loops.
fschneider@chromium.org [Mon, 22 Mar 2010 13:21:32 +0000 (13:21 +0000)]
Loop peeling for inner loops.

This change adds the option to peel off the first iteration of inner loops.

Loop peeling is off by default and can enabled by a flag. It also requires building a flow graph.

As part of this I added the possibility to clone AST nodes.

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

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

14 years agoPrepare push to trunk. Now working on version 2.1.8.
whesse@chromium.org [Mon, 22 Mar 2010 12:19:18 +0000 (12:19 +0000)]
Prepare push to trunk. Now working on version 2.1.8.
Review URL: http://codereview.chromium.org/1164001

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

14 years agoRevert change 4201.
whesse@chromium.org [Mon, 22 Mar 2010 12:16:11 +0000 (12:16 +0000)]
Revert change 4201.
Review URL: http://codereview.chromium.org/1113007

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

14 years agoFix code generation for fast smi loops to support parameters as well.
fschneider@chromium.org [Mon, 22 Mar 2010 11:55:12 +0000 (11:55 +0000)]
Fix code generation for fast smi loops to support parameters as well.

This change fixes an assert we hit when we recognized a fast smi loop
with a parameter as the loop variable.

BUG=650

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

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

14 years agoPorting binary op ICs to arm
kaznacheev@chromium.org [Mon, 22 Mar 2010 11:07:22 +0000 (11:07 +0000)]
Porting binary op ICs to arm

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

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

14 years agoFix broken build: disable stale assert
peter.rybin@gmail.com [Sun, 21 Mar 2010 00:23:03 +0000 (00:23 +0000)]
Fix broken build: disable stale assert

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

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

14 years agoExplicitly declare temporary cooked frames state
peter.rybin@gmail.com [Sat, 20 Mar 2010 22:37:15 +0000 (22:37 +0000)]
Explicitly declare temporary cooked frames state

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

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

14 years agoImplement function calls on ARM using the blx instruction when
erik.corry@gmail.com [Fri, 19 Mar 2010 14:05:11 +0000 (14:05 +0000)]
Implement function calls on ARM using the blx instruction when
available. Using blx will allow the CPU to predict the return address
fo the function, resulting in better overall performamce.
This is a copy of http://codereview.chromium.org/1113002 by
rodolph.perfetta@googlemail.com

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

14 years agoAdd a few tests to ProfilerEventsProcessor.
mikhail.naganov@gmail.com [Fri, 19 Mar 2010 13:51:01 +0000 (13:51 +0000)]
Add a few tests to ProfilerEventsProcessor.

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

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

14 years agoReally fix ARM build (this time verified locally.)
mikhail.naganov@gmail.com [Fri, 19 Mar 2010 13:49:28 +0000 (13:49 +0000)]
Really fix ARM build (this time verified locally.)

TBR=ager@chromium.org

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

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

14 years agoFix ARM build (GCC 3 'all member functions in class are private' warning.)
mikhail.naganov@gmail.com [Fri, 19 Mar 2010 13:07:43 +0000 (13:07 +0000)]
Fix ARM build (GCC 3 'all member functions in class are private' warning.)

TBR=ager@chromium.org

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

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

14 years agoRemove unused LivenessAnalyzer class.
fschneider@chromium.org [Fri, 19 Mar 2010 12:54:35 +0000 (12:54 +0000)]
Remove unused LivenessAnalyzer class.

Also remove unused attributes related to it from the ast.
Review URL: http://codereview.chromium.org/1117003

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

14 years agoFix presubmit errors.
ager@chromium.org [Fri, 19 Mar 2010 12:53:55 +0000 (12:53 +0000)]
Fix presubmit errors.

I will lint my code, I will lint my code, I will lint my code. :)

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

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

14 years agoPort number-dictionary probing in generated code to x64.
ager@chromium.org [Fri, 19 Mar 2010 12:26:45 +0000 (12:26 +0000)]
Port number-dictionary probing in generated code to x64.

BUG=640
Review URL: http://codereview.chromium.org/1113001

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

14 years agoRename files containing underscores.
floitschV8@gmail.com [Fri, 19 Mar 2010 12:15:24 +0000 (12:15 +0000)]
Rename files containing underscores.
Review URL: http://codereview.chromium.org/1102002

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

14 years agoRefactoring of RegExp interface to better support calling several times in a row.
lrn@chromium.org [Fri, 19 Mar 2010 12:01:17 +0000 (12:01 +0000)]
Refactoring of RegExp interface to better support calling several times in a row.

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

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

14 years agoAdd basic C++ implementation of CPU profiler.
mikhail.naganov@gmail.com [Fri, 19 Mar 2010 09:46:53 +0000 (09:46 +0000)]
Add basic C++ implementation of CPU profiler.

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

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

14 years agoAdd parens to DateYMDFromTimeSlow to clearify.
ager@chromium.org [Fri, 19 Mar 2010 08:00:52 +0000 (08:00 +0000)]
Add parens to DateYMDFromTimeSlow to clearify.

BUG=649
Review URL: http://codereview.chromium.org/1132002

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

14 years agoAdd debug code assertions where we expect smi inputs.
fschneider@chromium.org [Fri, 19 Mar 2010 07:43:03 +0000 (07:43 +0000)]
Add debug code assertions where we expect smi inputs.

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

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

14 years agoShow file name/line number in stack trace
peter.rybin@gmail.com [Thu, 18 Mar 2010 22:15:54 +0000 (22:15 +0000)]
Show file name/line number in stack trace

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

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

14 years agoFix bug when generating a fast smi loop.
fschneider@chromium.org [Thu, 18 Mar 2010 14:32:02 +0000 (14:32 +0000)]
Fix bug when generating a fast smi loop.

We may encounter an invalid frame after generating code
for the loop body in case the loop body ends in an unconditional
return. Before setting the type information for the loop variable
we need to check for a valid frame.

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

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

14 years agoRename grisu to fast-dtoa. Get rid of template.
floitschV8@gmail.com [Thu, 18 Mar 2010 13:19:59 +0000 (13:19 +0000)]
Rename grisu to fast-dtoa. Get rid of template.
Review URL: http://codereview.chromium.org/1032007

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

14 years agoImprove Math.round(). Fix the bug in r4146. Further improve performance by checking...
oleg@chromium.org [Thu, 18 Mar 2010 13:00:57 +0000 (13:00 +0000)]
Improve Math.round(). Fix the bug in r4146. Further improve performance by checking the exponent instead of comparing doubles. Add several tests for numbers near the limits of SMI and several tests from WebKit.

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

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

14 years agoPorting binary op ICs to x64.
kaznacheev@chromium.org [Thu, 18 Mar 2010 11:54:53 +0000 (11:54 +0000)]
Porting binary op ICs to x64.
Review URL: http://codereview.chromium.org/845002

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

14 years agoUpdate number info for count operations.
fschneider@chromium.org [Thu, 18 Mar 2010 10:01:53 +0000 (10:01 +0000)]
Update number info for count operations.

If the input of a ++ or -- operation is a smi, the
result is an Integer32. Otherwise it is a number.

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

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

14 years agoFix windows build again: one more memchr call.
vitalyr@chromium.org [Thu, 18 Mar 2010 09:38:30 +0000 (09:38 +0000)]
Fix windows build again: one more memchr call.

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

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

14 years agoFix windows build.
vitalyr@chromium.org [Thu, 18 Mar 2010 09:27:15 +0000 (09:27 +0000)]
Fix windows build.

On windows memchr returns const void* instead of void*.

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

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

14 years agoAdd test cases for fast smi loops.
fschneider@chromium.org [Thu, 18 Mar 2010 09:08:24 +0000 (09:08 +0000)]
Add test cases for fast smi loops.

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

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

14 years agoString search performance improvements:
vitalyr@chromium.org [Thu, 18 Mar 2010 09:01:08 +0000 (09:01 +0000)]
String search performance improvements:

 * Using memchr for first/only char lookup is faster than hand-coded
   loop. It processes one machine word per iteration so it helps even
   more on x64.

 * Tweaked badness computation in simple search. We pay only for the
   first char memchr scans, not for all of them.

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

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

14 years agoFix type propagation rules for count operation.
fschneider@chromium.org [Wed, 17 Mar 2010 16:39:29 +0000 (16:39 +0000)]
Fix type propagation rules for count operation.

Also treat const-variables as not side-effect free.

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

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