platform/upstream/v8.git
14 years agoSplit utils.h into utils.h and v8utils.h where the former is independent of V8.
lrn@chromium.org [Fri, 5 Nov 2010 08:18:53 +0000 (08:18 +0000)]
Split utils.h into utils.h and v8utils.h where the former is independent of V8.
The code in utils.h can be reused outside of v8 propert, as long as the
propert ASSERT macros are defined.

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

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

14 years agoAdd a test for debug break while running in an infinite loop
sgjesse@chromium.org [Thu, 4 Nov 2010 15:43:12 +0000 (15:43 +0000)]
Add a test for debug break while running in an infinite loop

Fixed a bug where execution termination could get lost while leaving the debugger.
Review URL: http://codereview.chromium.org/4405003

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

14 years agoFix presubmit errors introduced by r5768.
vegorov@chromium.org [Thu, 4 Nov 2010 15:39:06 +0000 (15:39 +0000)]
Fix presubmit errors introduced by r5768.

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

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

14 years agoFix a potential error in Add() macro-instruction on ARM.
whesse@chromium.org [Thu, 4 Nov 2010 15:30:04 +0000 (15:30 +0000)]
Fix a potential error in Add() macro-instruction on ARM.
Review URL: http://codereview.chromium.org/4247004

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

14 years agoImprove positions recording for calls.
vegorov@chromium.org [Thu, 4 Nov 2010 15:12:03 +0000 (15:12 +0000)]
Improve positions recording for calls.

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

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

14 years agoMake presubmit lint the "include" dir.
lrn@chromium.org [Thu, 4 Nov 2010 10:27:39 +0000 (10:27 +0000)]
Make presubmit lint the "include" dir.
Make include dir content pass lint.

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

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

14 years agoFix issue 924 - splitting the empty string.
lrn@chromium.org [Thu, 4 Nov 2010 10:24:17 +0000 (10:24 +0000)]
Fix issue 924 - splitting the empty string.

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

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

14 years agoExtract essential type declarations into separate file.
lrn@chromium.org [Thu, 4 Nov 2010 08:52:49 +0000 (08:52 +0000)]
Extract essential type declarations into separate file.

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

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

14 years agoSimplify preparsing of "new"-expressions.
lrn@chromium.org [Thu, 4 Nov 2010 07:19:06 +0000 (07:19 +0000)]
Simplify preparsing of "new"-expressions.

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

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

14 years agoInvestigate usleep failure on Linux. Add more debug output.
mikhail.naganov@gmail.com [Wed, 3 Nov 2010 18:33:57 +0000 (18:33 +0000)]
Investigate usleep failure on Linux. Add more debug output.

BUG=crbug.com/54592
TEST=none

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

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

14 years agoFix some fotgotten variable names.
antonm@chromium.org [Wed, 3 Nov 2010 13:29:01 +0000 (13:29 +0000)]
Fix some fotgotten variable names.

TBR=vegorov@chromium.org

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

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

14 years agoAttempt to collect more garbage before panicking with out of memory.
antonm@chromium.org [Wed, 3 Nov 2010 13:00:28 +0000 (13:00 +0000)]
Attempt to collect more garbage before panicking with out of memory.

Currently weak handles retain an object for another GC round (oftem times,
major GC round.)  Instrumenting Chromium shows that navigation leaves
many global objects which are only collected in next go.  Let's
attempt to collect more garbage when approacing OOM condition.

This is a better version of rolled out r5455: now it's correctly
rebuilds object groups between additional GCs.

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

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

14 years agoFix assumptions in DoubleToFixed.
floitschV8@gmail.com [Wed, 3 Nov 2010 12:05:01 +0000 (12:05 +0000)]
Fix assumptions in DoubleToFixed.

By luck two errors cancelled each other out.

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

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

14 years agoMinor regexp test cleanup.
sandholm@chromium.org [Wed, 3 Nov 2010 10:30:15 +0000 (10:30 +0000)]
Minor regexp test cleanup.
Review URL: http://codereview.chromium.org/4371002

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

