platform/upstream/v8.git
13 years agoARM: Add optimization for constant RHS in DoMulI.
karlklose@chromium.org [Mon, 21 Mar 2011 14:31:15 +0000 (14:31 +0000)]
ARM: Add optimization for constant RHS in DoMulI.

Patch by ARM Ltd.

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

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

13 years agoChange cctests to use variant flags as part of the name for the serilization file.
ricow@chromium.org [Mon, 21 Mar 2011 12:57:25 +0000 (12:57 +0000)]
Change cctests to use variant flags as part of the name for the serilization file.

Because we run all tests three times with different variant flags (to
test crankshaft) we might end up in a situation where we try to write
to the same serilization file from two different threads
simultaneously. The patch concats the variant flags at the end of the
serialization file name.
Review URL: http://codereview.chromium.org/6688068

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

13 years agoOptimize calls to object literal properties that are initialized with a function...
fschneider@chromium.org [Mon, 21 Mar 2011 12:25:31 +0000 (12:25 +0000)]
Optimize calls to object literal properties that are initialized with a function literal.

This allows fast calls and inlining of functions like:

var o = {f: function() { return "foo"; }}
o.f();

Object literals that contain function literals are initially created a dictionary mode
object and only transformed to fast properties once all properties are computed and
added. This allows us to create constant function properties for functions declared
inside the object literal. Function literals inside object literals are marked for
pretenuring so that they work as contant function properties.

Object literals without functions should just function as before.

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

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

13 years agoClean up Isolate usages in ast visitor and hydrogen.
vitalyr@chromium.org [Mon, 21 Mar 2011 11:57:59 +0000 (11:57 +0000)]
Clean up Isolate usages in ast visitor and hydrogen.

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

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

13 years agoClean up Isolate usages in compilation cache.
vitalyr@chromium.org [Mon, 21 Mar 2011 10:22:57 +0000 (10:22 +0000)]
Clean up Isolate usages in compilation cache.

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

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

13 years agoImprove ARM-Simulator.
karlklose@chromium.org [Mon, 21 Mar 2011 09:59:58 +0000 (09:59 +0000)]
Improve ARM-Simulator.

This patch
- removes the unimplemented code crash when rendering invalid/unknown instructions and prints "unknown" instead.
- prints the beginning of the constant pool marker.
- adds "da" as a shortcut for "disasm".
- print hexadecimal representation of double and single registers. This makes it easier to debug move/conversion code that uses temporary int32 values in floating point registers.
- annotates the stack with short prints of the values (HeapObjects and smis),
- makes disasm take an address or a register as second argument without a third argument, which defaults to printing ten instructions.

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

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

13 years agoAlways inline BitCast.
vitalyr@chromium.org [Mon, 21 Mar 2011 09:59:29 +0000 (09:59 +0000)]
Always inline BitCast.

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

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

13 years agoFix Xcode after isolates landing.
mmaly@chromium.org [Sat, 19 Mar 2011 02:23:59 +0000 (02:23 +0000)]
Fix Xcode after isolates landing.

BUG=
TEST=

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

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

13 years agoAvoid TLS accesses in QuoteJsonString.
vitalyr@chromium.org [Fri, 18 Mar 2011 23:55:11 +0000 (23:55 +0000)]
Avoid TLS accesses in QuoteJsonString.

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

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

13 years agoTry fix arm build.
vitalyr@chromium.org [Fri, 18 Mar 2011 22:47:09 +0000 (22:47 +0000)]
Try fix arm build.

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

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

13 years agoUpdate cctest expectations: ass 2 timed out tests to skip list.
dimich@chromium.org [Fri, 18 Mar 2011 21:51:10 +0000 (21:51 +0000)]
Update cctest expectations: ass 2 timed out tests to skip list.

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

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

13 years agoFix Win64 build after isolates merge.
dimich@chromium.org [Fri, 18 Mar 2011 21:37:28 +0000 (21:37 +0000)]
Fix Win64 build after isolates merge.
Need to add -DWIN32 since the include structure changed.w
Review URL: http://codereview.chromium.org/6712045

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

