platform/upstream/v8.git
12 years agoPrepare push to trunk. Now working on version 3.9.23.
jkummerow@chromium.org [Tue, 20 Mar 2012 12:57:17 +0000 (12:57 +0000)]
Prepare push to trunk.  Now working on version 3.9.23.

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9748013

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

12 years agoFix assertion failure due to too many deoptimization ids.
fschneider@chromium.org [Tue, 20 Mar 2012 08:49:23 +0000 (08:49 +0000)]
Fix assertion failure due to too many deoptimization ids.

The failing mozilla test was caused by more deoptimizations
introduced by --always-opt and r11087.

We abort code generation in release mode, so we should do
the same in debug mode.
Review URL: https://chromiumcodereview.appspot.com/9752004

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

12 years agoAdd Zhongping Wang <kewpie.w.zp@gmail.com> to AUTHORS
vegorov@chromium.org [Tue, 20 Mar 2012 08:12:31 +0000 (08:12 +0000)]
Add Zhongping Wang <kewpie.w.zp@gmail.com> to AUTHORS

Fix compilation failure on Win x64 builder introduced by r11084

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9748004

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

12 years agoEnable experimental profiler by default
jkummerow@chromium.org [Mon, 19 Mar 2012 17:29:25 +0000 (17:29 +0000)]
Enable experimental profiler by default

Review URL: https://chromiumcodereview.appspot.com/9726004

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

12 years agoMark invalid Test262 test cases correctly.
mstarzinger@chromium.org [Mon, 19 Mar 2012 16:28:18 +0000 (16:28 +0000)]
Mark invalid Test262 test cases correctly.

R=ulan@chromium.org
TEST=test262/S15.9.3.1_A5_T?

Review URL: https://chromiumcodereview.appspot.com/9719036

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

12 years agoInsert explicit deoptimization for named loads that have "uninitialized" type feedback.
fschneider@chromium.org [Mon, 19 Mar 2012 15:54:37 +0000 (15:54 +0000)]
Insert explicit deoptimization for named loads that have "uninitialized" type feedback.

We already do this for binary-ops, unary-ops and comparisons. Typefeedback for named loads can now also
be in "uninitialized" state which means that the corresponding load IC was never executed.
Review URL: https://chromiumcodereview.appspot.com/9722041

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

12 years agoTemporary disable Test262 tests failing on buildbot.
mstarzinger@chromium.org [Mon, 19 Mar 2012 12:22:56 +0000 (12:22 +0000)]
Temporary disable Test262 tests failing on buildbot.

R=jkummerow@chromium.org
TEST=test262/S15.9.3.1_A5_T?

Review URL: https://chromiumcodereview.appspot.com/9724034

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

12 years agoWhen transitioning LoadIC to megamorphic case place monomorphic stubs into stub cache.
vegorov@chromium.org [Mon, 19 Mar 2012 12:09:22 +0000 (12:09 +0000)]
When transitioning LoadIC to megamorphic case place monomorphic stubs into stub cache.

Otherwise if function is optimized immediately after transition type oracle will be unable to gather enough maps from stub cache and graph builder will emit HLoadNamedGeneric instead of HLoadNamedPolymorphic.

R=fschneider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9705102

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

12 years agoImplement a hash based look-up to speed up containing address check in large
vegorov@chromium.org [Mon, 19 Mar 2012 12:08:20 +0000 (12:08 +0000)]
Implement a hash based look-up to speed up containing address check in large
object space. Before, it was a link-list based look-up, and make this function
a little bit 'hot' from profile point.

BUG=v8:853
TEST=

Review URL: https://chromiumcodereview.appspot.com/9634005
Patch from Zhongping Wang <kewpie.w.zp@gmail.com>.

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

12 years agoPrepare push to trunk. Now working on version 3.9.22.
rossberg@chromium.org [Mon, 19 Mar 2012 10:22:38 +0000 (10:22 +0000)]
Prepare push to trunk.  Now working on version 3.9.22.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9724031

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

12 years agoFix FLAG_always_opt and tools/push-to-trunk.sh
jkummerow@chromium.org [Mon, 19 Mar 2012 10:16:38 +0000 (10:16 +0000)]
Fix FLAG_always_opt and tools/push-to-trunk.sh

TEST=tests with --always-opt don't ASSERT; push to trunk workflow works.

Review URL: https://chromiumcodereview.appspot.com/9718035

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

12 years agoAdd API call that identifies strings that are guaranteed
erik.corry@gmail.com [Mon, 19 Mar 2012 09:51:36 +0000 (09:51 +0000)]
Add API call that identifies strings that are guaranteed
only to contain ASCII characters.
Review URL: https://chromiumcodereview.appspot.com/9724022

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

