Commit Graph

9108 Commits

Author SHA1 Message Date
mstarzinger@chromium.org
7da6d2b023 Fix lazy compilation for strict eval scopes.
This prevents lazy compilation of functions that have an outer context
containing a strict eval scope. Such a scope potentially contains
context allocated variables in an artificial function scope that is not
deserialized correctly.

R=ulan@chromium.org
BUG=chromium:135066
TEST=mjsunit/regress/regress-crbug-135066

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 08:41:13 +00:00
ulan@chromium.org
c22c7054f2 Add Makefile targets for running tests on Android.
This allows to run tests on the attached Android device using
> make android.check
> make android.debug.check
> make android.release.check
> ANDROID_V8=/data/local/v8 TESTJOBS=-j4 make android.release.check -j10

Tests and binaries are copied to device location specified by the ANDROID_V8
variable and then tests are executed using the 'adb shell' program.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11975 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-03 07:45:58 +00:00
jkummerow@chromium.org
70d56acd1f Make MACOSX_DEPLOYMENT_TARGET configurable.
BUG=v8:2151

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 14:58:43 +00:00
rossberg@chromium.org
1590a5d6b4 Added tests for calling typed array constructors as functions.
R=danno@chromium.org
BUG=v8:1497
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 13:09:47 +00:00
yurys@chromium.org
771ba7ae99 Report "hidden properties" in heap profiler for properties case
BUG=v8:2212
TEST=cctest/test-heap-profiler/HiddenPropertiesFastCase
Review URL: https://chromiumcodereview.appspot.com/10692058

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 12:46:31 +00:00
yangguo@chromium.org
3f1ea190fc Plug memory leak in Isolate.
R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 12:15:23 +00:00
danno@chromium.org
34d79888fb Add test case for typed arrays slicing
R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 10:45:00 +00:00
danno@chromium.org
d030121458 Activate optimization of packed arrays by default
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-02 09:50:53 +00:00
peter.rybin@gmail.com
dffb5082ba Properly fix liveedit heap traversal bug with write barrier
Review URL: https://chromiumcodereview.appspot.com/10682013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-07-01 22:25:48 +00:00
danno@chromium.org
ec65e4fe78 Consolidate similar KeyedLoads to worst case instead of transitioning elements
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 22:27:25 +00:00
mstarzinger@chromium.org
fc3c94535d Disallow inlining of functions containing array literals.
This is disabled due to regressions in 3d-cube, but leaves the actual
code to allow inlining in place so it can easily be enabled again.

R=jkummerow@chromium.org
BUG=v8:1322

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11958 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 16:39:40 +00:00
yangguo@chromium.org
98b89329f1 Prepare push to trunk. Now working on version 3.12.7.
R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 15:15:20 +00:00
yangguo@chromium.org
7a201f599b Put even more debug information on stack when aborting.
R=jkummerow@chromium.org
BUG=131642
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11954 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 15:11:16 +00:00
yangguo@chromium.org
f6230ab420 Extend test for external arrays.
R=rossberg@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11953 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 15:06:36 +00:00
yangguo@chromium.org
947cf3930f Fix isolate build.
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 09:15:52 +00:00
yangguo@chromium.org
8128c6e7f6 Cleanup hardfp ABI detection. This work was triggered by issue 2140.
BUG=none
TEST=none

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-29 08:04:24 +00:00
rossberg@chromium.org
32e01d224d ARRAY_SIZE is not available on Linux-shared.
R=mstarzinger@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 16:40:16 +00:00
rossberg@chromium.org
680797234c Further extend TypedArray support in d8:
- Add copy constructors.
- Add subarray methods.
- Make instanceof and constructor property work.
- Rename PixelArray to Uint8ClampedArray.

Also fix broken definition of assertInstanceof in MJSUnit test harness.

R=mstarzinger@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 16:29:53 +00:00
yangguo@chromium.org
72f83f744b Prepare push to trunk. Now working on version 3.12.6.
R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 15:03:51 +00:00
mstarzinger@chromium.org
a691c693fb Fix lazy parsing heuristics to respect outer scope.
This makes sure that a function literal is only parsed lazily when the
outer scope actually allows lazy compilation. Otherwise compilation will
crash due to a missing function body.

R=ulan@chromium.org
BUG=chromium:135008
TEST=mjsunit/regress/regress-crbug-135008

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 14:56:28 +00:00
jkummerow@chromium.org
6504c92c0a Allow using test-wrapper-gypbuild.py on Windows when no python interpreter is registered.
R=danno@chromium.org