13 years agoMerge isolates to bleeding_edge.
vitalyr@chromium.org [Fri, 18 Mar 2011 20:35:07 +0000 (20:35 +0000)]
Merge isolates to bleeding_edge.

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

13 years agoRevert r7268: it borked the history.
vitalyr@chromium.org [Fri, 18 Mar 2011 19:41:05 +0000 (19:41 +0000)]
Revert r7268: it borked the history.

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

13 years agoMerge isolates to bleeding_edge.
vitalyr@chromium.org [Fri, 18 Mar 2011 18:49:56 +0000 (18:49 +0000)]
Merge isolates to bleeding_edge.
Review URL: http://codereview.chromium.org/6685088

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

13 years agoMark cctest/test-profile-generator/RecordStackTraceAtStartProfiling as flakey.
vitalyr@chromium.org [Fri, 18 Mar 2011 15:10:00 +0000 (15:10 +0000)]
Mark cctest/test-profile-generator/RecordStackTraceAtStartProfiling as flakey.

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

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

13 years agoMake Script.prototype.nameOrSourceURL use indexOf search first before trying to match...
lrn@chromium.org [Fri, 18 Mar 2011 13:40:48 +0000 (13:40 +0000)]
Make Script.prototype.nameOrSourceURL use indexOf search first before trying to match with a RegExp.

This should use Boyer-Moore search with a long string, which is potentially
faster than RegExp search.
The target string is typically, but not guaranteed, at the end of the
source, so for long sources, there will be a lot of characters to skip.

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

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

13 years agoRevert r7258 and r7260.
antonm@chromium.org [Fri, 18 Mar 2011 13:24:38 +0000 (13:24 +0000)]
Revert r7258 and r7260.

They apparently break Threading tests on at least Mac and Win64.

TBR=vitalyr@chromium.org

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

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

13 years agoFix presumbit warning after r7259
mikhail.naganov@gmail.com [Fri, 18 Mar 2011 12:55:53 +0000 (12:55 +0000)]
Fix presumbit warning after r7259

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

13 years agoFix build.
antonm@chromium.org [Fri, 18 Mar 2011 12:51:14 +0000 (12:51 +0000)]
Fix build.

TBR=vitalyr@chromium.org

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

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

13 years agoDramatically speed up detailed heap snapshot generation.
mikhail.naganov@gmail.com [Fri, 18 Mar 2011 12:49:27 +0000 (12:49 +0000)]
Dramatically speed up detailed heap snapshot generation.

I've replaced calls to HashMap::Clear with instance re-creation.
This has sped up taking a heap snapshot of GMail from 33s -> 3s!

R=vitalyr@chromium.org
BUG=none
TEST=none

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

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

13 years agoMake exception thrown via v8 public API propagate to v8::TryCatch as JS thrown except...
antonm@chromium.org [Fri, 18 Mar 2011 12:33:19 +0000 (12:33 +0000)]
Make exception thrown via v8 public API propagate to v8::TryCatch as JS thrown exceptions do.

Correctly process failures which can be returned by Object::GetProperty
when performing GetRealNamedProperty* queries.

Callback properties can produce exceptions so we need to wrap access to them
into exception checks.  However, despite of many other methods with exception
checks, property access doesn't mandatroy go via JavaScript and hence we
need to inject code to propagate exception to public API TryCatch handlers.

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

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

13 years agoFix compilation on Windows post-7252
dimich@chromium.org [Thu, 17 Mar 2011 21:14:47 +0000 (21:14 +0000)]
Fix compilation on Windows post-7252
Review URL: http://codereview.chromium.org/6708014

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

13 years agoImplement strict mode ThrowTypeError functions for arguments object.
mmaly@chromium.org [Thu, 17 Mar 2011 20:28:41 +0000 (20:28 +0000)]
Implement strict mode ThrowTypeError functions for arguments object.
* Reverse order of arguments in-object fields for length and callee.
* Introduce arguments ThrowTypeError functions (caller/callee).
* Create strict mode arguments boilerplate object.
* Strict mode "new arguments object" stub.
* Runtime arguments object allocation.
* Update es5conform test expectations.

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

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

