erik.corry@gmail.com [Mon, 16 Jan 2012 12:38:59 +0000 (12:38 +0000)]
More spelling changes.
Review URL: http://codereview.chromium.org/
9231009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10407
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 16 Jan 2012 11:04:58 +0000 (11:04 +0000)]
Fix GCC4.7 compilation warning introduced in r10400
Add some usages for string1 and string2 to avoid "assigned
but not used" warning.
Review URL: http://codereview.chromium.org/
9163003
Patch from Yury Semikhatsky <yurys@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10405
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 16 Jan 2012 10:28:34 +0000 (10:28 +0000)]
Prepare push to trunk. Now working on version 3.8.7.
Review URL: http://codereview.chromium.org/
9233001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10404
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 16 Jan 2012 09:46:21 +0000 (09:46 +0000)]
Spellling mistakes.
Review URL: http://codereview.chromium.org/
9123031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10403
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 16 Jan 2012 09:44:35 +0000 (09:44 +0000)]
Split NumberDictionary into a randomly seeded and an unseeded
version. We don't want to randomize the stub cache.
Review URL: http://codereview.chromium.org/
9174023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10402
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Mon, 16 Jan 2012 09:40:04 +0000 (09:40 +0000)]
Fix flaky idle notification test.
Idle notification handler might not free more memory if there was a global GC before or incremental marking is not activated (and it's not worth activating).
BUG=
TEST=cctest/test-api/IdleNotificationWithHint
Review URL: http://codereview.chromium.org/
9173007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10401
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 13 Jan 2012 15:14:45 +0000 (15:14 +0000)]
Provide a way for iterating through all external strings referenced from the JS heap
Review URL: http://codereview.chromium.org/
9139018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10400
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 13 Jan 2012 13:09:52 +0000 (13:09 +0000)]
Cosmetic changes ("set up" is a verb, "setup" is a noun).
Review URL: http://codereview.chromium.org/
9139051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10399
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 13 Jan 2012 10:23:19 +0000 (10:23 +0000)]
Skip disassembling ld.so.cache in ll_prof.py.
Review URL: http://codereview.chromium.org/
9205002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10398
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 13 Jan 2012 09:38:20 +0000 (09:38 +0000)]
Small fixes to hash seeding code, discovered during
review of back port.
Review URL: http://codereview.chromium.org/
9187006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10397
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 13 Jan 2012 07:48:44 +0000 (07:48 +0000)]
Fixing issue 1898 (using HChange outside the insert-representation-changes phase).
BUG=v8:1898
TEST=mjsunit/regress/regress-1898.js
Review URL: http://codereview.chromium.org/
9190047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10396
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Thu, 12 Jan 2012 07:17:46 +0000 (07:17 +0000)]
Improved output for bailouts on huge functions
Review URL: http://codereview.chromium.org/
9190008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10395
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 11 Jan 2012 17:28:23 +0000 (17:28 +0000)]
Fix cctest/test-heap/InstanceOfStubWriteBarrier when Crankshaft is disabled.
R=fschneider@chromium.org
Review URL: http://codereview.chromium.org/
9188010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10394
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 11 Jan 2012 15:43:33 +0000 (15:43 +0000)]
Inlining Math.min and Math.max in crankshaft.
BUG=v8:1325
TEST=
Review URL: http://codereview.chromium.org/
9147034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10391
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 11 Jan 2012 15:10:56 +0000 (15:10 +0000)]
Correct nits in d8 ArrayBuffer() implementation
TBR=jkummerow@chromium.org
BUG=none
TEST=external-array.js
Review URL: http://codereview.chromium.org/
9185006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10390
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 11 Jan 2012 14:42:58 +0000 (14:42 +0000)]
Add primitive WebGL ArrayBuffer() support to d8
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9114050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10389
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 11 Jan 2012 12:19:11 +0000 (12:19 +0000)]
Port Math.random change to MIPS.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9107006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10386
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 11 Jan 2012 10:59:21 +0000 (10:59 +0000)]
Fix Mac build boken in r10383.
R=vegorov@chromium.org
TEST=cctest/test-heap/TestSizeOfObjects
Review URL: http://codereview.chromium.org/
9187004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10385
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ager@chromium.org [Wed, 11 Jan 2012 10:35:37 +0000 (10:35 +0000)]
Support inlining and crankshaft optimization of Math.random.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9167011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10384
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 11 Jan 2012 10:33:34 +0000 (10:33 +0000)]
Make heap size estimation more accurate.
This improves the heap size estimation by not counting lazy swept pages
as completely allocated but use their live bytes counter instead.
R=vegorov@chromium.org
BUG=v8:1893
TEST=cctest/test-heap/TestSizeOfObjects
Review URL: http://codereview.chromium.org/
9173001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10383
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 11 Jan 2012 10:01:59 +0000 (10:01 +0000)]
Optimize simple constant cases for bitwise &, | and ^.
For integer bitwise operations we can replace
x & -1 with x, x | 0 with x and x ^ 0 with x.
Review URL: http://codereview.chromium.org/
9177001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10382
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 11 Jan 2012 09:49:47 +0000 (09:49 +0000)]
Fix build failure introduced by r10380
TBR=mstarzinger@chromium.org
Review URL: http://codereview.chromium.org/
9190002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10381
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 11 Jan 2012 09:39:37 +0000 (09:39 +0000)]
Change inlined cache of intanceof stub to use indirection through cell.
The stub was directly patching caller's code without issuing write barrier which violated incremental marking invariants.
R=mstarzinger@chromium.org
BUG=http://crbug.com/109448
TEST=cctest/test-heap/InstanceOfStubWriteBarrier
Review URL: http://codereview.chromium.org/
9158015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10380
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Wed, 11 Jan 2012 08:29:42 +0000 (08:29 +0000)]
Tiny improvement of register constraints in LClassOfTest instructions.
The input register does not need to be made writable. We already
allocate enough temp registers and the input register will always
be preserved.
Review URL: http://codereview.chromium.org/
9166007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10379
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Tue, 10 Jan 2012 16:59:55 +0000 (16:59 +0000)]
Fix for an ARM register allocation bug.
An off-by-one in the register allocator could lead to allocating (and
clobbering) the reserved 0.0 double register. This required a function with
14 or more live double values.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9114038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10374
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 10 Jan 2012 16:12:24 +0000 (16:12 +0000)]
Changes after code review#
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10373
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 10 Jan 2012 16:12:16 +0000 (16:12 +0000)]
Fixed AccessorPair handling
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10372
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Tue, 10 Jan 2012 16:11:33 +0000 (16:11 +0000)]
Use a separate new type AccessorPair for JavaScript callbacks instead of a FixedArray of length 2
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10371
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
fschneider@chromium.org [Tue, 10 Jan 2012 16:06:32 +0000 (16:06 +0000)]
Avoid recording unnecessary deoptimization environments in a couple of places.
This reduces the number of uses and potentially shortens live ranges.
Review URL: http://codereview.chromium.org/
8983018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10370
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 10 Jan 2012 14:52:41 +0000 (14:52 +0000)]
Inline fast case of CodeGenerationFromStringsAllowed
Review URL: http://codereview.chromium.org/
9155011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10369
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 10 Jan 2012 13:43:44 +0000 (13:43 +0000)]
MIPS: Check that address given to __RecordWrite is correct.
ARM: Clean up equivalent functionality on ARM.
This subsumes http://codereview.chromium.org/
8561001/
Review URL: http://codereview.chromium.org/
9168006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10368
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 10 Jan 2012 13:24:18 +0000 (13:24 +0000)]
Minor cleanups of numeric seeded hashing patch.
Review URL: http://codereview.chromium.org/
9155010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10367
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 10 Jan 2012 12:58:41 +0000 (12:58 +0000)]
Add seed to hash of numeric keyed properties. This is a commit of codereview.chromium.org/
9148006/ for Fedor Indutny.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10366
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Tue, 10 Jan 2012 12:01:04 +0000 (12:01 +0000)]
Fix zero hash handling on ARM.
Some cleanup.
Review URL: http://codereview.chromium.org/
9169010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10362
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 10 Jan 2012 10:05:45 +0000 (10:05 +0000)]
Fix handling of -0.0 in IsInt32/IsUInt32
R=ager@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9169009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10361
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 10 Jan 2012 08:37:45 +0000 (08:37 +0000)]
Fixing windows builds.
Review URL: http://codereview.chromium.org/
9169007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10358
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 10 Jan 2012 08:17:08 +0000 (08:17 +0000)]
Fixing minGW build.
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9149001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10357
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Mon, 9 Jan 2012 16:37:47 +0000 (16:37 +0000)]
Make sure transitioned arrays efficiently call builtin Array functions
Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort.
BUG=none
TEST=none
Committed: http://code.google.com/p/v8/source/detail?r=10331
Review URL: http://codereview.chromium.org/
9015020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10356
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Mon, 9 Jan 2012 13:33:59 +0000 (13:33 +0000)]
Use shift and add instead of mul on ARM for integer hash.
Review URL: http://codereview.chromium.org/
9153002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10355
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Fri, 6 Jan 2012 11:33:20 +0000 (11:33 +0000)]
Fix test-hashing after recent changes to string hashing.
Acriave test-hashing in SCons and buildbot runs.
Small cleanups in root register handling on ARM and MIPS.
Review URL: http://codereview.chromium.org/
9110029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10351
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Fri, 6 Jan 2012 10:26:17 +0000 (10:26 +0000)]
Adjust position recorded for call expressions.
For calls of the form ident(...) record position of the identifier as the position of the call. For other calls record positions of the opening parenthesis.
This guarantees that for expressions of the form function(){}() call position will not intersect with positions recorded for function literal which is used by the debugger for scope chain resolution.
R=kmillikin@chromium.org
BUG=http://crbug.com/109195
TEST=test/mjsunit/regress/regress-109195.js
Review URL: http://codereview.chromium.org/
9125001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10350
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Thu, 5 Jan 2012 17:16:19 +0000 (17:16 +0000)]
Move handlified functions from handles.cc to objects.cc
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9008012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10348
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Thu, 5 Jan 2012 14:56:44 +0000 (14:56 +0000)]
Prepare push to trunk. Now working on version 3.8.6.
R=yangguo@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9114009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10345
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 5 Jan 2012 14:28:45 +0000 (14:28 +0000)]
Fix several minor issues with grokdump.py tool.
This includes the following changes:
* Bring instance type mapping up to date.
* Enable loading of maps without available meta-map.
* Add missing IntSize() method.
* Fix reference to Code.CODE_ALIGNMENT_MASK.
* Add alignment checks for objects and maps.
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/
9075003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10344
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 5 Jan 2012 13:16:15 +0000 (13:16 +0000)]
Fix broken test that assumes that no GC can clear the regexp
cache (GC can happen at any time due to Crankshaft).
Review URL: http://codereview.chromium.org/
9113012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10343
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 5 Jan 2012 12:55:06 +0000 (12:55 +0000)]
Fix handling of bogus receivers for Harmony collections.
R=rossberg@chromium.org
BUG=v8:1884
TEST=mjsunit/harmony/collections
Review URL: http://codereview.chromium.org/
9074003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10342
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 5 Jan 2012 12:17:08 +0000 (12:17 +0000)]
Add netbsd support to gyp build.
Review URL: http://codereview.chromium.org/
9071004
Patch from Matthew Sporleder <msporleder@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10341
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 5 Jan 2012 10:18:28 +0000 (10:18 +0000)]
Fix the logic that should ensure that a string cannot have
a hash key of zero.
Review URL: http://codereview.chromium.org/
9113006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10338
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Thu, 5 Jan 2012 10:07:33 +0000 (10:07 +0000)]
Determine page size at runtime on posix platforms. Landing for kalmard. codereview.chromium.org/
9023007/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10337
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 5 Jan 2012 09:57:10 +0000 (09:57 +0000)]
Alter the second hash used in StoreBuffer::Compact.
hash2 >> (kHashMapLengthLog2 * 2) was always zero because hash2 was masked with (kHashMapLength - 1).
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
9085021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10336
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 5 Jan 2012 09:26:15 +0000 (09:26 +0000)]
MIPS: Avoid embedding new space objects into code objects in the lithium gap resolver.
Port r10301 (
c91aeb4c).
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9032005
Patch from Daniel Kalmar <kalmard@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10335
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Thu, 5 Jan 2012 07:53:28 +0000 (07:53 +0000)]
Ensure that store buffer filtering hash sets are cleared after StoreBuffer::Filter.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/
8964025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10334
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
vegorov@chromium.org [Wed, 4 Jan 2012 19:59:01 +0000 (19:59 +0000)]
When shrinking semispace don't relink pages if semispace is not committed
R=mstarzinger@chromium.org
Review URL: http://codereview.chromium.org/
9086005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10333
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 4 Jan 2012 17:29:01 +0000 (17:29 +0000)]
Rollback 10331: Make sure transitioned arrays efficiently call builtin Array functions
Due to perf regressions
TBR=fschneider@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
8983027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10332
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 4 Jan 2012 17:16:04 +0000 (17:16 +0000)]
Make sure transitioned arrays efficiently call builtin Array functions
Loosen the requirement for Map equivalency on several map checks, including checks up the prototype chain, that are not sensitive to ElementsKinds. These selected map checks should also match against FAST_DOUBLE_ELEMENT and FAST_ELEMENT transitions of the original map. This specifically helps all variants of transitioned JSArrays to still efficiently call builtins like push, pop and sort.
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
9015020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10331
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
erik.corry@gmail.com [Wed, 4 Jan 2012 15:12:15 +0000 (15:12 +0000)]
Randomize the seed used for string hashing. This helps guard against
CPU-eating DOS attacks against node.js servers. Based on code from
Bert Belder. This version only solves the issue for those that compile
V8 themselves or those that do not use snapshots. A snapshot-based
precompiled V8 will still have predictable string hash codes.
Review URL: http://codereview.chromium.org/
9086006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10330
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
kmillikin@chromium.org [Wed, 4 Jan 2012 14:45:29 +0000 (14:45 +0000)]
Fix a few preprocessor macros that could capture an 'else'.
Namely they are SLOW_ASSERT, RETURN_IF_SCHEDULED_EXCEPTION, and
RETURN_IF_EMTPY_HANDLE_VALUE.
R=svenpanne@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/
8983016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10329
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Jan 2012 09:58:21 +0000 (09:58 +0000)]
Fix windows build.
Review URL: http://codereview.chromium.org/
8983014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10328
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 4 Jan 2012 09:40:47 +0000 (09:40 +0000)]
MIPS: Undo allocation of half-formed array during elements transition
Port r10320 (
bb429e82)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9082001
Patch from Gergely Kis <gergely@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10327
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 4 Jan 2012 09:39:35 +0000 (09:39 +0000)]
MIPS: Add InternalArrayCodeGeneric
Port r10308 (
4e74cc88)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9078002
Patch from Gergely Kis <gergely@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10326
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 4 Jan 2012 09:38:08 +0000 (09:38 +0000)]
MIPS: Ensure that InternalArrays remain InternalArrays regardless of how they are constructed.
Port r10306 (
9141da8e)
BUG=
TEST=
Review URL: http://codereview.chromium.org/
9080001
Patch from Gergely Kis <gergely@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10325
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 4 Jan 2012 08:48:35 +0000 (08:48 +0000)]
Implement callback when script finishes running in V8 API.
TEST=test-api/LeaveScriptCallback
Review URL: http://codereview.chromium.org/
8937003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10323
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 3 Jan 2012 16:38:42 +0000 (16:38 +0000)]
Update LICENSE file
R=erik.corry@gmail.com
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/
9074002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10322
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 3 Jan 2012 10:45:28 +0000 (10:45 +0000)]
Improve performance of Math.min and Math.max for the case of two arguments.
BUG=v8:1325
TEST=
Review URL: http://codereview.chromium.org/
9065008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10321
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Tue, 3 Jan 2012 09:39:34 +0000 (09:39 +0000)]
Undo allocation of half-formed array during elements transition
R=vegorov@chromium.org
BUG=none
TEST=no asserts in debug tests with smi-only-array on
Review URL: http://codereview.chromium.org/
9015023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@10320
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
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