12 years agoPrepare push to trunk. Now working on version 3.9.21.
rossberg@chromium.org [Mon, 19 Mar 2012 09:47:46 +0000 (09:47 +0000)]
Prepare push to trunk.  Now working on version 3.9.21.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9716030

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

12 years agoMark Code objects as not optimizable if their FunctionLiteral contains unoptimizable...
jkummerow@chromium.org [Mon, 19 Mar 2012 08:44:44 +0000 (08:44 +0000)]
Mark Code objects as not optimizable if their FunctionLiteral contains unoptimizable AST nodes.

This ensures that we never try to optimize such functions.

Review URL: https://chromiumcodereview.appspot.com/9700062

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

12 years agoRe-enable constructor inlining and inline === comparison with boolean constants.
fschneider@chromium.org [Mon, 19 Mar 2012 07:51:37 +0000 (07:51 +0000)]
Re-enable constructor inlining and inline === comparison with boolean constants.

This change reverts r10974 which disabled those two optimizations.
They were not responsible for the problem in earley-boyer.

BUG=v8:2009
Review URL: https://chromiumcodereview.appspot.com/9699117

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

12 years agoRevert dynamic frame alignment (r9415)
fschneider@chromium.org [Mon, 19 Mar 2012 07:45:06 +0000 (07:45 +0000)]
Revert dynamic frame alignment (r9415)

Marking aligned frames with a marker can produce false positives since
an optimized frame spill slot may be mistakenly seen as a marker value.

It also breaks the debugger reproducably: Tested when enabling alignment
for all functions and running the debugger unit tests.

BUG=v8:2009
TEST=no crashes in EarleyBoyer
Review URL: https://chromiumcodereview.appspot.com/9703110

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

12 years agoMIPS: Properly initialize element-transitioning array literals on ARM.
danno@chromium.org [Fri, 16 Mar 2012 16:18:20 +0000 (16:18 +0000)]
MIPS: Properly initialize element-transitioning array literals on ARM.

Port r10624 (172d021).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9689010
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoFix bugs in tools/merge-to-branch.sh
danno@chromium.org [Fri, 16 Mar 2012 16:04:01 +0000 (16:04 +0000)]
Fix bugs in tools/merge-to-branch.sh

Fail if patches fail to apply and correctly match branches in delete_branch().

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9701102

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

12 years agoFix test harness to not break on aborts.
mstarzinger@chromium.org [Fri, 16 Mar 2012 14:33:55 +0000 (14:33 +0000)]
Fix test harness to not break on aborts.

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9706100

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

12 years agoRecord the addresses of pages that are unmapped to aid
erik.corry@gmail.com [Fri, 16 Mar 2012 14:13:22 +0000 (14:13 +0000)]
Record the addresses of pages that are unmapped to aid
in post mortem crash dump analysis.
Review URL: https://chromiumcodereview.appspot.com/9700061

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

12 years agoUse CopyElements for SetFastDoubleElementsCapacityAndLength
danno@chromium.org [Fri, 16 Mar 2012 13:59:59 +0000 (13:59 +0000)]
Use CopyElements for SetFastDoubleElementsCapacityAndLength

Review URL: https://chromiumcodereview.appspot.com/9663002

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

12 years agoSwitch Heap::RecordStats to use PagedSpace::SizeOfObjects instead of PagedSpace:...
vegorov@chromium.org [Fri, 16 Mar 2012 13:52:43 +0000 (13:52 +0000)]
Switch Heap::RecordStats to use PagedSpace::SizeOfObjects instead of PagedSpace::Size.

This would allow us to get more precise estimate of heap fragmentation on OOM.

R=erik.corry@gmail.com

Review URL: https://chromiumcodereview.appspot.com/9700096

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

12 years agoAdd flag to always call DebugBreak on abort
danno@chromium.org [Fri, 16 Mar 2012 13:43:04 +0000 (13:43 +0000)]
Add flag to always call DebugBreak on abort

R=vegorov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9706097

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

12 years agoExperimental profiler: split RegExp.test() for better optimization.
yangguo@chromium.org [Thu, 15 Mar 2012 17:21:42 +0000 (17:21 +0000)]
Experimental profiler: split RegExp.test() for better optimization.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9701064

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

12 years agoMore fixes for V8 benchmark version 7.
ulan@chromium.org [Thu, 15 Mar 2012 17:13:50 +0000 (17:13 +0000)]
More fixes for V8 benchmark version 7.

R=rossberg@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9701067

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