13 years agoImplement fast path for strict closure creation.
mmaly@chromium.org [Thu, 17 Mar 2011 20:28:30 +0000 (20:28 +0000)]
Implement fast path for strict closure creation.

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

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

13 years agoStrict mode ThrowTypeError functions for
mmaly@chromium.org [Thu, 17 Mar 2011 20:28:17 +0000 (20:28 +0000)]
Strict mode ThrowTypeError functions for
- function.caller
- function.arguments

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

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

13 years agoX64: Port optimization of LMulI to x64.
lrn@chromium.org [Thu, 17 Mar 2011 18:14:21 +0000 (18:14 +0000)]
X64: Port optimization of LMulI to x64.

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

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

13 years agoRefactor fast API call.
antonm@chromium.org [Thu, 17 Mar 2011 17:25:54 +0000 (17:25 +0000)]
Refactor fast API call.

Make it use custom call generator infrastructure.

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

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

13 years agoRemove empty test/mjsunit/compiler/global-accessors.js to make lint happy.
vitalyr@chromium.org [Thu, 17 Mar 2011 16:12:13 +0000 (16:12 +0000)]
Remove empty test/mjsunit/compiler/global-accessors.js to make lint happy.

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

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

13 years agoEmit slightly more compact code in untag double.
vitalyr@chromium.org [Thu, 17 Mar 2011 15:46:42 +0000 (15:46 +0000)]
Emit slightly more compact code in untag double.

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

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

13 years agoRevert revisions 7215 and 7212.
ricow@chromium.org [Thu, 17 Mar 2011 14:30:48 +0000 (14:30 +0000)]
Revert revisions 7215 and 7212.

This caueses line positions to be off by one in certain cases, causing webkit http/tests/inspector/console-xhr-logging to fail.
Review URL: http://codereview.chromium.org/6667077

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

13 years agoFix presubmit error introduced by r7221.
vegorov@chromium.org [Thu, 17 Mar 2011 12:36:12 +0000 (12:36 +0000)]
Fix presubmit error introduced by r7221.

TBR=kmillikin@chromium.org

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

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

13 years agoX64: Add the global object as parameter to the GlobalReceiver instruction
sgjesse@chromium.org [Thu, 17 Mar 2011 12:34:24 +0000 (12:34 +0000)]
X64: Add the global object as parameter to the GlobalReceiver instruction
Review URL: http://codereview.chromium.org/6674053

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

13 years agoMake HDeoptimize to explicitly use environment values.
vegorov@chromium.org [Thu, 17 Mar 2011 12:22:49 +0000 (12:22 +0000)]
Make HDeoptimize to explicitly use environment values.

Otherwise dead phi elimination can actually remove some of the implicitly used phis.

BUG=1257
TEST=test/mjsunit/regress/regress-1257.js

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

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

13 years agoPrepare push to trunk. Now working on version 3.2.4.
ricow@chromium.org [Thu, 17 Mar 2011 12:03:20 +0000 (12:03 +0000)]
Prepare push to trunk.  Now working on version 3.2.4.

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

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

13 years agoAdd support for unary plus in hydrogen compiler.
lrn@chromium.org [Thu, 17 Mar 2011 10:37:29 +0000 (10:37 +0000)]
Add support for unary plus in hydrogen compiler.

Also strength-reduction of unary minus.
Fixes issue 1248.

BUG=1248

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

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

13 years agoFix infinite recursion in the compiler introduced in r7212
sgjesse@chromium.org [Thu, 17 Mar 2011 09:55:57 +0000 (09:55 +0000)]
Fix infinite recursion in the compiler introduced in r7212

In most situations tests passed just causing a bailout from the compiler due to stack overflow. On Mac some tests actually did crash and of cause some benchmarks showed regressions due to this.
Review URL: http://codereview.chromium.org/6665064

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

13 years agoFix some XMM and byte register names in the X64 disassembler.
whesse@chromium.org [Thu, 17 Mar 2011 09:23:48 +0000 (09:23 +0000)]
Fix some XMM and byte register names in the X64 disassembler.

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

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