14 years agoPrepare push to trunk. Now working on version 2.5.5.
lrn@chromium.org [Wed, 3 Nov 2010 08:11:13 +0000 (08:11 +0000)]
Prepare push to trunk. Now working on version 2.5.5.

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

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

14 years agoRemove regexp caching.
lrn@chromium.org [Tue, 2 Nov 2010 13:37:59 +0000 (13:37 +0000)]
Remove regexp caching.

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

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

14 years agoRemove all remaining code related to exposing C-frames to the JavaScript debugger
sgjesse@chromium.org [Tue, 2 Nov 2010 12:08:58 +0000 (12:08 +0000)]
Remove all remaining code related to exposing C-frames to the JavaScript debugger

BUG=906
Review URL: http://codereview.chromium.org/4104009

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

14 years agoFix converting NULL to Failure bugs introduced in r5698.
vegorov@chromium.org [Tue, 2 Nov 2010 11:56:10 +0000 (11:56 +0000)]
Fix converting NULL to Failure bugs introduced in r5698.

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

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

14 years agoRemove old preparser option and behavior from the parser.
lrn@chromium.org [Tue, 2 Nov 2010 11:45:47 +0000 (11:45 +0000)]
Remove old preparser option and behavior from the parser.

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

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

14 years agoLanding for Rodolph Perfetta.
ager@chromium.org [Tue, 2 Nov 2010 08:26:33 +0000 (08:26 +0000)]
Landing for Rodolph Perfetta.

Improve V8 VFPv3 runtime detection, to address issue 914.

This patch will check for the exact word vfpv3 as well as 0xc08 (CortexA8
part number) as some earlier kernel didn't report vfpv3 for A8.

Codereview URL: http://codereview.chromium.org/4103013/show

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

14 years agoStand-alone parser template.
lrn@chromium.org [Tue, 2 Nov 2010 07:21:37 +0000 (07:21 +0000)]
Stand-alone parser template.
Uses existing Scanner and ParserLog.
Generates same preparse-data as existing preparser.

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

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

14 years agoPrepare push to trunk. Now working on version 2.5.4.
fschneider@chromium.org [Mon, 1 Nov 2010 12:17:58 +0000 (12:17 +0000)]
Prepare push to trunk. Now working on version 2.5.4.

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

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

