kmillikin@chromium.org [Mon, 2 Jan 2012 15:22:21 +0000 (15:22 +0000)]
Make Runtime_Apply safer.
There is a call to Object::GetElement that could conceivably cause a GC.
Handlify all raw pointer local variables.
R=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8952028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10319
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 2 Jan 2012 09:46:47 +0000 (09:46 +0000)]
Fix typo in tools/grokdump.py. Stack pointer on x86 is esp not rbp.
R=fschneider@chromium.org
Review URL: http://codereview.chromium.org/9069001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10316
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 2 Jan 2012 09:20:45 +0000 (09:20 +0000)]
Prepare push to trunk. Now working on version 3.8.5.
R=danno@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8952023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10313
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 2 Jan 2012 08:54:01 +0000 (08:54 +0000)]
Filter transitions while searching for CONSTANT_FUNCTION property in Call::ComputeTarget.
Otherwise transition will hide CONSTANT_FUNCTION property with the same name residing on the prototype.
R=danno@chromium.org
BUG=v8:1883
Review URL: http://codereview.chromium.org/9064003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10312
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 30 Dec 2011 14:28:14 +0000 (14:28 +0000)]
Reland 10309: Ensure large Smi-only arrays don't transition to FAST_DOUBLE_ARRAY
TBR=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9051014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10311
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 30 Dec 2011 13:42:21 +0000 (13:42 +0000)]
Rollback 10309
TBR=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8968042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10310
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 30 Dec 2011 12:54:23 +0000 (12:54 +0000)]
Ensure large Smi-only arrays don't transition to FAST_DOUBLE_ARRAY
BUG=v8:1849
TEST=test/mjsunit/regress/regress-1849.js
Review URL: http://codereview.chromium.org/8968028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10309
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Thu, 29 Dec 2011 12:19:34 +0000 (12:19 +0000)]
Add InternalArrayCodeGeneric
R=whesse@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9006051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10308
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 28 Dec 2011 15:14:33 +0000 (15:14 +0000)]
Remove unused runtime function
R=whesse@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/9008042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10307
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 27 Dec 2011 15:12:12 +0000 (15:12 +0000)]
Ensure that InternalArrays remain InternalArrays regardless of how they are constructed.
R=whesse@chromium.org
BUG=v8:1878
TEST=test/mjsunit/regress/regress-1878.js
Review URL: http://codereview.chromium.org/9016041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10306
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 27 Dec 2011 10:03:28 +0000 (10:03 +0000)]
Prepare push to trunk. Now working on version 3.8.4.
TBR=vegorov@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9041003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10303
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 27 Dec 2011 08:41:30 +0000 (08:41 +0000)]
MIPS: fix bug in KeyedStoreIC::GenerateNonStrictArguments()
r8425 (1081f75) had fixed this originally, but those changes were
accidentally reverted when the experimental/gc branch was merged
at r9600.
BUG=
TEST=debug mozilla regress-137181
Review URL: http://codereview.chromium.org/9026006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10302
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 23 Dec 2011 10:39:01 +0000 (10:39 +0000)]
Avoid embedding new space objects into code objects in the lithium gap resolver.
R=danno@chromium.org
BUG=http://crbug.com/108296
TEST=test/mjsunit/regress/regress-108296.js
Review URL: http://codereview.chromium.org/8960004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10301
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 22 Dec 2011 16:23:47 +0000 (16:23 +0000)]
Remove unnecessary environment from LStoreKeyedFastElements.
This was a left-over from a time when bounds-check was performed
as part of this instruction.
I also refactored and improved the code for smi-only arrays.
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/9023006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10300
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 22 Dec 2011 06:33:32 +0000 (06:33 +0000)]
Enable max optimization for v8 in chromium.
First attempt to do this failed, we need per target flags.
Review URL: http://codereview.chromium.org/9018013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10297
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 21 Dec 2011 21:50:24 +0000 (21:50 +0000)]
Fix GCC 4.7 warnings:
* src/debug.cc (Debug::SetBreakPoint): Compare value not pointer.
Review URL: http://codereview.chromium.org/8971002
Patch from Tobias Burnus <burnus@net-b.de>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10296
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 21 Dec 2011 21:28:41 +0000 (21:28 +0000)]
Fix GCC 4.7 warnings.
* src/string-search.h (StringSearch): Avoid -Werror=strict-overflow
warning.
Review URL: http://codereview.chromium.org/8947022
Patch from Tobias Burnus <burnus@net-b.de>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10295
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 21 Dec 2011 16:19:55 +0000 (16:19 +0000)]
Do not reassign debug-only flag in release mode.
BUG=1871
TEST=
Review URL: http://codereview.chromium.org/9021011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10294
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 21 Dec 2011 16:14:38 +0000 (16:14 +0000)]
Fix JavaScript accessors on objects with interceptors.
This fixes how Object.defineProperty() defines JavaScript accessors on
objects with installed API interceptors. The definition itself does not
cause any interceptors to be called, whereas any subsequent accesses on
said object will still fire the interceptor. This behavior is in sync
with API accessors.
R=rossberg@chromium.org
BUG=v8:1651,chromium:94666
TEST=cctest/test-api
Review URL: http://codereview.chromium.org/9021019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10293
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 21 Dec 2011 08:51:59 +0000 (08:51 +0000)]
Uncommit free pages in all spaces on low memory notification.
BUG=v8:1669
TEST=
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8969017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10289
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 21 Dec 2011 08:11:47 +0000 (08:11 +0000)]
Fix presubmit.
Review URL: http://codereview.chromium.org/9020004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10285
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 21 Dec 2011 07:50:24 +0000 (07:50 +0000)]
Prepare push to trunk. Now working on version 3.8.3.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/9019007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10284
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Wed, 21 Dec 2011 07:27:31 +0000 (07:27 +0000)]
Add max optimization flag to v8 build flag, chrome will use less optimization as default soon.
Review URL: http://codereview.chromium.org/9017004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10283
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 20 Dec 2011 12:59:23 +0000 (12:59 +0000)]
MIPS: Support Smi->Double->HeapObject transitions in constructed Arrays.
Port r10218 (1f42dff).
Original commit message:
Also several bugs with Smi/double elements handling and make Ensure* routines more flexible.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8894030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10282
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 20 Dec 2011 12:36:36 +0000 (12:36 +0000)]
MIPS: Clean up handling of global cell stores in the optimizing compiler.
Port r10280 (5f6aec5).
Original commit message:
Tell the register allocator the value is not overwritten. Never use
temporary registers on ia32, avoid them on x64 and ARM. Restore the
original copyright date on assembler.cc.
BUG=
TEST=
Review URL: http://codereview.chromium.org/9004017
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10281
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 20 Dec 2011 10:57:12 +0000 (10:57 +0000)]
Clean up handling of global cell stores in the optimizing compiler.
Tell the register allocator the value is not overwritten. Never use
temporary registers on ia32, avoid them on x64 and ARM. Restore the
original copyright date on assembler.cc.
R=fschneider@chromium.org
BUG=v8:1870
TEST=
Review URL: http://codereview.chromium.org/8965038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10280
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 20 Dec 2011 08:49:51 +0000 (08:49 +0000)]
Fix handling of foreign callbacks in DefineOwnProperty.
We use foreign callbacks to make some properties shadow internal values
but still behave as data properties from within JavaScript. This means
when a value is passed to Object.defineProperty() on such a property,
it should update the internal value instead of redefinind the property
and destroying the shadowing.
R=rossberg@chromium.org
BUG=v8:1530
TEST=mjsunit/regress/regress-1530,test262/S15.3.3.1_A4
Review URL: http://codereview.chromium.org/8996008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10279
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 19 Dec 2011 12:39:52 +0000 (12:39 +0000)]
Fix bug with filtering of foreign context maps in the type feedback.
The first attempt did not properly handle keyed loads/stores and
did not check the constructors of the objects in the prototype
chain.
Added two more tests to handle the fixed cases.
BUG=v8:1823
TEST=LeakGlobalObjectViaMapKeyed,LeakGlobalContextViaMapProto
Review URL: http://codereview.chromium.org/8974009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10277
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 19 Dec 2011 11:57:47 +0000 (11:57 +0000)]
Prepare push to trunk. Now working on version 3.8.2
Review URL: http://codereview.chromium.org/8953026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10274
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Mon, 19 Dec 2011 11:33:54 +0000 (11:33 +0000)]
Do not delay sweeping of pages that are completely free.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8997004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10273
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Fri, 16 Dec 2011 17:00:26 +0000 (17:00 +0000)]
Add tools/gyp/preparser_lib.vcproj to svn:ignore
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10272
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 16 Dec 2011 13:46:01 +0000 (13:46 +0000)]
Fixed --print-source crash.
BUG=v8:1866
TEST=d8 --print-source
Review URL: http://codereview.chromium.org/8969021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10271
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 16 Dec 2011 13:37:20 +0000 (13:37 +0000)]
Fix Test262 command line in test harness.
This just simplifies the command line used to run test cases, allowing
to copy them from the test harness output without editing. The passed
expression is obsolete by now.
R=yangguo@chromium.org
Review URL: http://codereview.chromium.org/8966023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10270
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 16 Dec 2011 12:54:08 +0000 (12:54 +0000)]
Remove bogus writability check in DefineGetterSetter.
R=rossberg@chromium.org
TEST=test262
Review URL: http://codereview.chromium.org/8951013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10269
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 16 Dec 2011 08:38:52 +0000 (08:38 +0000)]
Change --print-all-code to include --code-comments.
Review URL: http://codereview.chromium.org/8968010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10268
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Dec 2011 17:00:27 +0000 (17:00 +0000)]
Introduce --print-all-code flag and infrastructure for one flag to imply another flag.
Review URL: http://codereview.chromium.org/8957009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10267
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Dec 2011 14:24:07 +0000 (14:24 +0000)]
Fix cctest/test-hashing on MIPS.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8953016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10266
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Dec 2011 14:04:50 +0000 (14:04 +0000)]
MIPS: Porting r10252 to ARM.
Port r10262 (694b67).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8947017
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10265
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Dec 2011 13:38:46 +0000 (13:38 +0000)]
MIPS: Porting r10221 to ARM (avoid bailing out to runtime for short substrings).
Port r10250 (77889cc).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8953013
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10264
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 15 Dec 2011 12:13:34 +0000 (12:13 +0000)]
Add X64 minidumps support to tools/grokdump.py
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8957005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10263
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Dec 2011 11:04:58 +0000 (11:04 +0000)]
Porting r10252 to ARM (handle external strings in generated code when concatenating short strings).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8913010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10262
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 15 Dec 2011 10:59:39 +0000 (10:59 +0000)]
Porting r10252 to x64 (handle external strings in generated code when concatenating short strings).
Review URL: http://codereview.chromium.org/8909004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10261
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 15 Dec 2011 10:08:25 +0000 (10:08 +0000)]
Temporarily disable new test until no-snapshot version is fixed.
Review URL: http://codereview.chromium.org/8957004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10260
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 15 Dec 2011 09:41:28 +0000 (09:41 +0000)]
Align tools/gc-nvp-trace-processor.py with --trace-gc-nvp output.
R=erik.corry@gmail.com
BUG=
TEST=
Review URL: http://codereview.chromium.org/8915005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10259
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Dec 2011 14:55:16 +0000 (14:55 +0000)]
Mark Test262 test cases for known issue 1475.
R=rossberg@chromium.org
BUG=v8:1475
TEST=test262/15.2.3.6-4-4??
Review URL: http://codereview.chromium.org/8911006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10258
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 14 Dec 2011 14:01:54 +0000 (14:01 +0000)]
Filter out maps from different global context when collecting type feedback.
This avoid leaking memory because optimized code may hold on to maps
from different tabs otherwise.
BUG=v8:1823, 102895
Review URL: http://codereview.chromium.org/8892002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10257
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 14 Dec 2011 13:32:34 +0000 (13:32 +0000)]
Fix outdated test expectations for array literal crankshafting
TEST=nosnap builder green
Review URL: http://codereview.chromium.org/8915006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10256
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Wed, 14 Dec 2011 13:01:27 +0000 (13:01 +0000)]
Create missing boilerplate for array literals instead of deoptimizing
BUG=107370
TEST=new additions to mjsunit/array-literal-transitions
Review URL: http://codereview.chromium.org/8914006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10255
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 14 Dec 2011 12:46:32 +0000 (12:46 +0000)]
Fix invalid usage of StoreIC_ArrayLength optimization.
This introduces an additional check into the StoreIC_ArrayLength builtin
checking that the array still has fast properties. Redifinitions of the
length property that would cause it's type or attributes to change, will
switch to slow properties, thereby invalidating said optimization.
R=svenpanne@chromium.org
BUG=v8:1756
TEST=test262
Review URL: http://codereview.chromium.org/8895025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10254
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Dec 2011 11:48:55 +0000 (11:48 +0000)]
Fix nosnap builds.
Review URL: http://codereview.chromium.org/8938017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10253
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Dec 2011 10:32:22 +0000 (10:32 +0000)]
Handle external strings in generated code when concatenating short strings.
TEST=string-external-cached.js
Review URL: http://codereview.chromium.org/8931025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10252
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Dec 2011 10:26:24 +0000 (10:26 +0000)]
Porting r10221 to x64 (avoid bailing out to runtime for short substrings).
Review URL: http://codereview.chromium.org/8894001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10251
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 14 Dec 2011 10:22:33 +0000 (10:22 +0000)]
Porting r10221 to ARM (avoid bailing out to runtime for short substrings).
Review URL: http://codereview.chromium.org/8923002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10250
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 14 Dec 2011 08:43:55 +0000 (08:43 +0000)]
Fix two x64 code generation bugs introduced by const context slot code from r10244
TEST=mjsunit debug tests pass again.
Review URL: http://codereview.chromium.org/8932014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10249
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 13 Dec 2011 17:13:47 +0000 (17:13 +0000)]
Landing forgotten mjsunit test file from previous CL.
Patch by Fedor Indutny <fedor.indutny@gmail.com>.
Original code review: http://codereview.chromium.org/8857001/
Review URL: http://codereview.chromium.org/8935006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10245
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 13 Dec 2011 17:10:34 +0000 (17:10 +0000)]
[hydrogen] don't bailout assignments to consts
If constant variable is allocated in CONTEXT
Patch by Fedor Indutny <fedor.indutny@gmail.com>.
BUG=
TEST=
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/8857001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10244
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 13 Dec 2011 14:20:03 +0000 (14:20 +0000)]
Guard against undefined fields in global context.
BUG=v8:1860
TEST=
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/8917014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10243
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 13 Dec 2011 13:51:58 +0000 (13:51 +0000)]
Fix crash in d8 when external array ctor hits stack overflow
BUG=100859
TEST=mjsunit/regress/regress-crbug-100859
Review URL: http://codereview.chromium.org/8898021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10242
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Tue, 13 Dec 2011 13:02:08 +0000 (13:02 +0000)]
Fix GCC 4.7 warnings, which are related to char being signed in GCC
("narrowing conversion ... inside { } is ill-formed in C++11").
* src/mksnapshot.cc: Cast "char" to "unsigned char" when outputting snapshot.
* test/cctest/test-regexp.cc: Use static_cast to uc16 as the char
literal is signed.
Review URL: http://codereview.chromium.org/8825003
Patch from Tobias Burnus <burnus@net-b.de>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10241
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 13 Dec 2011 12:57:33 +0000 (12:57 +0000)]
Avoid using an invalid working directory in mjsunit/d8-os.
This test deleted its working directory and then tried to run several
shell commands which caused a failure on nfs.
Changes:
-TEST_DIR is only removed at the very end of the test
-the working directory is changed to /tmp at the beginning so that
every iteration (when running with --stress-opt) has a valid working directory
BUG=
TEST=
Review URL: http://codereview.chromium.org/8936004
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10240
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Tue, 13 Dec 2011 07:56:16 +0000 (07:56 +0000)]
Prepare push to trunk. Now working on version 3.8.1.
Review URL: http://codereview.chromium.org/8912004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10238
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Mon, 12 Dec 2011 11:54:21 +0000 (11:54 +0000)]
Remove dead code and one static initializer that came with it.
BUG=1859
Review URL: http://codereview.chromium.org/8917004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10237
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 12 Dec 2011 10:20:46 +0000 (10:20 +0000)]
Fix another corner case for DefineOwnProperty on arrays.
R=rossberg@chromium.org
BUG=v8:1756
TEST=test262
Review URL: http://codereview.chromium.org/8890015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10236
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Mon, 12 Dec 2011 08:48:39 +0000 (08:48 +0000)]
MIPS: Hydrogen support for context allocated harmony bindings.
Port r10220 (1dae466).
Original commit message:
This CL adds support for loading from and storing to context slots
belonging to harmony let or const bound variables. Checks for the
hole value are performed and the function is deoptimized if they fail.
The full-codegen generated code will take care of properly throwing
a reference error in these cases.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8897025
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10235
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Dec 2011 08:26:42 +0000 (08:26 +0000)]
MIPS: Port Math.pow inlining to ARM.
Port r10210 (6b15398) and r10226 (
cdc75a453).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8896021
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10234
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 12 Dec 2011 08:19:30 +0000 (08:19 +0000)]
Enable mips in the test wrapper for gyp.
Review URL: http://codereview.chromium.org/8919002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10233
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Mon, 12 Dec 2011 06:38:29 +0000 (06:38 +0000)]
MIPS: Reland 10216 - Optimize the equality check case of ICCompare stubs.
Port r10219 (56686b).
Original commit message:
Now with arm and x64 support. Additionally, added default unreachable case to switch statement in CompareIC::TargetState to make win and mac compilers happy.
Reviewer guide:
This is an exact copy of 10216 except:
src/arm/*
src/x64/*
src/ic.cc (added default case to swith in CompareIC::TargetState)
BUG=
TEST=
Review URL: http://codereview.chromium.org/8896022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10232
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Dec 2011 15:04:41 +0000 (15:04 +0000)]
Fix regex regression in top-of-tree.
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8896001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10231
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Dec 2011 12:11:56 +0000 (12:11 +0000)]
Fixing bug introduced in r10210 that crashes v8 raytrace benchmark.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8889047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10226
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 9 Dec 2011 10:04:58 +0000 (10:04 +0000)]
Avoid bailing out to runtime for short substrings.
This significantly improves the speed for creating short substrings (less than 13 characters) from slices, flat cons strings and external strings.
TEST=string-external-cached.js, string-slices.js
Review URL: http://codereview.chromium.org/8889012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10221
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Fri, 9 Dec 2011 09:50:30 +0000 (09:50 +0000)]
Hydrogen support for context allocated harmony bindings.
This CL adds support for loading from and storing to context slots
belonging to harmony let or const bound variables. Checks for the
hole value are performed and the function is deoptimized if they fail.
The full-codegen generated code will take care of properly throwing
a reference error in these cases.
TEST=mjsunit/harmony/block-let-crankshaft.js
Review URL: http://codereview.chromium.org/8820015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10220
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Fri, 9 Dec 2011 09:26:14 +0000 (09:26 +0000)]
Reland 10216 - Optimize the equality check case of ICCompare stubs.
Now with arm and x64 support. Additionally, added default unreachable case to switch statement in CompareIC::TargetState to make win and mac compilers happy.
Reviewer guide:
This is an exact copy of 10216 except:
src/arm/*
src/x64/*
src/ic.cc (added default case to swith in CompareIC::TargetState)
Review URL: http://codereview.chromium.org/8872060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10219
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 9 Dec 2011 08:50:19 +0000 (08:50 +0000)]
Support Smi->Double->HeapObject transitions in constructed Arrays.
Also several bugs with Smi/double elements handling and make Ensure* routines more flexible.
BUG=none
TEST=test/mjsunit/array-construct-transition.js
Review URL: http://codereview.chromium.org/8820014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10218
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 8 Dec 2011 17:28:44 +0000 (17:28 +0000)]
Revert 10216 Optimize the equality check case of ICCompare stubs.
Missing arm and x64 implementations
Review URL: http://codereview.chromium.org/8883023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10217
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 8 Dec 2011 17:17:21 +0000 (17:17 +0000)]
Optimize the equality check case of ICCompare stubs.
This includes specialcasing the generation when we know that the maps
of the two objects are the same. In addition, a new specialized
compare ic known objects cache is created.
The reason for the cache is that we need to have access to the stub
code from the roots; if we do not, the GC will collect the stub. In
this specialized case we use the map pointer as key in the cache, and
we always do a lookup before generating code. Actually hitting
something in the cache will happen very rarely, but we could
potentially overwrite an existing stub, which again will lead to the
GC collecting this old stub (even if it is referenced from other code
objects)
Review URL: http://codereview.chromium.org/8520006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10216
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 8 Dec 2011 16:07:07 +0000 (16:07 +0000)]
Ensure that non-optimized code objects are not flushed for inlined functions.
Collector was flushing them if optimized code was reachable only through the stack (not through the JSFunction object) which happens when you have a pending lazy deoptimization.
Also prevent v8::Script::New from leaking internal objects allocated by the compiler into outer HandleScope.
R=kmillikin@chromium.org
BUG=http://crbug.com/97116
TEST=test/mjsunit/regress/regress-97116.js
Review URL: http://codereview.chromium.org/8888011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10215
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 8 Dec 2011 14:36:36 +0000 (14:36 +0000)]
MIPS: Fixing MathPowHalf on ARM.
Port r10166 (
b57f3f1a), r10167 (
202eada9) and r10170 (
5c5c96da).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8822014
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10214
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ricow@chromium.org [Thu, 8 Dec 2011 13:16:55 +0000 (13:16 +0000)]
Prepare push to trunk. Now working on version 3.8.1.
Review URL: http://codereview.chromium.org/8873016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10213
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Thu, 8 Dec 2011 08:53:09 +0000 (08:53 +0000)]
MIPS: Port to x64 and ARM and some refactoring of ia32.
Port r10174 (a410586).
BUG=
TEST=
Review URL: http://codereview.chromium.org/8821024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10211
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 7 Dec 2011 16:55:00 +0000 (16:55 +0000)]
Port Math.pow inlining to ARM.
TEST=math-pow.js
Review URL: http://codereview.chromium.org/8840008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10210
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 7 Dec 2011 16:15:18 +0000 (16:15 +0000)]
Tweaks on Math.pow (ia32 and x64).
Review URL: http://codereview.chromium.org/8831008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10203
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 7 Dec 2011 16:08:09 +0000 (16:08 +0000)]
Relax test condition to make it less brittle.
BUG=
TEST=cctest/test-api/IdleNotificationWithHint
Review URL: http://codereview.chromium.org/8839007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10202
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
keuchel@chromium.org [Wed, 7 Dec 2011 16:03:29 +0000 (16:03 +0000)]
Sync parser and preparser on do-while and return statements.
This CL fixes the preparser to have the same liberal automatic semicolon
insertion behaviour as the parser. In the case of a return statement in
global code we throw a syntax error at runtime rather than an early error
due to compatibility with KJS. However that hack allowed the following
syntactically incorrect program in global code in the parser but not in
the preparser:
if (false) return else {}
while the slightly saner version with the obligatory semicolon
if (false) return; else {}
was disallowed in the parser, but the preparser allowed it. This CL also
fixes that issue.
BUG=v8:1856
TEST=cctest/test-parsing.cc
Review URL: http://codereview.chromium.org/8844002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10201
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 7 Dec 2011 13:00:11 +0000 (13:00 +0000)]
MIPS: Optimize Crankshaft array literal initialization from boilerplate.
Port r10138 (
730f5a7f)
Original commit message:
BUG=
TEST=
Review URL: http://codereview.chromium.org/8789012
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10191
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 7 Dec 2011 10:13:46 +0000 (10:13 +0000)]
Fix a bug with register use in optimized Math.round.
We're not allowed to modify the input register and have to
use a temporary instead, otherwise the result of expressions
containing Math.round can be wrong.
BUG=106351
TEST=test/mjsunit/compiler/regress-106351.js
Review URL: http://codereview.chromium.org/8833007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10190
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 7 Dec 2011 09:44:31 +0000 (09:44 +0000)]
Tweak to shorten generated code in Math.pow.
Review URL: http://codereview.chromium.org/8834007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10189
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 7 Dec 2011 08:49:06 +0000 (08:49 +0000)]
Remove write barriers for cells on x64, ARM and MIPS.
Review URL: http://codereview.chromium.org/8834005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10188
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 7 Dec 2011 08:43:41 +0000 (08:43 +0000)]
Rescan cells at the end of mark-sweep. This means they don't need a
write barrier.
Review URL: http://codereview.chromium.org/8816021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10187
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 7 Dec 2011 08:43:18 +0000 (08:43 +0000)]
More removal of write barriers and a rename to a less scary name.
Review URL: http://codereview.chromium.org/8816020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10186
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 7 Dec 2011 08:34:27 +0000 (08:34 +0000)]
Porting Math.pow changes to x64.
TEST=math-pow.js, regress-397.js
Review URL: http://codereview.chromium.org/8821019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10185
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 6 Dec 2011 22:27:15 +0000 (22:27 +0000)]
Fix nosnap build test failures.
TBR=jkummerow@chromium.org
BUG=none
TEST=less waterfall redness
Review URL: http://codereview.chromium.org/8828004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10184
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 6 Dec 2011 22:08:46 +0000 (22:08 +0000)]
Obligatory fix for Win64.
BUG=v8:1832
TEST=none
TBR=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/8771051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10183
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mikhail.naganov@gmail.com [Tue, 6 Dec 2011 17:41:47 +0000 (17:41 +0000)]
Reapply r10158: Distinguish weak references in heap snapshots, group GC roots.
[Fixed the bug revealed by the Win32 bot]
Several changes to better organize snapshot data:
1. Provide information about weak references.
2. Group (GC roots) children.
3. Prettify debug snapshot printing.
BUG=v8:1832
TEST=cctest/test-heap-profiler/*Weak*
TBR=vitalyr@chromium.org
Initial CL: http://codereview.chromium.org/8716009
Review URL: http://codereview.chromium.org/8822019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10182
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 6 Dec 2011 17:21:48 +0000 (17:21 +0000)]
Don't track Smi->Double->Object element transitions for small undefined arrays.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/8816009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10181
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 6 Dec 2011 15:31:01 +0000 (15:31 +0000)]
Remove unnecessary use of raw pointers in hydrogen graph builder.
This is potentially a source of bugs, if someone inserts some code
that causes allocation.
Review URL: http://codereview.chromium.org/8818015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10180
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 6 Dec 2011 14:30:21 +0000 (14:30 +0000)]
Use the old handler for low frequency idle notifications.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8818005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10179
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Dec 2011 13:30:22 +0000 (13:30 +0000)]
Fix presubmit.
Review URL: http://codereview.chromium.org/8821016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10178
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 6 Dec 2011 13:14:46 +0000 (13:14 +0000)]
Fixing mozilla test failures regarding Math.pow.
BUG=
TEST=
Review URL: http://codereview.chromium.org/8820011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10177
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
sgjesse@chromium.org [Tue, 6 Dec 2011 13:09:05 +0000 (13:09 +0000)]
Handle possible difference between function code and activated code on preparation for break points
The full code activated for a function might not be the same code as
is currently the active full code for a function. There where some
asumptions in the debugger preparation for break points.
Unfortunately there is currently no regression test.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//8818010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10176
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 6 Dec 2011 13:00:40 +0000 (13:00 +0000)]
Elide write barriers and remove some heap_object->GetHeap() calls on
Smi write barriers.
Review URL: http://codereview.chromium.org/8822008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10175
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00