13 years agoPartially fix serializer which crashes on x64 running with no snapshot.
ricow@chromium.org [Thu, 17 Mar 2011 08:16:27 +0000 (08:16 +0000)]
Partially fix serializer which crashes on x64 running with no snapshot.

We used the wrong heap space number when reading in code chunks (we
used LO_SPACE, should use kLargeCode).

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

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

13 years agoIncrease coverage of global loads in optimized code
sgjesse@chromium.org [Thu, 17 Mar 2011 08:16:12 +0000 (08:16 +0000)]
Increase coverage of global loads in optimized code

In the cases where a global property cell cannot be used in the optimized code use standard load ic to get the property instead of bailing out.
Review URL: http://codereview.chromium.org/6665026

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

13 years agoAdd a preprocessor symbol to have printing on Android use stdout instead of the syste...
sgjesse@chromium.org [Thu, 17 Mar 2011 07:34:37 +0000 (07:34 +0000)]
Add a preprocessor symbol to have printing on Android use stdout instead of the system log

This is convenient for debugging on Android as one don't have to go to the system log for printf based debugging.
Review URL: http://codereview.chromium.org/6672041

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

13 years agoFix Array::New(length) in the API to return an array with the provided length.
ager@chromium.org [Wed, 16 Mar 2011 19:55:31 +0000 (19:55 +0000)]
Fix Array::New(length) in the API to return an array with the provided length.

The internal factory method initializes the elements but does not set
the length property of the array.

Add array api test case for length.

R=antonm@chromium.org
BUG=v8:1256
TEST=cctest/test-api/Array

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

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

13 years agoRefactor lithium CheckSmi instruction into two separate instructions CheckSmi and...
fschneider@chromium.org [Wed, 16 Mar 2011 16:28:06 +0000 (16:28 +0000)]
Refactor lithium CheckSmi instruction into two separate instructions CheckSmi and CheckNonSmi.

There is no need to store the branch condition separately in the LIR.

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

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

13 years agoFix some register names in the ia32 disassembler. Byte register and XMM register...
whesse@chromium.org [Wed, 16 Mar 2011 16:11:14 +0000 (16:11 +0000)]
Fix some register names in the ia32 disassembler.  Byte register and XMM register names were sometimes not used, or used where they shouldn't be.
Review URL: http://codereview.chromium.org/6702001

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

13 years agoARM: Fix the debugger using wrong break stub for slot breaks
sgjesse@chromium.org [Wed, 16 Mar 2011 12:47:43 +0000 (12:47 +0000)]
ARM: Fix the debugger using wrong break stub for slot breaks

On ARM the break at break slots wrongly used the break at return stub which assumes an object opinter in r0. At break slots there are no objects live in registers so a GC while at a break on a break stub could cause a crash as r0 was wrongly pushed on a internal frame to be handled by GC.
Review URL: http://codereview.chromium.org/6676037

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

13 years agoIntroduce one way dependencies into object grouping.
antonm@chromium.org [Wed, 16 Mar 2011 12:02:28 +0000 (12:02 +0000)]
Introduce one way dependencies into object grouping.

Those are necessary to properly manage relationship between objects in cases
when they don't form proper tree structure.

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

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

13 years agoUse full paths for cctests.
ager@chromium.org [Wed, 16 Mar 2011 11:16:18 +0000 (11:16 +0000)]
Use full paths for cctests.

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

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

13 years ago* Fix build errors on FreeBSD 8.2
erik.corry@gmail.com [Wed, 16 Mar 2011 11:15:43 +0000 (11:15 +0000)]
* Fix build errors on FreeBSD 8.2
* Fix Crankshaft on FreeBSD.
* Partially fix profiling on FreeBSD.
* Remove bash-isms from tick processor script.
Review URL: http://codereview.chromium.org/6673045

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

13 years agoDisable v8 benchmark run from standard test.py runs.
ager@chromium.org [Wed, 16 Mar 2011 10:03:13 +0000 (10:03 +0000)]
Disable v8 benchmark run from standard test.py runs.