12 years agoUpdate revision.html for V8 benchmark version 7.
ulan@chromium.org [Thu, 15 Mar 2012 16:57:10 +0000 (16:57 +0000)]
Update revision.html for V8 benchmark version 7.

R=rossberg@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9702078

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

12 years agoFix clang template weirdness.
svenpanne@chromium.org [Thu, 15 Mar 2012 15:01:59 +0000 (15:01 +0000)]
Fix clang template weirdness.

TBR=rossberg@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9710001

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

12 years agoFix minor inconsistency with inline function list.
mstarzinger@chromium.org [Thu, 15 Mar 2012 14:38:45 +0000 (14:38 +0000)]
Fix minor inconsistency with inline function list.

R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9699075

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

12 years agoDebugger: naive implementation of "step into Function.prototype.bind".
pfeldman@chromium.org [Thu, 15 Mar 2012 14:17:22 +0000 (14:17 +0000)]
Debugger: naive implementation of "step into Function.prototype.bind".

Review URL: https://chromiumcodereview.appspot.com/9705018

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

12 years agoFix declarations escaping global strict eval.
mstarzinger@chromium.org [Thu, 15 Mar 2012 13:02:21 +0000 (13:02 +0000)]
Fix declarations escaping global strict eval.

According to ES5 10.4.2(3), eval calls of strict code always require
their own lexical and variable environment. For now we just add a new
scope when we parse the strict mode directive. The clean solution would
be to always have this sope present (even for global eval calls) and
adapt variable binding to cope with that.

R=rossberg@chromium.org
BUG=v8:1624
TEST=mjsunit/regress/regress-1624,test262/S10.4.2.1_A1

Review URL: https://chromiumcodereview.appspot.com/9703021

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

12 years agoMIPS: Inline functions that use arguments object in f.apply(o, arguments) pattern.
vegorov@chromium.org [Thu, 15 Mar 2012 12:29:20 +0000 (12:29 +0000)]
MIPS: Inline functions that use arguments object in f.apply(o, arguments) pattern.

Port r11008 (f7a04e6f9).

Original commit message:

Support arguments materialization after deoptimization in all frames (not only in topmost one).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9677053
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoImprove representation inference for HUnknownOSRValue.
vegorov@chromium.org [Thu, 15 Mar 2012 12:21:29 +0000 (12:21 +0000)]
Improve representation inference for HUnknownOSRValue.

Use corresponding phi from the loop entry as a hint to infer proper representation for HUnkownOSRValue and dependent phis.

R=fschneider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9704012

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

12 years agoDebugger: add ability to set script source from within OnBeforeCompile.
pfeldman@chromium.org [Thu, 15 Mar 2012 11:51:26 +0000 (11:51 +0000)]
Debugger: add ability to set script source from within OnBeforeCompile.

Review URL: https://chromiumcodereview.appspot.com/9677043

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

12 years agoDon't use an explicit s0 in ClampDoubleToUint8.
danno@chromium.org [Thu, 15 Mar 2012 09:52:48 +0000 (09:52 +0000)]
Don't use an explicit s0 in ClampDoubleToUint8.

R=fschneider@chromium.org
BUG=v8:2004
TEST=test/mjsunit/pixel-array-rounding.js

Review URL: https://chromiumcodereview.appspot.com/9702027

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

12 years agoFixed breakage caused by r11051 on non-ia32 platforms.
svenpanne@chromium.org [Thu, 15 Mar 2012 09:28:49 +0000 (09:28 +0000)]
Fixed breakage caused by r11051 on non-ia32 platforms.

TBR=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9703056

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

12 years agoEnsure that generated code for object literals will call Runtime_DefineOrRedefineAcce...
svenpanne@chromium.org [Thu, 15 Mar 2012 07:13:46 +0000 (07:13 +0000)]
Ensure that generated code for object literals will call Runtime_DefineOrRedefineAccessorProperty only once per accessor property.

To do this, we collect all accessor properties in a first pass and emit code for
defining those properties afterwards in a second pass.

As a finger exercise, the table used for collecting accessors has a (subset of
an) STL-like iterator interface, including STL-like names and operators.
Although C++ is quite verbose here (as usual, but partly this is caused by our
current slightly clumsy classes/templates), things work out quite nicely and it
cleans up some confusion, e.g. a table entry is not an iterator etc.
Everything compiles into very efficient code, e.g. the loop condition 'it !=
accessor_table.end()' compiles into a single 'testl' instruction on ia32.
+1 for using standard APIs!

Review URL: https://chromiumcodereview.appspot.com/9691040

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