14 years agoRefactoring of v8:Arguments similary we did with v8::AccessorInfo (http://codereview...
serya@chromium.org [Mon, 1 Nov 2010 10:51:44 +0000 (10:51 +0000)]
Refactoring of v8:Arguments similary we did with v8::AccessorInfo (codereview.chromium.org/242050). GC-controlled values moved to a separate array.
Review URL: http://codereview.chromium.org/4117010

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

14 years agoRemove invalid asserts from last commit.
ager@chromium.org [Mon, 1 Nov 2010 09:16:39 +0000 (09:16 +0000)]
Remove invalid asserts from last commit.

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

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

14 years agoLanding for Rodolph Perfetta.
ager@chromium.org [Mon, 1 Nov 2010 08:55:40 +0000 (08:55 +0000)]
Landing for Rodolph Perfetta.

Reduces the number of movw/movt instructions generated in ProbeTable. It
improves code size for CompileCallMegamorphic by about 10%.

BUG=none
TEST=none

Review URL: http://codereview.chromium.org/4220004/show

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

14 years agoClear JS function result caches in all global contexts.
vegorov@chromium.org [Fri, 29 Oct 2010 08:13:19 +0000 (08:13 +0000)]
Clear JS function result caches in all global contexts.

Original patch by Mark Lam <mark.lam@palm.com> from Hewlett-Packard Development Company, LP. (http://codereview.chromium.org/4187007)

Fix memory corruption in JSFunctionResultCache::Clear caused by out of bounds writes which was revealed by the patch.

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

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

14 years agoFix some memory leaks in the serialization tests.
erik.corry@gmail.com [Fri, 29 Oct 2010 07:10:41 +0000 (07:10 +0000)]
Fix some memory leaks in the serialization tests.
Review URL: http://codereview.chromium.org/4095009

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

14 years agoStop running some liveedit tests (see issue 915).
erik.corry@gmail.com [Fri, 29 Oct 2010 07:10:14 +0000 (07:10 +0000)]
Stop running some liveedit tests (see issue 915).
Plug tiny memory leaks in test-lock.cc.
Review URL: http://codereview.chromium.org/4161005

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

14 years agoLanding for Justin Schuh.
ager@chromium.org [Fri, 29 Oct 2010 06:15:34 +0000 (06:15 +0000)]
Landing for Justin Schuh.

This switches out the existing constant splitting with masking that works like this:

1. Generate a random 32-bit value at compilation time.
2. XOR the 32-bit constant with the random value.
3. Emit the resulting immediate value along with the XOR operation to generate the original value.

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

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

14 years agoll_prof: minor fixes to the issues found while running with chromium.
vitalyr@chromium.org [Thu, 28 Oct 2010 16:48:10 +0000 (16:48 +0000)]
ll_prof: minor fixes to the issues found while running with chromium.

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

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

14 years agoRemove the patching of the debug break stub
sgjesse@chromium.org [Thu, 28 Oct 2010 11:50:50 +0000 (11:50 +0000)]
Remove the patching of the debug break stub

This is no longer required to break at the function entry. Actually has not been required since the inlined stack check was introduced long time ago.
Review URL: http://codereview.chromium.org/4106005

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

14 years agoAdd gc() calls to some tests to please valgrind.
erik.corry@gmail.com [Thu, 28 Oct 2010 08:43:47 +0000 (08:43 +0000)]
Add gc() calls to some tests to please valgrind.
Review URL: http://codereview.chromium.org/4116005

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

14 years agoLanding for Rodolph Perfetta.
ager@chromium.org [Thu, 28 Oct 2010 07:35:07 +0000 (07:35 +0000)]
Landing for Rodolph Perfetta.

Fix the ARM simulator, the ARM disassembler and extend the stop feature.
The stop feature in the simulator now support enabling, disabling and
counting.

BUG=None
TEST=None

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

14 years agoFix the last USE_SIMULATOR mips issue introduced with my last arm
ager@chromium.org [Thu, 28 Oct 2010 07:33:51 +0000 (07:33 +0000)]
Fix the last USE_SIMULATOR mips issue introduced with my last arm
simulator change.

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

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

14 years agoFix reporting of impossible nested calls of DOM functions.
mikhail.naganov@gmail.com [Wed, 27 Oct 2010 17:03:01 +0000 (17:03 +0000)]
Fix reporting of impossible nested calls of DOM functions.

It turns out that having PC pointing _exactly_ at callback entry
point is quite probable.

BUG=crbug/60753

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

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

14 years agoProfiler on linux: use SA_RESTART signal flag to have most of the syscalls restarted...
vitalyr@chromium.org [Wed, 27 Oct 2010 12:45:46 +0000 (12:45 +0000)]
Profiler on linux: use SA_RESTART signal flag to have most of the syscalls restarted for us.

This change keeps the interactive shell alive.

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

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

14 years agoMake Parser class have no friends and fewer things to depend on it.
lrn@chromium.org [Wed, 27 Oct 2010 12:33:48 +0000 (12:33 +0000)]
Make Parser class have no friends and fewer things to depend on it.

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

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

14 years agoFix a bug that prevents constants from overwriting function values in object literals.
karlklose@chromium.org [Wed, 27 Oct 2010 11:37:59 +0000 (11:37 +0000)]
Fix a bug that prevents constants from overwriting function values in object literals.
BUG=http://code.google.com/p/v8/issues/detail?id=907

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

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

14 years agoSeparate JSON parsing from the JavaScript parser.
lrn@chromium.org [Wed, 27 Oct 2010 09:19:43 +0000 (09:19 +0000)]
Separate JSON parsing from the JavaScript parser.
Switch JSON parsing to creating the value directly instead of createing
code to create the value.

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

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

14 years agoPrepare push to trunk. Now working on version 2.5.3.
lrn@chromium.org [Wed, 27 Oct 2010 08:09:34 +0000 (08:09 +0000)]
Prepare push to trunk. Now working on version 2.5.3.

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

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

14 years agoFaster ascii string case conversion.
vitalyr@chromium.org [Tue, 26 Oct 2010 18:14:45 +0000 (18:14 +0000)]
Faster ascii string case conversion.

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

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

14 years agoImprove sampler resolution on Linux.
mikhail.naganov@gmail.com [Tue, 26 Oct 2010 14:51:31 +0000 (14:51 +0000)]
Improve sampler resolution on Linux.

Instead of relying on itimer signals from kernel, send them
ourselves from a separate thread. This disables an ability
to profile multiple VM threads on Linux, but it anyway doesn't
work on other platforms, so we need a common solution for
it (issue 913 created to track this).

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

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

14 years agoDon't create empty vectors using SubVector.
floitschV8@gmail.com [Tue, 26 Oct 2010 14:13:21 +0000 (14:13 +0000)]
Don't create empty vectors using SubVector.

Fixes build-breakage.

TBR: whesse@chromium.org

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

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

14 years agoUse Vector::SubVector instead of using the constructor.
floitschV8@gmail.com [Tue, 26 Oct 2010 13:30:31 +0000 (13:30 +0000)]
Use Vector::SubVector instead of using the constructor.

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

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

14 years agoAllow forcing the use of a simulator from the build script
ager@chromium.org [Tue, 26 Oct 2010 08:12:17 +0000 (08:12 +0000)]
Allow forcing the use of a simulator from the build script
independently of the host architecture.

Fix build issue for the mips simulator.  The mips simulator does not
currently work, but at least this change does not make it worse.

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

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

14 years agoClean up definitions in simulator.
ager@chromium.org [Mon, 25 Oct 2010 16:40:41 +0000 (16:40 +0000)]
Clean up definitions in simulator.

Clean up the definition of USE_SIMULATOR and its uses.
Review URL: http://codereview.chromium.org/4044003

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

14 years agoLast minute typos from the last change.
erik.corry@gmail.com [Mon, 25 Oct 2010 15:29:06 +0000 (15:29 +0000)]
Last minute typos from the last change.
TBR=vegorov
Review URL: http://codereview.chromium.org/4037006

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

14 years agoMake Failure inherit from MaybeObject instead of Object.
erik.corry@gmail.com [Mon, 25 Oct 2010 15:22:03 +0000 (15:22 +0000)]
Make Failure inherit from MaybeObject instead of Object.
Review URL: http://codereview.chromium.org/3970005

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

14 years agoMake windows-tick-processor respect D8_PATH.
mikhail.naganov@gmail.com [Mon, 25 Oct 2010 15:04:08 +0000 (15:04 +0000)]
Make windows-tick-processor respect D8_PATH.

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

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

14 years agoA little piece of code for aligning heap snapshots vs. object inspection.
mikhail.naganov@gmail.com [Mon, 25 Oct 2010 09:53:39 +0000 (09:53 +0000)]
A little piece of code for aligning heap snapshots vs. object inspection.

Use original names for function infos.

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

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

14 years agoUse size_t for return value from fwrite.
ager@chromium.org [Mon, 25 Oct 2010 08:26:12 +0000 (08:26 +0000)]
Use size_t for return value from fwrite.

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

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

14 years agoUse return value from fwrite in log.cc to please compilers.
ager@chromium.org [Mon, 25 Oct 2010 08:22:23 +0000 (08:22 +0000)]
Use return value from fwrite in log.cc to please compilers.

BUG=453
Review URL: http://codereview.chromium.org/4002005

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

14 years agoFix FreeBSD port.
mikhail.naganov@gmail.com [Sun, 24 Oct 2010 16:09:44 +0000 (16:09 +0000)]
Fix FreeBSD port.

TBR=kasperl@chromium.org
BUG=912

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

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

14 years agoFixing build failure - added a missed file.
serya@chromium.org [Thu, 21 Oct 2010 14:53:19 +0000 (14:53 +0000)]
Fixing build failure - added a missed file.

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

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

14 years agoOptimizing HandleScope. Also fixed HandleScope destruction when API getter throws...
serya@chromium.org [Thu, 21 Oct 2010 14:21:00 +0000 (14:21 +0000)]
Optimizing HandleScope. Also fixed HandleScope destruction when API getter throws an exception.
Review URL: http://codereview.chromium.org/3792003

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

14 years agoClean up the log-stack-tracer test.
fschneider@chromium.org [Thu, 21 Oct 2010 14:19:07 +0000 (14:19 +0000)]
Clean up the log-stack-tracer test.

Create the functions using the normal API and remove some
unnecessary helpers.

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

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

14 years agoImplement --noinline-new flag fully on x64 and ia32 platforms.
whesse@chromium.org [Thu, 21 Oct 2010 13:15:12 +0000 (13:15 +0000)]
Implement --noinline-new flag fully on x64 and ia32 platforms.
Review URL: http://codereview.chromium.org/3961005

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

14 years agoStrtod fast-case that uses DiyFps and cached powers of ten.
floitschV8@gmail.com [Thu, 21 Oct 2010 11:54:32 +0000 (11:54 +0000)]
Strtod fast-case that uses DiyFps and cached powers of ten.

This is a fixed version of r5677.
Review URL: http://codereview.chromium.org/3898007

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

14 years agoRevert r5455 from bleeding_edge: attempt to collect more garbage
ager@chromium.org [Thu, 21 Oct 2010 06:16:52 +0000 (06:16 +0000)]
Revert r5455 from bleeding_edge: attempt to collect more garbage
before panicking with out of memory.

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

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

14 years agoFix build-breakage.
floitschV8@gmail.com [Wed, 20 Oct 2010 15:30:59 +0000 (15:30 +0000)]
Fix build-breakage.
Revert "Strtod fast-case that uses DiyFps and cached powers of ten."

This reverts commit 493da023514021a63e1d3ba3f70348a275ac4042.

TBR: whesse@chromium.org

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

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

14 years agoStrtod fast-case that uses DiyFps and cached powers of ten.
floitschV8@gmail.com [Wed, 20 Oct 2010 15:13:34 +0000 (15:13 +0000)]
Strtod fast-case that uses DiyFps and cached powers of ten.

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

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

14 years agoFix GC error in ES5 read-only properties implementation.
erik.corry@gmail.com [Wed, 20 Oct 2010 13:19:03 +0000 (13:19 +0000)]
Fix GC error in ES5 read-only properties implementation.
Review URL: http://codereview.chromium.org/3920005

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

14 years agoFix the --noinline-new flag on ARM so that it forces us into C++ code
erik.corry@gmail.com [Wed, 20 Oct 2010 12:01:17 +0000 (12:01 +0000)]
Fix the --noinline-new flag on ARM so that it forces us into C++ code
on every allocation.  Fix three places where the generated code couldn't
cope with an unlucky GC.
Review URL: http://codereview.chromium.org/3872003

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

14 years agoPrepare push to trunk. Now working on version 2.5.2. Fixed past tense in ChangeLog.
whesse@chromium.org [Wed, 20 Oct 2010 11:54:20 +0000 (11:54 +0000)]
Prepare push to trunk. Now working on version 2.5.2.  Fixed past tense in ChangeLog.
Review URL: http://codereview.chromium.org/3913007

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

14 years agoPrepare push to trunk. Now working on version 2.5.2.
whesse@chromium.org [Wed, 20 Oct 2010 11:36:42 +0000 (11:36 +0000)]
Prepare push to trunk. Now working on version 2.5.2.
Review URL: http://codereview.chromium.org/3898006

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

14 years agoUpdate x64 RecordWrite comment. When the offset is zero the index
ager@chromium.org [Wed, 20 Oct 2010 08:52:46 +0000 (08:52 +0000)]
Update x64 RecordWrite comment. When the offset is zero the index
should be an untagged 32-bit integer on x64. There are debug mode
asserts in the code that catch tagged integers so we get test
failures if we get it wrong.
Review URL: http://codereview.chromium.org/3928002

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

14 years agoCPU Profiler: postpone moved functions registration until GC completes.
mikhail.naganov@gmail.com [Wed, 20 Oct 2010 08:32:24 +0000 (08:32 +0000)]
CPU Profiler: postpone moved functions registration until GC completes.

An attempt to retrieve security context for a function may fail if the
destination heap space is in an incomplete state. To fix this, we only
record unknown functions discovered at GC object moves, and then
register them after GC completes.

BUG=crbug/59627

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

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

14 years agoRemove vm-state.cc from build files. Forgot to do that when
ager@chromium.org [Wed, 20 Oct 2010 06:47:49 +0000 (06:47 +0000)]
Remove vm-state.cc from build files. Forgot to do that when
removing the file from the repository.
Review URL: http://codereview.chromium.org/3950001

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

14 years agoMake state stack thread local. When using Lockers the state stacks of
ager@chromium.org [Wed, 20 Oct 2010 05:54:23 +0000 (05:54 +0000)]
Make state stack thread local. When using Lockers the state stacks of
multiple threads got mixed up so that the current state could be an
already deallocated state from another thread.
Review URL: http://codereview.chromium.org/3828016

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

14 years agoTry to fix win64 build.
vitalyr@chromium.org [Tue, 19 Oct 2010 16:56:44 +0000 (16:56 +0000)]
Try to fix win64 build.

TBR=mikhail.naganov@gmail.com

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

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

14 years agoSupport profiling based on linux kernel performance events.
vitalyr@chromium.org [Tue, 19 Oct 2010 16:45:11 +0000 (16:45 +0000)]
Support profiling based on linux kernel performance events.

Since 2.6.31 perf_events interface has been available in the
kernel. There's a nice tool called "perf" (linux-2.6/tools/perf) that
uses this interface and provides capabilities similar to oprofile. The
simplest form of its usage is just dumping the raw log (trace) of
events generated by the kernel. In this patch I'm adding a script
(tools/ll_prof.py) to build profiles based on perf trace and our code
log. All the heavy-lifting is done by perf. Compared to oprofile agent
this approach does not require recompilation and supports code moving
garbage collections.

Expected usage is documented in the ll_prof's help. Basically one
should run V8 under perf passing --ll-prof flag and then the produced
logs can be analyzed by tools/ll_prof.py.

The new --ll-prof flag enables logging of generated code object
locations and names (like --log-code), and also of their bodies, which
can be later disassembled and annotated by the script.

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

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

14 years agoLimit end-anchored regexps to testing end of string where possible.
lrn@chromium.org [Tue, 19 Oct 2010 14:00:01 +0000 (14:00 +0000)]
Limit end-anchored regexps to testing end of string where possible.

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

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

14 years agoChange the StackGuard runtime function to take no arguments.
kmillikin@chromium.org [Tue, 19 Oct 2010 11:14:03 +0000 (11:14 +0000)]
Change the StackGuard runtime function to take no arguments.

For some reason the StackGuard runtime function took a dummy argument
that it always ignored.  Change it to take no arguments.

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

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

14 years agoRevert revision 5657.
lrn@chromium.org [Tue, 19 Oct 2010 10:37:54 +0000 (10:37 +0000)]
Revert revision 5657.
TBR: erik.corry

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

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

14 years agoUse finite-length end-anchored regexps to reduce part of regexp that is searched.
lrn@chromium.org [Tue, 19 Oct 2010 09:42:40 +0000 (09:42 +0000)]
Use finite-length end-anchored regexps to reduce part of regexp that is searched.

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

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

14 years agoReturn false from PagedSpace::Contains if the page from an address is not valid.
ager@chromium.org [Tue, 19 Oct 2010 09:16:57 +0000 (09:16 +0000)]
Return false from PagedSpace::Contains if the page from an address is not valid.
This can happen on Mac where C++ code can be in the 4-8K range.
Review URL: http://codereview.chromium.org/3781020

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

14 years agoMake randomized allocations along 64k granularity boundaries to avoid comitting unuse...
sgjesse@chromium.org [Tue, 19 Oct 2010 08:23:47 +0000 (08:23 +0000)]
Make randomized allocations along 64k granularity boundaries to avoid comitting unused memory.

BUG=56036
TEST=None.

Patch by Justin Schuh <jschuh@chromium.org>

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

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

14 years agoClear normalized map caches in all global contexts not just in those reachable from...
vegorov@chromium.org [Tue, 19 Oct 2010 08:14:41 +0000 (08:14 +0000)]
Clear normalized map caches in all global contexts not just in those reachable from ThreadLocalTops.

Issue reported by Mark Lam <mark.lam@palm.com> from Hewlett-Packard Development Company, LP.

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

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

14 years agoUpdate sync profiling changes for Solaris platform.
mikhail.naganov@gmail.com [Mon, 18 Oct 2010 17:34:27 +0000 (17:34 +0000)]
Update sync profiling changes for Solaris platform.

Patch by Maciej Blizinski <blizinski@google.com>

TBR=kasperl@chromium.org
BUG=901

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

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

14 years agoFix TestInternalWeakLists test
vegorov@chromium.org [Mon, 18 Oct 2010 17:01:30 +0000 (17:01 +0000)]
Fix TestInternalWeakLists test

Releasing context handle is not enough to release context, it might be indirectly reachable through compilation cache.

TBR=sgjesse@chromium.org

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

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

14 years agoDisable double strtod in ARM-simulator.
floitschV8@gmail.com [Mon, 18 Oct 2010 16:37:19 +0000 (16:37 +0000)]
Disable double strtod in ARM-simulator.

The ARM simulator is compiled for 32bits. On Linux the floating-point
operations are hence invalid for the simulator too.

Fixes build-breakage.

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

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

14 years agoFix double-rounding in strtod.
floitschV8@gmail.com [Mon, 18 Oct 2010 15:19:39 +0000 (15:19 +0000)]
Fix double-rounding in strtod.

Don't use floating-point operations on Linux,x86 to compute strtod. Since the
floating-point stack on Linux is set to 80bit double rounding may occure.

When falling back to gay_strtod append several '0's so that Gay doesn't take
the same shortcut either.

BUG=
TEST=

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

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

14 years agoLink all global contexts into a weak list.
vegorov@chromium.org [Mon, 18 Oct 2010 14:59:03 +0000 (14:59 +0000)]
Link all global contexts into a weak list.

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

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

14 years agoSConstruct: make help work even if guesses failed.
vitalyr@chromium.org [Mon, 18 Oct 2010 14:39:59 +0000 (14:39 +0000)]
SConstruct: make help work even if guesses failed.

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

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

14 years agoFix bug in comparison of two smis that differ by MIN_SMI on full compiler on all...
whesse@chromium.org [Mon, 18 Oct 2010 14:04:28 +0000 (14:04 +0000)]
Fix bug in comparison of two smis that differ by MIN_SMI on full compiler on all platforms.
Review URL: http://codereview.chromium.org/3767016

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

14 years agoGet rid of requested size in RetryAfterGC.
antonm@chromium.org [Mon, 18 Oct 2010 12:58:56 +0000 (12:58 +0000)]
Get rid of requested size in RetryAfterGC.

This was only used by Heap::CollectGarbage to check if after GC
available space is bigger than was requested, but nobody checked
the value returned by Heap::CollectGarbage, so requested size
was efficiently unused.

However, it may trigger spurious out of memory exceptions if requested
size is big enough.

BUG=http://code.google.com/p/chromium/issues/detail?id=54580

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

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

14 years agoTry to simplify the semantics of the profiling code by making
kasperl@chromium.org [Mon, 18 Oct 2010 12:37:07 +0000 (12:37 +0000)]
Try to simplify the semantics of the profiling code by making
sure to suspend the thread (if necessary) on mac/win32 before
reading the VM state.

Avoid dealing with signals delivered to non-VM threads on
linux no matter if we're profiling or not.
Review URL: http://codereview.chromium.org/3845006

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

14 years agoFix missing check for GC failure in number dictionary code.
erik.corry@gmail.com [Mon, 18 Oct 2010 12:16:38 +0000 (12:16 +0000)]
Fix missing check for GC failure in number dictionary code.
Review URL: http://codereview.chromium.org/3781014

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

14 years agoPrepare push to trunk. Now working on version 2.5.1.
vegorov@chromium.org [Mon, 18 Oct 2010 11:06:51 +0000 (11:06 +0000)]
Prepare push to trunk. Now working on version 2.5.1.
Review URL: http://codereview.chromium.org/3748013

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

14 years agoFix compilation error on ARM with gcc 4.4. Remove NULL check of pointer to member...
whesse@chromium.org [Mon, 18 Oct 2010 10:23:45 +0000 (10:23 +0000)]
Fix compilation error on ARM with gcc 4.4.  Remove NULL check of pointer to member, which was dead code (never failed).
Review URL: http://codereview.chromium.org/3793011

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

14 years agoNew Heap profiler: add dumping HeapNumbers and InternalFields to snapshot.
mikhail.naganov@gmail.com [Mon, 18 Oct 2010 09:15:38 +0000 (09:15 +0000)]
New Heap profiler: add dumping HeapNumbers and InternalFields to snapshot.

HeapNumbers do consume memory, so it's worth dumping them. However, we
don't dump their values, as they are not as self-descriptive as values
of strings, and they will increase snapshot size. Storing heap numbers
values can be added if we will feel a sufficient demand for that.

InternalFields are used, e.g. for storing references to DOM nodes
event handlers.

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

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

14 years agoDo not return the constant singleton float -0.0 from UnaryOpStub, because it may...
whesse@chromium.org [Fri, 15 Oct 2010 14:50:49 +0000 (14:50 +0000)]
Do not return the constant singleton float -0.0 from UnaryOpStub, because it may be overwritten, on X64 platform.
Review URL: http://codereview.chromium.org/3748007

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

14 years agoRemove trailing spaces from js files.
ricow@chromium.org [Fri, 15 Oct 2010 13:03:59 +0000 (13:03 +0000)]
Remove trailing spaces from js files.

This is a cosmetic change only.

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

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

14 years agoAdd stop-at flag implementation to full compiler on all platforms.
whesse@chromium.org [Fri, 15 Oct 2010 11:45:05 +0000 (11:45 +0000)]
Add stop-at flag implementation to full compiler on all platforms.
Review URL: http://codereview.chromium.org/3791009

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

14 years agoFix new-space-too-small test crash on 64 bit VM.
erik.corry@gmail.com [Fri, 15 Oct 2010 10:45:18 +0000 (10:45 +0000)]
Fix new-space-too-small test crash on 64 bit VM.
Review URL: http://codereview.chromium.org/3778009

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

14 years agoFix creation of an exception to avoid rare GC corner case.
erik.corry@gmail.com [Fri, 15 Oct 2010 07:54:20 +0000 (07:54 +0000)]
Fix creation of an exception to avoid rare GC corner case.
Review URL: http://codereview.chromium.org/3782009

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

14 years agoFix the version number in the ChangeLog.
ager@chromium.org [Thu, 14 Oct 2010 18:54:53 +0000 (18:54 +0000)]
Fix the version number in the ChangeLog.

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

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

14 years agoWork around Windows bug. Use different constants.
floitschV8@gmail.com [Thu, 14 Oct 2010 15:54:51 +0000 (15:54 +0000)]
Work around Windows bug. Use different constants.

Windows' strtod doesn't correctly read 3e-324 a the lowest denormal, but returns 0.0 instead.
Using 4e-324 is still the same value and works.

BUG=
TEST=
Review URL: http://codereview.chromium.org/3744008

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

14 years agoWeed out extreme exponents in strtod.
floitschV8@gmail.com [Thu, 14 Oct 2010 13:47:48 +0000 (13:47 +0000)]
Weed out extreme exponents in strtod.

If a decimal exponent is less than -309 return 0.0.
If a decimal exponent is greater than +324 return +infinity.

BUG=
TEST=

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

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

14 years agoRestructure RegExp exec cache code.
lrn@chromium.org [Thu, 14 Oct 2010 12:54:00 +0000 (12:54 +0000)]
Restructure RegExp exec cache code.

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

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