Let's add it as a separate test run on the buildbots.

TBR=ricow@chromium.org

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

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

13 years agoAdd a V8 benchmark suite run to test.py to catch failures on the buildbot.
ager@chromium.org [Wed, 16 Mar 2011 09:45:28 +0000 (09:45 +0000)]
Add a V8 benchmark suite run to test.py to catch failures on the buildbot.

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

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

13 years agoFix incorrect assumption on bit-and on ARM
erik.corry@gmail.com [Tue, 15 Mar 2011 21:56:12 +0000 (21:56 +0000)]
Fix incorrect assumption on bit-and on ARM
Review URL: http://codereview.chromium.org/6696037

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

13 years agoStrict mode renames and formatting cleanup.
mmaly@chromium.org [Tue, 15 Mar 2011 18:20:10 +0000 (18:20 +0000)]
Strict mode renames and formatting cleanup.

BUG=
TEST=

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

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

13 years agoUse a class field instead of global FLAG_debug_code in assember and
vitalyr@chromium.org [Tue, 15 Mar 2011 14:49:10 +0000 (14:49 +0000)]
Use a class field instead of global FLAG_debug_code in assember and
macro assembler.

This way we can avoid changing the global flag value.

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

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

13 years agoUse NativesFlag to allow/disallow natives syntax during compilation.
vitalyr@chromium.org [Tue, 15 Mar 2011 14:26:55 +0000 (14:26 +0000)]
Use NativesFlag to allow/disallow natives syntax during compilation.

This way we can avoid changing the value of FLAG_allow_natives_syntax.

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

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

13 years agoFollow Safari on not throwing when __defineGetter__ fails.
ricow@chromium.org [Tue, 15 Mar 2011 14:19:18 +0000 (14:19 +0000)]
Follow Safari on not throwing when __defineGetter__ fails.

In addition, this fixes defineOwnProperty to actually not throw when
the should_throw flag is false (we had no usage of this priorly).

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

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

13 years agoReapply 7143 after fixing issue 1250
ricow@chromium.org [Tue, 15 Mar 2011 12:25:13 +0000 (12:25 +0000)]
Reapply 7143 after fixing issue 1250

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

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

13 years agoARM: Improved double to integer truncation.
karlklose@chromium.org [Tue, 15 Mar 2011 11:19:13 +0000 (11:19 +0000)]
ARM: Improved double to integer truncation.

Patch from ARM Ltd.

BUG=none
TEST=Added to cctest/test-assembler-arm.cc and cctest/test-disasm-arm.cc

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

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

13 years agoRevert "Strict mode ThrowTypeError functions for"
ager@chromium.org [Tue, 15 Mar 2011 11:01:21 +0000 (11:01 +0000)]
Revert "Strict mode ThrowTypeError functions for"

TBR=mmaly@chromium.org

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

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

13 years agoFix SmiCompare on 64 bit to distinguish between comparisons where
erik.corry@gmail.com [Tue, 15 Mar 2011 10:03:57 +0000 (10:03 +0000)]
Fix SmiCompare on 64 bit to distinguish between comparisons where
we know that both sides are Smi and those where we don't.  Fix inlined
symbol table probes to cope with strings, undefined and null (indicating
a deleted entry).  Some changes to other architectures that were found
with the new asserts.
Review URL: http://codereview.chromium.org/6682026

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

13 years agoDo not set value on host objects in Object.defineProperty (fixes issue 1250).
ricow@chromium.org [Tue, 15 Mar 2011 09:16:12 +0000 (09:16 +0000)]
Do not set value on host objects in Object.defineProperty (fixes issue 1250).

To be compatible with safari we should not change the value on API
objects in Object.defineProperty (e.g., the window.location object).

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

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

13 years agoStrict mode ThrowTypeError functions for
mmaly@chromium.org [Mon, 14 Mar 2011 17:46:37 +0000 (17:46 +0000)]
Strict mode ThrowTypeError functions for
- function.caller
- function.arguments

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

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