12 years agoFix wrapping of receiver for non-strict callbacks.
mstarzinger@chromium.org [Wed, 14 Mar 2012 17:42:19 +0000 (17:42 +0000)]
Fix wrapping of receiver for non-strict callbacks.

R=rossberg@chromium.org
BUG=v8:1973
TEST=mjsunit/regress/regress-1973

Review URL: https://chromiumcodereview.appspot.com/9705020

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

12 years agoFix --use-strict flag in combination with --harmony[-scoping].
rossberg@chromium.org [Wed, 14 Mar 2012 17:25:01 +0000 (17:25 +0000)]
Fix --use-strict flag in combination with --harmony[-scoping].

R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9706025

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

12 years agoRemove write barriers for raw smi accessors.
yangguo@chromium.org [Wed, 14 Mar 2012 16:16:46 +0000 (16:16 +0000)]
Remove write barriers for raw smi accessors.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9702026

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

12 years agoFix passing of shard options in test wrapper.
mstarzinger@chromium.org [Wed, 14 Mar 2012 14:52:52 +0000 (14:52 +0000)]
Fix passing of shard options in test wrapper.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9702022

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

12 years agoRemove unused local variable after r11023.
mstarzinger@chromium.org [Wed, 14 Mar 2012 14:08:36 +0000 (14:08 +0000)]
Remove unused local variable after r11023.

R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9699023

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

12 years agoFunction declarations shall not overwrite read-only global properties.
rossberg@chromium.org [Wed, 14 Mar 2012 13:51:00 +0000 (13:51 +0000)]
Function declarations shall not overwrite read-only global properties.

R=mstarzinger@chromium.org
BUG=115452
TEST=mjsunit/regress/regress-115452

Review URL: https://chromiumcodereview.appspot.com/9696035

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

12 years agoIncrease executable size limit.
ulan@chromium.org [Wed, 14 Mar 2012 13:21:44 +0000 (13:21 +0000)]
Increase executable size limit.

R=vegorov@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9695002

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

12 years agoDon't take UnkownOSRValues into account when infering Phi's representation.
vegorov@chromium.org [Wed, 14 Mar 2012 12:59:49 +0000 (12:59 +0000)]
Don't take UnkownOSRValues into account when infering Phi's representation.

For DIV with uninitialized result assume double result representation.

R=fschneider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9664070

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

12 years agoPrepare push to trunk. Now working on version 3.9.20.
mstarzinger@chromium.org [Wed, 14 Mar 2012 11:08:06 +0000 (11:08 +0000)]
Prepare push to trunk.  Now working on version 3.9.20.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9703018

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

12 years agoAvoid implicit bool->int cast in CollectAllGarbage call
jkummerow@chromium.org [Wed, 14 Mar 2012 10:19:37 +0000 (10:19 +0000)]
Avoid implicit bool->int cast in CollectAllGarbage call

R=mstarzinger@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9699016

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

12 years agoChange --hydrogen-filter to allow specifying a negative filter for optimized functions.
fschneider@chromium.org [Wed, 14 Mar 2012 09:45:17 +0000 (09:45 +0000)]
Change --hydrogen-filter to allow specifying a negative filter for optimized functions.

When prepending a '-' to the function name, the function will not be optimized.

--hydrogen-filter=foo works as before.

--hydrogen-filter=-foo means don't optimize foo.
Review URL: https://chromiumcodereview.appspot.com/9691042

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

12 years agoFix common.gypi after r11032
jkummerow@chromium.org [Tue, 13 Mar 2012 18:03:00 +0000 (18:03 +0000)]
Fix common.gypi after r11032

TBR=yangguo@chromium.org
TEST=Win Reliability Builder stops complaining

Review URL: https://chromiumcodereview.appspot.com/9693052

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

12 years agoFix test.py for Python 2.7.
yangguo@chromium.org [Tue, 13 Mar 2012 17:19:24 +0000 (17:19 +0000)]
Fix test.py for Python 2.7.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9695053
Patch from Bert Belder <bertbelder@gmail.com>.

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

12 years agoMIPS: Added support for Loongson architectures.
yangguo@chromium.org [Tue, 13 Mar 2012 16:18:30 +0000 (16:18 +0000)]
MIPS: Added support for Loongson architectures.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9692048
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoFix "already merging" safety check in merge-to-branch.sh
jkummerow@chromium.org [Tue, 13 Mar 2012 15:57:31 +0000 (15:57 +0000)]
Fix "already merging" safety check in merge-to-branch.sh

R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9689062

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

12 years agoSplit up String.split to deal with normal separator and regexp separator separately.
yangguo@chromium.org [Tue, 13 Mar 2012 15:44:19 +0000 (15:44 +0000)]
Split up String.split to deal with normal separator and regexp separator separately.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9694041

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