Review URL: https://chromiumcodereview.appspot.com/10716004
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 14:31:03 +00:00
sanjoy@chromium.org
d9d76b7a5c Revert 11939 'Add a CompilationHandleScope' since it breaks array-sort.js in Win32 Release.
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-28 12:34:51 +00:00
mstarzinger@chromium.org
a90c023d5e Allow inlining of functions containing array literals.
R=yangguo@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-27 14:46:01 +00:00
jkummerow@chromium.org
58b89416b9 Enable the CHECK for near-jump displacement range in Release mode too.
If we're generating bad code anyway, we might as well crash immediately and at least get a proper backtrace.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-27 12:33:39 +00:00
mstarzinger@chromium.org
df35732ab2 Allow inlining of functions containing RegExp literals.
R=yangguo@chromium.org
BUG=v8:1322
TEST=mjsunit/compiler/inline-literals

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-27 11:49:37 +00:00
sanjoy@chromium.org
64e7c6b13e Add a second kind of HandleScope that ties the lifetime of Handles created in its scope to the lifetime of a given CompilationInfo.
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-27 11:47:47 +00:00
jkummerow@chromium.org
86231b8512 Prepare push to trunk. Now working on version 3.12.5.
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-27 11:09:17 +00:00
yangguo@chromium.org
8a61d3f2fd Port r11517 (not deopt Math.floor on negative input) to x64, sse2.
BUG=v8:873
TEST=math-floor-negative.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-27 07:27:28 +00:00
jkummerow@chromium.org
d7c11199cb Remove -fomit-frame-pointer flag from Release builds
BUG=133723

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11934 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-26 15:31:27 +00:00
ulan@chromium.org
2b5e60f3d2 Enable whole program optimization for WIN64 to make build-bot green.
R=jkummerow@chromium.org
BUG=v8:2207

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-26 15:27:12 +00:00
yangguo@chromium.org
20ebd21b09 Port r7868 (constant masking) to x64.
BUG=v8:1374
TEST=test-compiler/SplitConstantsInFullCompiler

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-26 13:56:48 +00:00
mstarzinger@chromium.org
6902028445 Expose more detailed memory statistics
Expose allocated and used byte counters for the different spaces. The goal is
to monitor those values both on page cycles and via UMA

BUG=v8:2201
TEST=none

Review URL: https://chromiumcodereview.appspot.com/10657022
Patch from Jochen Eisinger <jochen@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-26 11:46:16 +00:00
mstarzinger@chromium.org
3fd25c6cbc Fix missing slot recording in transition compaction.
R=verwaest@chromium.org
TEST=cctest/test-api/Threading2

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-26 11:25:28 +00:00
yangguo@chromium.org
3a74218589 MIPS: Skip LiveEdit test on ARM.
Port r11915 (4c749256)

BUG=
TEST=

Review URL: https://chromiumcodereview.appspot.com/10661049
Patch from Akos Palfi <palfia@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11929 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-26 07:48:04 +00:00
peter.rybin@gmail.com
c4c96f9e70 Revert 11927 "Fix liveedit heap traversal bug with write barrier"
A test was broken by r11927

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11928 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 22:20:52 +00:00
peter.rybin@gmail.com
5a065cf8de Fix liveedit heap traversal bug with write barrier
Review URL: https://chromiumcodereview.appspot.com/10639006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 21:43:50 +00:00
mstarzinger@chromium.org
51afb2ad8b Fix failing test after r11924.
R=verwaest@chromium.org
BUG=chromium:132744
TEST=cctest/test-dictionary/ObjectHashTableCausesGC

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11926 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:57:52 +00:00
verwaest@chromium.org
a7565d696a Update heap test so it calls gc 6 times. This is necessary to avoid flakiness.
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11925 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:55:36 +00:00
mstarzinger@chromium.org
362381c68d Fix Harmony Maps and WeakMaps for undefined values.
R=rossberg@chromium.org
BUG=chromium:132744
TEST=mjsunit/harmony/collections

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11924 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:33:48 +00:00
yangguo@chromium.org
99a58e36ad Correctly throw reference error in strict mode with ICs disabled.
R=jkummerow@chromium.org
BUG=v8:2119
TEST=regress/regress-2119.js

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11923 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:28:11 +00:00
verwaest@chromium.org
68c944c265 In-place shrinking of descriptor arrays with non-live transitions.
Instead of overwriting non-live transitions with NULL_DESCRIPTORs, we remove them from the array by compacting the array (shifting live values to the left) and in-place trimming the array. If the final descriptor array contains no live values (only contained transitions which are now all cleared), we move bit_field3 back from the descriptor array to the map. The descriptor array itself will be collected in the next GC.

BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 13:10:54 +00:00
ulan@chromium.org
390580e49f Use correct size of objects in PrintShortHeapStatistics.
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 12:51:03 +00:00
verwaest@chromium.org
41560e9f5f Separate stub types from property types.
Review URL: https://chromiumcodereview.appspot.com/10656018

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11920 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 11:35:23 +00:00
ulan@chromium.org
3c58dab2b2 Prepare push to trunk. Now working on version 3.12.4.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11917 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 09:45:51 +00:00
ulan@chromium.org
781484365b Revert r11835 'Unify promotion and allocation limit computation' due to V8 Splay performance regression on Mac.
R=mstarzinger@chromium.org
BUG=134183

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 09:14:47 +00:00
yangguo@chromium.org
32a6a29cc8 Skip LiveEdit test on ARM.
R=mstarzinger@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11915 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-25 08:18:09 +00:00
peter.rybin@gmail.com
83973a0a2e Correctly support several consecutive stack modifications.
Review URL: https://chromiumcodereview.appspot.com/10637003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11914 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 20:50:03 +00:00
mstarzinger@chromium.org
84b866b2d9 Fix sharing of literal boilerplates for optimized code.
This makes sure the literal boilerplates array is correctly shared
together with optimized code when caching of optimized code is enabled.
It also enabled said caching by default again.

R=ulan@chromium.org
BUG=v8:2193
TEST=mjsunit/regress/regress-2193

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 13:55:15 +00:00
yangguo@chromium.org
e3888b2e57 Prepare push to trunk. Now working on version 3.12.3.
R=jkummerow@chromium.org
BUG=
TEST=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11908 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 13:44:02 +00:00
jkummerow@chromium.org
9ce4133017 Make near-jump check more strict in LoadNamedFieldPolymorphic on ia32/x64
BUG=134055

TEST=mjsunit/regress/regress-crbug-134055

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@11907 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2012-06-22 13:38:39 +00:00