13 years agoRemove unused StringCharCodeAt stub.
vitalyr@chromium.org [Mon, 14 Mar 2011 16:54:51 +0000 (16:54 +0000)]
Remove unused StringCharCodeAt stub.

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

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

13 years agoPrepare push to trunk. Now working on version 3.2.3.
whesse@chromium.org [Mon, 14 Mar 2011 15:43:36 +0000 (15:43 +0000)]
Prepare push to trunk.  Now working on version 3.2.3.
Review URL: http://codereview.chromium.org/6685048

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

13 years agoCrankshaft support for StringCharFromCode.
vitalyr@chromium.org [Mon, 14 Mar 2011 15:36:00 +0000 (15:36 +0000)]
Crankshaft support for StringCharFromCode.

This allows more efficient implementations of string keyed access,
String.prototype.chatAt, and String.fromCharCode.

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

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

13 years agoFix presubmit failure introduced by r7158.
vegorov@chromium.org [Mon, 14 Mar 2011 15:09:50 +0000 (15:09 +0000)]
Fix presubmit failure introduced by r7158.

TBR=kmillikin@chromium.org

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

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

13 years agoReduce strength of ModI for power-of-2 divisor.
vegorov@chromium.org [Mon, 14 Mar 2011 14:42:14 +0000 (14:42 +0000)]
Reduce strength of ModI for power-of-2 divisor.

This is ia32 only. I will port it to other platforms if this looks good to you.

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

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

13 years agoARM: Move the constant pool blocking for call instruction sequences
sgjesse@chromium.org [Mon, 14 Mar 2011 12:32:20 +0000 (12:32 +0000)]
ARM: Move the constant pool blocking for call instruction sequences

The constant pool blocking for call instruction sequences is hoisted to the begof the function generating the call sequence.
Review URL: http://codereview.chromium.org/6690009

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

13 years agoWhen aborting optimization attempts for a function, make sure
kasperl@chromium.org [Mon, 14 Mar 2011 11:26:19 +0000 (11:26 +0000)]
When aborting optimization attempts for a function, make sure
to clear any eager optimizing hints in the compilation cache.
Review URL: http://codereview.chromium.org/6681031

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

13 years agoFix a problem where Object.getOwnPropertyDescriptor and related functions unintention...
whesse@chromium.org [Fri, 11 Mar 2011 13:57:20 +0000 (13:57 +0000)]
Fix a problem where Object.getOwnPropertyDescriptor and related functions unintentionally called toString on the values of an object's properties.  Fixes issue 1233.
Review URL: http://codereview.chromium.org/6677017

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

13 years agoX64: Load more values from the root array, rather than from immediate 64-bit constants.
whesse@chromium.org [Fri, 11 Mar 2011 13:33:39 +0000 (13:33 +0000)]
X64: Load more values from the root array, rather than from immediate 64-bit constants.
Review URL: http://codereview.chromium.org/6676025

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

13 years agoFaster invocation for most of API calls.
antonm@chromium.org [Fri, 11 Mar 2011 13:25:01 +0000 (13:25 +0000)]
Faster invocation for most of API calls.

For most of API calls we generate better stub which is faster than invocation
via builtin, so use IC instead of direct call in Hydrogen.

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

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

13 years agoARM: Implement inline conversion of heap numbers to int32 values for bitoperations.
karlklose@chromium.org [Fri, 11 Mar 2011 12:12:44 +0000 (12:12 +0000)]
ARM: Implement inline conversion of heap numbers to int32 values for bitoperations.

For bit operations, values are truncated and converted to the range -2^31 through 2^31 - 1. This patch provides inlined handling of this conversion for all heap numbers.

Before, we were calling runtime for every heap number that did not fit into a signed int32.

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

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

13 years agoFix compile failure with GCC 4.5.0 (issue 1244)
ricow@chromium.org [Fri, 11 Mar 2011 11:02:27 +0000 (11:02 +0000)]
Fix compile failure with GCC 4.5.0 (issue 1244)

GCC apparently assumes that given that we do a static cast in the next
line the value must actually be in StrictModeFlag enum range (even
though this is actually what we are asserting)

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

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

