Commit Graph

3964 Commits

Author SHA1 Message Date
alph@chromium.org
bd5fafd58a Handle AccessorPair struct in heap snapshot.
R=svenpanne@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/17616002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15320 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 11:55:33 +00:00
hpayer@chromium.org
256c136b4f Fixed more gc stress builder tests.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17590016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 11:16:13 +00:00
mstarzinger@chromium.org
6d92511162 Reland "Remove IsInitialized checks from inlined API functions."
The initialization sequence in Blink has been adapted to use explicit
isolate initialization instead of through calling v8::Null() as the
first API call.

R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/17642011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 08:11:50 +00:00
hpayer@chromium.org
7ba980f2b1 Added pretenuring support for fast literal allocation in old data space.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17580011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15306 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-25 07:47:53 +00:00
dslomov@chromium.org
e6e0ee0708 Update typed arrays behavior to match ES6 rev 15. Remove TO_POSITIVE_INTEGER and throw on negative length arguments.
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/17572009

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:58:52 +00:00
loislo@chromium.org
e04a874edd CPUProfiler: fix for test.
TBR= yangguo@chromium.org

Review URL: https://codereview.chromium.org/17589010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 13:03:19 +00:00
dslomov@chromium.org
4308fb462d API for DataView.
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/17155014

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 11:23:50 +00:00
mstarzinger@chromium.org
48c16454b1 Revert "Remove IsInitialized checks from inlined API functions."
This reverts r15277 due to failures in layout tests. Apparently Blink
still initializes the Isolate by calling v8::Null() as the first API
function on some paths.

TBR=svenpanne@chromium.org
TEST=webkit:crypto/worker-random-values-concurrent.html

Review URL: https://codereview.chromium.org/17577008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 11:10:40 +00:00
mstarzinger@chromium.org
9ef18efff6 Remove IsInitialized checks from inlined API functions.
R=marja@chromium.org, svenpanne@chromium.org
TEST=cctest/test-api

Review URL: https://codereview.chromium.org/17068006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 08:58:01 +00:00
dslomov@chromium.org
b05628f540 Update boot-up memory use limit after adding DataView.
R=danno@chromium.org

Review URL: https://codereview.chromium.org/17589005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-24 07:02:53 +00:00
dslomov@chromium.org
91eb5f8d25 DataView implementation.
R=rossberg@chromium.org

Review URL: https://codereview.chromium.org/17153011

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 13:02:38 +00:00
yurys@chromium.org
7f1750580c V8 API: Add a missing NULL check into Isolate::GetCurrentContext().
There is a missing NULL check for: "internal_isolate->context() != NULL".
Right now before calling this method one should call v8::Context::InContext()
first to perform this check, otherwise we may crash. But this static method
will do this check on the current isolate, which may not be the same as a given one.

BUG=249655
R=yurys@chromium.org,mvstanton@chromium.org

Review URL: https://codereview.chromium.org/16943006

Patch from Andrey Adaykin <aandrey@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15266 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 12:34:47 +00:00
yangguo@chromium.org
b7b92bd9ac Short-circuit embedded cons strings.
R=mstarzinger@chromium.org
BUG=