12 years agoStore entry id as 32-bit int.
alexeif@chromium.org [Tue, 13 Mar 2012 15:42:26 +0000 (15:42 +0000)]
Store entry id as 32-bit int.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9695046

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

12 years agoAlways create HArgumentsObject on function entry.
vegorov@chromium.org [Tue, 13 Mar 2012 14:45:03 +0000 (14:45 +0000)]
Always create HArgumentsObject on function entry.

We do not know if we are going to need it and creating it lazyly might cause us to insert it at the block that does not dominate all uses.

R=mstarzinger@chromium.org
TEST=mjsunit/compiler/inline-arguments.js

Review URL: https://chromiumcodereview.appspot.com/9692046

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

12 years agoImplement non-generic stores for object literals.
mstarzinger@chromium.org [Tue, 13 Mar 2012 12:11:46 +0000 (12:11 +0000)]
Implement non-generic stores for object literals.

This uses the type feedback already present for computed value stores
into object literals to generate optimized stores in Crankshaft, thus
avoiding unnecessary generic stores with side effects.

R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9692036

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

12 years agoEnsure there is a smi check of the receiver for global load and call ICs.
kmillikin@chromium.org [Tue, 13 Mar 2012 11:39:30 +0000 (11:39 +0000)]
Ensure there is a smi check of the receiver for global load and call ICs.

There was a comment that, for such ICs specialized to the global object,
they were always contextual loads.  This is very brittle.  It is a
micro-optimization that relies too much on the way that things happen to
work today.

Instead, never omit the smi check because it's safer.

R=vegorov@chromium.org
BUG=117794
TEST=regress-117794.js

Review URL: https://chromiumcodereview.appspot.com/9691038

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

12 years agoExperimental Profiler: tweak type info threshold.
yangguo@chromium.org [Tue, 13 Mar 2012 11:38:37 +0000 (11:38 +0000)]
Experimental Profiler: tweak type info threshold.

Also included: simplify String.slice.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9694033

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

12 years agoFix DEPS file patching in push-to-trunk.sh
jkummerow@chromium.org [Tue, 13 Mar 2012 11:01:28 +0000 (11:01 +0000)]
Fix DEPS file patching in push-to-trunk.sh

R=yangguo@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9693037

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

12 years agoAdd type feedback info type to instance type list macro.
ulan@chromium.org [Tue, 13 Mar 2012 11:01:07 +0000 (11:01 +0000)]
Add type feedback info type to instance type list macro.

R=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9694032

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

12 years agoPrepare push to trunk. Now working on version 3.9.19.
yangguo@chromium.org [Tue, 13 Mar 2012 08:07:35 +0000 (08:07 +0000)]
Prepare push to trunk.  Now working on version 3.9.19.

R=svenpanne@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9696030

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

12 years agoRemove static Mutex from math function intializers.
yangguo@chromium.org [Mon, 12 Mar 2012 17:15:13 +0000 (17:15 +0000)]
Remove static Mutex from math function intializers.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9662064

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

12 years agoUse lazy instance initializer to remove static initializers in two places.
fschneider@chromium.org [Mon, 12 Mar 2012 16:10:53 +0000 (16:10 +0000)]
Use lazy instance initializer to remove static initializers in two places.
Review URL: https://chromiumcodereview.appspot.com/9664067

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

12 years agoFix compile warning on 64 bit Windows.
erik.corry@gmail.com [Mon, 12 Mar 2012 15:26:05 +0000 (15:26 +0000)]
Fix compile warning on 64 bit Windows.
Review URL: https://chromiumcodereview.appspot.com/9690019

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

12 years agoEnsure consistency of Math.sqrt on Intel platforms.
yangguo@chromium.org [Mon, 12 Mar 2012 14:56:04 +0000 (14:56 +0000)]
Ensure consistency of Math.sqrt on Intel platforms.

BUG=
TEST=regress-sqrt.js

Review URL: https://chromiumcodereview.appspot.com/9690010

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

12 years agoFix broken build on Win32 due to r11010.
fschneider@chromium.org [Mon, 12 Mar 2012 14:41:59 +0000 (14:41 +0000)]
Fix broken build on Win32 due to r11010.
Review URL: https://chromiumcodereview.appspot.com/9666055

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

12 years agoLanding for pliard@chromium.org: Remove static initializers in v8.
fschneider@chromium.org [Mon, 12 Mar 2012 13:56:56 +0000 (13:56 +0000)]
Landing for pliard@chromium.org: Remove static initializers in v8.

This change includes two CLs by pliard@chromium.org:

1. http://codereview.chromium.org/9447052/ (Add CallOnce() and simple LazyInstance implementation):

Note that this implementation of LazyInstance does not handle global destructors (i.e. the lazy instances are never deleted).

This CL was initially reviewed on codereview.appspot.com:
http://codereview.appspot.com/5687064/

2.  http://codereview.chromium.org/9455088/ (Remove static initializers in v8):
This CL depends on CL 9447052 (adding CallOnce and LazyInstance).
It is based on a patch sent by Digit.

With this patch applied, we have only one static initializer left (in atomicops_internals_x86_gcc.cc). This static initializer populates a structure used by x86 atomic operations. It seems that we can hardly remove it. If possible, it will be removed in a next CL.

This CL also modifies the presubmit script to check the number of static initializers.

BUG=v8:1859
Review URL: https://chromiumcodereview.appspot.com/9666052

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

12 years agoUnbreak Windows build after UTF-16 change (sys/types.h does not define
erik.corry@gmail.com [Mon, 12 Mar 2012 13:18:30 +0000 (13:18 +0000)]
Unbreak Windows build after UTF-16 change (sys/types.h does not define
int32_t on Windows).
Review URL: https://chromiumcodereview.appspot.com/9669051

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

12 years agoInline functions that use arguments object in f.apply(o, arguments) pattern.
vegorov@chromium.org [Mon, 12 Mar 2012 12:49:41 +0000 (12:49 +0000)]
Inline functions that use arguments object in f.apply(o, arguments) pattern.

Support arguments materialization after deoptimization in all frames (not only in topmost one).

R=fschneider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9643001

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

12 years agoFix input and output to handle UTF16 surrogate pairs.
erik.corry@gmail.com [Mon, 12 Mar 2012 12:35:28 +0000 (12:35 +0000)]
Fix input and output to handle UTF16 surrogate pairs.
Review URL: https://chromiumcodereview.appspot.com/9600009

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

12 years agoFix missing initialization of mark-compact flags.
mstarzinger@chromium.org [Mon, 12 Mar 2012 12:17:46 +0000 (12:17 +0000)]
Fix missing initialization of mark-compact flags.

R=svenpanne@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9662056

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

12 years agoAdd explicit dependency on v8_base
jkummerow@chromium.org [Mon, 12 Mar 2012 10:35:50 +0000 (10:35 +0000)]
Add explicit dependency on v8_base

This is necessary in order to link v8_shell (for host) with the Android
toolchain.

Without it, the line in the makefile is:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_snapshot.a $(obj).host/v8/tools/gyp/libv8_base.a

Now it appears as:
$(builddir)/v8_shell: LD_INPUTS := $(OBJS) $(obj).host/v8/tools/gyp/libv8_base.a $(obj).host/v8/tools/gyp/libv8_snapshot.a

and it successfully links.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9668013
Patch from Yaron Friedman <yfriedman@chromium.org>.

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

12 years agoFix heuristic triggering incremental marking.
yangguo@chromium.org [Mon, 12 Mar 2012 09:39:12 +0000 (09:39 +0000)]
Fix heuristic triggering incremental marking.

This changes the heuristic that starts incremental marking to be based
on a more accurate heap size estimation. Pages being swept lazily can be
accounted using the live bytes counter.

R=mstarzinger@chromium.org
BUG=v8:1682

Review URL: https://chromiumcodereview.appspot.com/9674001

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

12 years agoMIPS: Port Date-related changes.
ulan@chromium.org [Mon, 12 Mar 2012 08:46:25 +0000 (08:46 +0000)]
MIPS: Port Date-related changes.

Port r10981 (5ea074), r10982 (5f0d413) and r10983 (663a897d5).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9668045
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoMIPS: Inline inequality compares of strings into CompareICStub
yangguo@chromium.org [Mon, 12 Mar 2012 08:24:10 +0000 (08:24 +0000)]
MIPS: Inline inequality compares of strings into CompareICStub

Port r10988 (c6c9ebb5).

Original commit message:

Inline inequality compares of strings into CompareICStub instead of jumping into the CompareStub that handles the generic case.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9669026
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoPrepare push to trunk. Now working on version 3.9.18.
svenpanne@chromium.org [Mon, 12 Mar 2012 08:15:43 +0000 (08:15 +0000)]
Prepare push to trunk.  Now working on version 3.9.18.

R=jkummerow@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9690004

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

12 years agoV8 crashes when profile generator allocates a buffer for HeapEntry'es bigger than...
loislo@chromium.org [Sun, 11 Mar 2012 15:04:50 +0000 (15:04 +0000)]
V8 crashes when profile generator allocates a buffer for HeapEntry'es bigger than 2Gb.

BUG=none
TEST=profile-generator tests

Review URL: https://chromiumcodereview.appspot.com/9632020

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

12 years agoStyle fix after reapplying the patch r10996.
loislo@chromium.org [Sun, 11 Mar 2012 07:35:21 +0000 (07:35 +0000)]
Style fix after reapplying the patch r10996.

BUG=none
TEST=none
TBR=mikhail.naganov@gmail.com

Review URL: https://chromiumcodereview.appspot.com/9664042

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

12 years agoWe have a problem with really big apps. The snapshot for such pages doesn't fit into...
loislo@chromium.org [Sun, 11 Mar 2012 07:02:19 +0000 (07:02 +0000)]
We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array.
This will reduce the pressure. At this moment it is not possible because the snapshot uses uint64_t for ids.

BUG=none
TEST=profiler-generator tests

Review URL: https://chromiumcodereview.appspot.com/9617006

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

12 years agoRevert "We have a problem with really big apps. The snapshot for such pages doesn...
loislo@chromium.org [Sun, 11 Mar 2012 06:12:10 +0000 (06:12 +0000)]
Revert "We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array."

This reverts commit 8c08ecc2782d5a8c60eb0692ec8f13d6da3cdc58.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9666038

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

12 years agoWe have a problem with really big apps. The snapshot for such pages doesn't fit into...
loislo@chromium.org [Sun, 11 Mar 2012 06:00:55 +0000 (06:00 +0000)]
We have a problem with really big apps. The snapshot for such pages doesn't fit into JS heap on DevTools front-end side. I'd like to move the snapshot's nodes data into Int32Array.
This will reduce the pressure. At this moment it is not possible because the snapshot uses uint64_t for ids.

BUG=none
TEST=profiler-generator tests

Review URL: https://chromiumcodereview.appspot.com/9617006

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

12 years agoFixed VFP detection through compiler defines.
yangguo@chromium.org [Fri, 9 Mar 2012 22:11:16 +0000 (22:11 +0000)]
Fixed VFP detection through compiler defines.

BUG=http://code.google.com/p/v8/issues/detail?id=1996
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9669003
Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

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

12 years agoProfiler experiments: update flag default values.
jkummerow@chromium.org [Fri, 9 Mar 2012 17:55:54 +0000 (17:55 +0000)]
Profiler experiments: update flag default values.

This doesn't enable the experimental profiler by default, it just tunes its behavior when it is enabled.

Review URL: https://chromiumcodereview.appspot.com/9668009

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

12 years agoProfiler experiments: merge self-optimization code into interrupt-at-exit
jkummerow@chromium.org [Fri, 9 Mar 2012 16:23:06 +0000 (16:23 +0000)]
Profiler experiments: merge self-optimization code into interrupt-at-exit

Review URL: https://chromiumcodereview.appspot.com/9633012

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

12 years agoFix presubmit problem with elements template macro
danno@chromium.org [Fri, 9 Mar 2012 14:53:02 +0000 (14:53 +0000)]
Fix presubmit problem with elements template macro

TBR=jkummerow@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9665002

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

12 years agoImplement efficient element copying in ElementsAccessors.
danno@chromium.org [Fri, 9 Mar 2012 13:48:29 +0000 (13:48 +0000)]
Implement efficient element copying in ElementsAccessors.

Review URL: https://chromiumcodereview.appspot.com/9638014

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

12 years agoInline inequality compares of strings into CompareICStub instead of jumping into...
yangguo@chromium.org [Fri, 9 Mar 2012 13:12:59 +0000 (13:12 +0000)]
Inline inequality compares of strings into CompareICStub instead of jumping into the CompareStub that handles the generic case.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9649027

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

12 years agoFix compile errors on Windows introduced by r10983.
ulan@chromium.org [Fri, 9 Mar 2012 13:01:32 +0000 (13:01 +0000)]
Fix compile errors on Windows introduced by r10983.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9652030

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

12 years agoAdd Code-related fields to postmortem metadata
vegorov@chromium.org [Fri, 9 Mar 2012 12:34:42 +0000 (12:34 +0000)]
Add Code-related fields to postmortem metadata

Review URL: https://chromiumcodereview.appspot.com/9361008
Patch from David Pacheco <dap@joyent.com>.

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

12 years agoMIPS: Introduce basic type feedback for for-in statements to avoid deopts.
vegorov@chromium.org [Fri, 9 Mar 2012 12:30:04 +0000 (12:30 +0000)]
MIPS: Introduce basic type feedback for for-in statements to avoid deopts.

Port r10901 (a54f1a3).

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9586004
Patch from Daniel Kalmar <kalmard@homejinni.com>.

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

12 years agoFix warning.
rossberg@chromium.org [Fri, 9 Mar 2012 12:08:05 +0000 (12:08 +0000)]
Fix warning.

R=mstarzinger@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9655025

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

12 years agoImplement date library functions in C++.
ulan@chromium.org [Fri, 9 Mar 2012 12:07:29 +0000 (12:07 +0000)]
Implement date library functions in C++.

Developed together with Andreas Rossberg based on:
  https://chromiumcodereview.appspot.com/9117034/
  https://chromiumcodereview.appspot.com/9307083/

R=rossberg@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9572008

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

12 years agoImplement caching scheme for Date fields.
rossberg@chromium.org [Fri, 9 Mar 2012 11:19:55 +0000 (11:19 +0000)]
Implement caching scheme for Date fields.

This is based on https://chromiumcodereview.appspot.com/9117034/

Doesn't have much impact on its own, but is the basis for Ulan's CL https://chromiumcodereview.appspot.com/9117034/, which moves the logic to C++.

R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9307083

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

12 years agoNew class for Date objects: caches individual date components.
rossberg@chromium.org [Fri, 9 Mar 2012 11:11:55 +0000 (11:11 +0000)]
New class for Date objects: caches individual date components.
First step, cache slots not used yet.

R=ulan@chromium.org
BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9117034

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

12 years agoPrepare push to trunk. Now working on version 3.9.17.
erik.corry@gmail.com [Fri, 9 Mar 2012 10:39:45 +0000 (10:39 +0000)]
Prepare push to trunk.  Now working on version 3.9.17.
Review URL: https://chromiumcodereview.appspot.com/9652028

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

12 years agoAdd clobber list to arm inline asm.
yangguo@chromium.org [Fri, 9 Mar 2012 10:20:42 +0000 (10:20 +0000)]
Add clobber list to arm inline asm.

While enabling "-fstack-protector", compiler generates code in
function prologue and epilogue to do stack check. However, without
knowing that 'r1', 'r2' and 'r3' is used/destroyed in inline asm,
compiler assumes that 'r1', 'r2', or 'r3' can be used exclusively,
which leads to a core dump.

Fix to this is quite straightforward, just add clobber list to the
inlineasm.

BUG=None
TEST=manually checked the generated asm code,boot up chrome browser successfully with this modification

Review URL: https://chromiumcodereview.appspot.com/9618017

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

12 years agoRefactored push-to-trunk.sh and merge-to-branch.sh.
jkummerow@chromium.org [Fri, 9 Mar 2012 10:16:00 +0000 (10:16 +0000)]
Refactored push-to-trunk.sh and merge-to-branch.sh.

Moved common code into tools/common-includes.sh.
Added automated rolling of V8 into Chromium to push-to-trunk.sh.

Review URL: https://chromiumcodereview.appspot.com/9463041

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

12 years agoSimplify V8::FillHeapNumberWithRandom.
yangguo@chromium.org [Fri, 9 Mar 2012 09:51:34 +0000 (09:51 +0000)]
Simplify V8::FillHeapNumberWithRandom.

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/9592047

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

12 years agoRevert r10435 and r10923 because of failures.
ulan@chromium.org [Fri, 9 Mar 2012 09:04:39 +0000 (09:04 +0000)]
Revert r10435 and r10923 because of failures.

r10435 CL: http://codereview.chromium.org/9195005
r10923 CL: https://chromiumcodereview.appspot.com/9601010

R=fschneider@chromium.org

Review URL: https://chromiumcodereview.appspot.com/9653025

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

12 years agoAdded support functions for using Literal keys in a HashMap.
svenpanne@chromium.org [Fri, 9 Mar 2012 08:34:35 +0000 (08:34 +0000)]
Added support functions for using Literal keys in a HashMap.

This is a preparatory step for using the HashMap clas with Literal keys in the
full code generator. It removes some duplicated code already and removes the
need for 2 HashMaps at each use, which was overly complicated.

Removed one dead function on the way.

Review URL: https://chromiumcodereview.appspot.com/9639011

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

12 years agoFix signed / unsigned warnings for ?: operators reported by Xcode 4.x clang compiler.
mikhail.naganov@gmail.com [Thu, 8 Mar 2012 18:27:39 +0000 (18:27 +0000)]
Fix signed / unsigned warnings for ?: operators reported by Xcode 4.x clang compiler.

The patch is based on the report provided by github user Zakay.

BUG=none
TEST=none

Review URL: https://chromiumcodereview.appspot.com/9592030

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