13 years agoFix x64 array length operations in Crankshaft
danno@chromium.org [Fri, 11 Mar 2011 10:30:33 +0000 (10:30 +0000)]
Fix x64 array length operations in Crankshaft

x64-bit array length loads and bounds checks should be 32-bits

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

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

13 years agoFix presubmit by deleting regress-1240 not deleted by last patch.
ricow@chromium.org [Fri, 11 Mar 2011 09:08:52 +0000 (09:08 +0000)]
Fix presubmit by deleting regress-1240 not deleted by last patch.

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

13 years agoRevert revision 7143, this causes a number of webkit tests to fail.
ricow@chromium.org [Fri, 11 Mar 2011 09:02:54 +0000 (09:02 +0000)]
Revert revision 7143, this causes a number of webkit tests to fail.

This includes a security test. Reverting to investigate further.

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

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

13 years agoChange __defineGetter__ and __defineSetter__ to respect non-configurable.
ricow@chromium.org [Fri, 11 Mar 2011 08:05:59 +0000 (08:05 +0000)]
Change __defineGetter__ and __defineSetter__ to respect non-configurable.

This makes us compatible with firefox. Earlier on we were somehow
compatible with safari - which will allow defining a getter even when
an existing getter is present and non-configurable. We would, however,
in addition to overwriting the getter also change configurable to
true. The approach used by firefox seems much more sound, i.e., why
should it be possible to use __defineGetter__ or __defineSetter__ to
overwrite a non-configurable getter or setter respectively.

I will file a bug on the webkit bugtracker.

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

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

13 years agoUse pthread_kill on solaris.
vitalyr@chromium.org [Fri, 11 Mar 2011 07:41:45 +0000 (07:41 +0000)]
Use pthread_kill on solaris.

Landing patch by Ryan Dahl.

TBR=vegorov@chromium.org

Original review: http://codereview.chromium.org/6667030/

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

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

13 years agoSample correct registers on solaris.
vitalyr@chromium.org [Fri, 11 Mar 2011 07:34:55 +0000 (07:34 +0000)]
Sample correct registers on solaris.

Landing patch by Ryan Dahl.

TBR=vegorov@chromium.org

Original review: http://codereview.chromium.org/6676019/

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

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

13 years agoUpdate platform-solaris to support runtime profiling.
vitalyr@chromium.org [Fri, 11 Mar 2011 01:43:44 +0000 (01:43 +0000)]
Update platform-solaris to support runtime profiling.

Landing patch by Ryan Dahl.

TBR=vegorov@chromium.org

Original review: http://codereview.chromium.org/6674002/

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

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

13 years agoFix bit field for GlobalHandles::Node State in MSVC.
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 17:29:37 +0000 (17:29 +0000)]
Fix bit field for GlobalHandles::Node State in MSVC.

TBR=vitalyr@chromium.org
BUG=1243
TEST=none

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

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

13 years agoFix error in sin-cos.js test introduced in r7129.
whesse@chromium.org [Thu, 10 Mar 2011 14:04:18 +0000 (14:04 +0000)]
Fix error in sin-cos.js test introduced in r7129.
Review URL: http://codereview.chromium.org/6659034

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

13 years agoARM: Port r7089 to ARM
sgjesse@chromium.org [Thu, 10 Mar 2011 13:58:20 +0000 (13:58 +0000)]
ARM: Port r7089 to ARM

Ensure that there is always enough bytes between consequtive calls in optimized code to write a call instruction at the return points without overlapping.

Add a call to deoptimize all functions after running tests with --stress-opt. This will catch some issues with functions which cannot be forcefully deoptimized. Some of the tests failed on ARM with that change without the rest of the changes in this change.
Review URL: http://codereview.chromium.org/6661022

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

13 years agoFix for win32 after r7125. For some reason introducing a bit field into GlobalHandles...
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 13:45:35 +0000 (13:45 +0000)]
Fix for win32 after r7125. For some reason introducing a bit field into GlobalHandles::Node causes a trouble.

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