Review URL: https://codereview.chromium.org/17418003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 09:24:30 +00:00
yurys@chromium.org
6f09cb471b Delete deprecated methods from v8-profiler.h
All these methods were already marked as V8_DEPRECATED in V8 Version 3.18.0 (see https://code.google.com/p/v8/source/browse/trunk/include/v8-profiler.h?r=14304) so it is time to delete them.

BUG=None
R=loislo@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/17524007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-21 07:56:22 +00:00
yurys@chromium.org
c7b3ef0e05 Make sure ExternalCallbackScope is always created when VM state changes to EXTERNAL
ExternalCallbackScope is used to let CPU profiler know which API callback is being executed. Whenever such callback is called we should create VMState<ETERNAL> and ExternalCallbackScope. This patch fixes several places where VMState<ETERNAL> went without ExternalCallbackScope.

BUG=244580
R=dcarney@chromium.org, svenpanne@chromium.org

Review URL: https://codereview.chromium.org/17059005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 14:47:35 +00:00
dcarney@chromium.org
a74f511e61 remove all old style callbacks - patch 3
TBR=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/17336003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15237 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 12:28:27 +00:00
hpayer@chromium.org
77f5c6c122 Don't let the GC clear the cache between cache invocations to pass test.
BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/17218005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15233 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 11:23:34 +00:00
yangguo@chromium.org
928cbcdc8d Skip parallel recompilation tests if parallel recompilation is disabled.
Parallel recompilation is usually disabled on single-core systems.

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

Review URL: https://codereview.chromium.org/17261021

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15231 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 11:01:33 +00:00
wingo@igalia.com
f7ba3a7bb1 Fix stack frame reconstruction for generators with formal arguments
The formal parameter count was always being treated as an untagged
integer, but it is actually a Smi on ia32 and arm.

R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration

Review URL: https://codereview.chromium.org/17485002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15230 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 10:48:34 +00:00
mstarzinger@chromium.org
ea87d08557 Revert r14930 and r14935 temporarily.
This is a temporary revert to track down a potential perf regression
introduced in r14930. The following two changes were reverted:
- "Deprecate HAllocateObject in favor of HAllocate."
- "Added pretenuring support for call new."

R=danno@chromium.org
BUG=chromium:247504

Review URL: https://codereview.chromium.org/17491002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15229 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 10:48:14 +00:00
hpayer@chromium.org
1609402534 Abort incremental marking in stress gc tests whenever we expect a full collection after executing CollectAllGarbage.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17482003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15227 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 10:04:53 +00:00
rossberg@chromium.org
eb099a1a8c Introduce Type::Intersect function
Also, fix bugs in Type::Union and Type::Maybe.

(This subsumes the in-flight fix for Union in https://codereview.chromium.org/16925008/, including test cases).

R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/17335003

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 09:10:10 +00:00
dcarney@chromium.org
640353d088 remove all old style callbacks - patch 1 of many
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/17064004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 08:12:59 +00:00
dcarney@chromium.org
89fb509c77 remove all old style callbacks - patch 2
R=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/17071004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15221 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 08:07:45 +00:00
yurys@chromium.org
2ab2e4843e Introduce THREADED_PROFILED_TEST macro
A bunch of tests in test-api.cc need to be executed two times: with CPU profiler on and off to check different code paths. There are only two such tests at the moment but I'm going to add more and having this logic duplicated in all these tests look awkward. The tests are executed as part of Threading* tests and there is no much sense in running CPU profiler in that case. This change addresses both problems by introducing THREADED_PROFILED_TEST macro which mosly resembles THREADED_TEST except that when such test is executed as a standalone test (not part of a test-api/Threading*) it will first run the test normally and the start CPU profiler and run the test again.

BUG=244580
R=svenpanne@chromium.org

Review URL: https://codereview.chromium.org/17072002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15220 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-20 06:46:56 +00:00
verwaest@chromium.org
2ca5c6cd03 Fix using monomorphic store instruction for polymorphic stores.
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 18:07:35 +00:00
plind44@gmail.com
127af45629 MIPS: Fix test-cpu-profiler/SampleWhenFrameIsNotSetup flakiness on MIPS simulator.
BUG=v8:2628

TEST=cctest/test-cpu-profiler/SampleWhenFrameIsNotSetup
R=jkummerow@chromium.org, yurys@chromium.org

Review URL: https://codereview.chromium.org/17265004

Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 17:20:25 +00:00
plind44@gmail.com
e6b83db740 MIPS: Fix cctest/test-assembler-mips on MIPS32R1 architecture.
TEST=cctest/test-assembler-mips/MIPS3

BUG=
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/17099010

Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 17:15:21 +00:00
jkummerow@chromium.org
aea73c155d Remove unused counters
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17157006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 16:50:38 +00:00
mvstanton@chromium.org
7f0f022792 Bugfix in hydrogen array literal code generation.
If an array literal contains some non-constant elements, is of type SMI, and
then the boilerplate transitions to double or fast sometime after we've
crankshafted the code, then we could incorrectly store smis in double arrays.

BUG=
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/17334004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 13:48:50 +00:00
svenpanne@chromium.org
010d9aba16 Avoid relying on monkey-patchable things in String.prototype.split.
R=yangguo@chromium.org

Review URL: https://codereview.chromium.org/17391016

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 12:25:40 +00:00
dslomov@chromium.org
51f3e2f055 Do not use weak handles for ArrayBuffers.
Instead of allocating weak handles to free ArrayBuffer backing store, dispose of memory while walking the weak list of ArrayBuffers on GC.

Also, free all array buffers on isolate tear-down.

R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/16950013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 11:53:30 +00:00
yangguo@chromium.org
1be45275c6 Fix test for bots that force --parallel-recompilation as shell flag.
R=jkummerow@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16914006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 09:32:05 +00:00
mvstanton@chromium.org
c70b41684d Use type feedback for Array (non-constructor) call sites.
BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/17155010

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15201 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 09:25:24 +00:00
hpayer@chromium.org
8f8461aff5 Disable stress_compaction flag in several GC tests to meet test
expectations.

BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17262002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-19 08:58:09 +00:00
yangguo@chromium.org
627872ec67 Do not modify FLAG_parallel_recompilation after start up.
R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 14:25:24 +00:00
mstarzinger@chromium.org
0524263a27 Remove obsolete elements kind check for array literals.
R=jkummerow@chromium.org

Review URL: https://codereview.chromium.org/17378005

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15194 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 13:32:06 +00:00
svenpanne@chromium.org
fb7310b1fd Fixed read-only attribute of Function.length in strict mode.
R=cira@chromium.org

Review URL: https://codereview.chromium.org/17006006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-18 07:51:50 +00:00
palfia@homejinni.com
f8fc5c443e Allow running mjsunit/manual-parallel-recompile on single-core systems.
- Add an %IsParallelSupported() builtin function to  make possible to check support of parallel processing from JavaScripts.
- Change the test script that if parallel recompilation is forced on a single core CPU, expect that it won't be recompiled in parallel.
- Change the  JSFunction::MarkForParallelRecompilation() to fall back gracefully if parallel recompilation is not supported.

BUG=v8:2733
TEST=mjsunit/manual-parallel-recompile

Review URL: https://codereview.chromium.org/17277002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 16:27:18 +00:00
palfia@homejinni.com
93609033e1 MIPS: Optimise Math.floor(x/y) to use integer division for MIPS.
Use div instruction if some divisors do not have magic number.

Based on commit r11427 (318a9598).

This commit also ports commit r15161 (554d45c1).

BUG=

Review URL: https://codereview.chromium.org/16951016
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 15:06:41 +00:00
hpayer@chromium.org
2f731575f5 Fix Iteration on gc stress builder.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17069004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15178 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 06:52:01 +00:00
hpayer@chromium.org
1adbc6134d Fix Regress1465 on gc stress builder.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17059006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 06:44:44 +00:00
hpayer@chromium.org
bbdf6dc6cf Fix Regress2237 on gc stress builder.
BUG=
R=mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17081002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-17 06:36:46 +00:00
verwaest@chromium.org
328aeb14fb Revert "Improved range analysis for bitwise operations."
This reverts commit r15170

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15173 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 17:25:03 +00:00
verwaest@chromium.org
98167ed0a8 Improved range analysis for bitwise operations.
R=fschneider@chromium.org, verwaest@chromium.org

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

Patch from Stephen Adams <sra@google.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:55:34 +00:00
hpayer@chromium.org
08a4a37616 Decrease size of first page of property cell space.
BUG=
R=danno@chromium.org, mstarzinger@chromium.org

Review URL: https://codereview.chromium.org/17027006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:36:55 +00:00
dcarney@chromium.org
b0860dd2b0 arm build fix for 15142
TBR=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/17030007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15144 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 10:49:57 +00:00
dcarney@chromium.org
022ee63f5c build fix for 15142
TBR=svenpanne@chromium.org
BUG=

Review URL: https://codereview.chromium.org/16942004

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 10:34:12 +00:00
yurys@chromium.org
c4224f09a2 Notify CPU profiler when calling native getters
This change modifies code produced by BaseLoadStubCompiler::GenerateLoadCallback so that instead of calling AccessorGetter direcly it calls InvokeAccessorGetter which changes VM state and calls the actual callback. This way CPU profiler knows which external callback is being executed in this case. Indirect call happens only if CpuProfiler::is_profiling() is true.

This is exactly same change as r15116 with a build fix for test-api.cc

BUG=244580
TBR=danno@chromium.org

Review URL: https://codereview.chromium.org/16858013

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 19:16:35 +00:00
mvstanton@chromium.org
5b2c1a50d9 HCheckFunction is needed to protect new array constructors in
crankshafted code.

BUG=
R=danno@chromium.org

Review URL: https://codereview.chromium.org/16944006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 14:29:01 +00:00