13 years agoCrankshaft: Fix error in range analysis of compare operations.
whesse@chromium.org [Thu, 10 Mar 2011 13:34:56 +0000 (13:34 +0000)]
Crankshaft: Fix error in range analysis of compare operations.
Review URL: http://codereview.chromium.org/6658035

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

13 years agoX64 Crankshaft: Fix error in computation of sine and cosine.
whesse@chromium.org [Thu, 10 Mar 2011 13:34:23 +0000 (13:34 +0000)]
X64 Crankshaft: Fix error in computation of sine and cosine.
Review URL: http://codereview.chromium.org/6646047

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

13 years agoNormalize statistics about compilation time and allocation size.
fschneider@chromium.org [Thu, 10 Mar 2011 13:26:51 +0000 (13:26 +0000)]
Normalize statistics about compilation time and allocation size.

Now we print compilation time and zone allocation per KB of compiled
source code to better compare with previous revisions.

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

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

13 years agoFix x64 build after r7125
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 12:58:57 +0000 (12:58 +0000)]
Fix x64 build after r7125

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

13 years agoA follow-up to r7125: fix a couple of remaining comments.
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 12:22:59 +0000 (12:22 +0000)]
A follow-up to r7125: fix a couple of remaining comments.

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

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

13 years agoAdd an interface for an embedder to provide information about native
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 12:05:31 +0000 (12:05 +0000)]
Add an interface for an embedder to provide information about native
objects retained by object groups and global handles.

This information is then used during heap snapshot generation
to provide a more complete memory picture.

This patch will be needed to fix https://bugs.webkit.org/show_bug.cgi?id=53659.

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

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

13 years agoRemove `sfi' abbreviations (a follow-up to r6902).
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 12:00:27 +0000 (12:00 +0000)]
Remove `sfi' abbreviations (a follow-up to r6902).

BUG=none
TEST=none

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

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

13 years agoRevert r7119..r7121
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 11:55:03 +0000 (11:55 +0000)]
Revert r7119..r7121

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

13 years agoInitialize zone lists in the register allocator with more reasonable initial capacities.
fschneider@chromium.org [Thu, 10 Mar 2011 11:54:55 +0000 (11:54 +0000)]
Initialize zone lists in the register allocator with more reasonable initial capacities.

Also replace fixed length zone lists with embedded vectors for the fixed live ranges.

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

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

13 years agolint
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 11:49:17 +0000 (11:49 +0000)]
lint

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

13 years agocomment
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 11:49:07 +0000 (11:49 +0000)]
comment

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

13 years agorenamed
mikhail.naganov@gmail.com [Thu, 10 Mar 2011 11:48:56 +0000 (11:48 +0000)]
renamed

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

13 years agoX64: Change kSmiConstantRegister to r12.
lrn@chromium.org [Thu, 10 Mar 2011 10:14:24 +0000 (10:14 +0000)]
X64: Change kSmiConstantRegister to r12.

We never use the smi register in places where it matters that r12 as
a base register needs an extra SIB byte. Might as well free up the
unencumbered r15 register instead.

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

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

13 years agoPrepare push to trunk. Now working on version 3.2.2.
danno@chromium.org [Thu, 10 Mar 2011 09:43:58 +0000 (09:43 +0000)]
Prepare push to trunk.  Now working on version 3.2.2.

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

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

13 years agoAdd bailout to x64 pixel array lithium instructions.
danno@chromium.org [Wed, 9 Mar 2011 17:14:12 +0000 (17:14 +0000)]
Add bailout to x64 pixel array lithium instructions.

Stops segfaults in tests while tracking down the problem.

TBR=kmillikin@chromium.org

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

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

13 years agoRebuild scope chain from serialized scope info before parsing lazily.
vegorov@chromium.org [Wed, 9 Mar 2011 16:57:03 +0000 (16:57 +0000)]
Rebuild scope chain from serialized scope info before parsing lazily.

We used to rebuild it in Scope::Analyze but this might lead to mismatch between scopes seen by parser during the first and the second parse of the function.

BUG=v8:1230

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

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