dcarney@chromium.org [Thu, 13 Jun 2013 10:39:44 +0000 (10:39 +0000)]
another attempt at fixing 15107
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16854009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15112
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Thu, 13 Jun 2013 10:18:28 +0000 (10:18 +0000)]
Use keyed-call inline caches in delegating yield
Since we can't assume anything about the shape of the iterator in a
yield* (delegating yield), use an IC to do the next() and throw()
iterator method calls.
BUG=v8:2691
R=rossberg@chromium.org
TEST=mjsunit/regress/regress-2691
Review URL: https://codereview.chromium.org/
15455002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15111
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 13 Jun 2013 10:13:09 +0000 (10:13 +0000)]
build fix for 15107
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16944003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15110
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 13 Jun 2013 09:55:42 +0000 (09:55 +0000)]
build fix for 15107
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16954004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15109
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Thu, 13 Jun 2013 09:48:23 +0000 (09:48 +0000)]
Trace amount of external memory with --trace-gc-verbose.
R=hpayer@google.com
Review URL: https://codereview.chromium.org/
16953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15108
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 13 Jun 2013 09:27:09 +0000 (09:27 +0000)]
remove most uses of raw handle constructors
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
15817014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15107
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Thu, 13 Jun 2013 07:47:42 +0000 (07:47 +0000)]
Fix memory leak in assert scopes.
R=svenpanne@chromium.org
BUG=246567
Review URL: https://chromiumcodereview.appspot.com/
15709020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15106
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Thu, 13 Jun 2013 07:23:23 +0000 (07:23 +0000)]
Deprecate the version of MakeWeak which takes an Isolate.
BUG=NONE
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
16528009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15105
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 12 Jun 2013 23:40:46 +0000 (23:40 +0000)]
MIPS: Fix for bug 245480. Calling new Array(a) with a single argument could result in creating a holey array with a packed elements kind.
Port r15095 (
4a97e1e4)
BUG=
Review URL: https://codereview.chromium.org/
16861003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15104
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 12 Jun 2013 23:39:22 +0000 (23:39 +0000)]
MIPS: Separate Cell and PropertyCell spaces
Port r15089 (
5c28e4e7)
Original commit message:
This makes it possible to store additional information on property cells, for example Type and optimized Code dependencies.
BUG=
Review URL: https://codereview.chromium.org/
16858003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15103
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 12 Jun 2013 23:02:05 +0000 (23:02 +0000)]
Bump snapshot limits to fix BootUpMemoryUse tests
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16870003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15102
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 12 Jun 2013 22:30:58 +0000 (22:30 +0000)]
Prepare push to trunk. Now working on version 3.19.15.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16838008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15099
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 12 Jun 2013 22:21:08 +0000 (22:21 +0000)]
Fix nosnap sarialization test failure (again)
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
16871002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15098
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 12 Jun 2013 21:46:53 +0000 (21:46 +0000)]
MIPS: Allow the deoptimizer translation to track de-materialized objects.
Port r15087 (
63e1626)
Original commit message:
This allows the deoptimizer to materialize objects (e.g. the arguments
object) while deopting without having a consective stack area holding
the object values. The LEnvironment explicitly tracks locations for
these values and preserves them in the translation.
TEST=mjsunit/compiler/inline-arguments
BUG=
Review URL: https://codereview.chromium.org/
16846002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15097
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Wed, 12 Jun 2013 19:41:29 +0000 (19:41 +0000)]
MIPS: Allocate generator result objects before unwinding try handlers
Port r15079 (
1ebdfdc6)
Original commit message:
When a generator suspends, it saves its state out to the heap and
unwinds try handlers but doesn't pop anything off the stack. Instead it
relies on no GC happening between the suspend and the return from the
generator. However this was not the case: boxing the result object
could cause GC, which would try to traverse the stack but would
misinterpret words from unwound try handlers as heap objects.
This CL changes to allocate the result objects before the suspend. It
also removes the generators-iteration skip introduced in r15065.
BUG=
Review URL: https://codereview.chromium.org/
16820004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15096
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Wed, 12 Jun 2013 18:04:16 +0000 (18:04 +0000)]
Fix for bug 245480. Calling new Array(a) with a single argument could result in creating a holey array with a packed elements kind.
BUG=245480
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
16341004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15095
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 12 Jun 2013 17:59:11 +0000 (17:59 +0000)]
Fix release serialization tests
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/
16695008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15094
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
rossberg@chromium.org [Wed, 12 Jun 2013 17:20:37 +0000 (17:20 +0000)]
Migrate Compare ICs to new type rep
(Does not yet use common AST expression type field.)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16361015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15093
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 12 Jun 2013 16:23:17 +0000 (16:23 +0000)]
Fix serialization tests and Mac build
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16109018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15092
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 12 Jun 2013 15:36:11 +0000 (15:36 +0000)]
Add sample usage / output and -u option
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16802003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15091
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 12 Jun 2013 15:35:03 +0000 (15:35 +0000)]
Increase limit for snapshot size test
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
15821018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15090
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Wed, 12 Jun 2013 15:03:44 +0000 (15:03 +0000)]
Separate Cell and PropertyCell spaces
This makes it possible to store additional information on property cells, for example Type and optimized Code dependencies.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
16631002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15089
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Wed, 12 Jun 2013 14:34:19 +0000 (14:34 +0000)]
two cpu profiler tests are flaky on windows.
BUG=none
TEST=LogExistingFunctionSourceURLCheck, SourceURLSupportForNewFunctions
TBR=yurys
Review URL: https://codereview.chromium.org/
16280011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15088
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 12 Jun 2013 14:22:49 +0000 (14:22 +0000)]
Allow the deoptimizer translation to track de-materialized objects.
This allows the deoptimizer to materialize objects (e.g. the arguments
object) while deopting without having a consective stack area holding
the object values. The LEnvironment explicitly tracks locations for
these values and preserves them in the translation.
R=svenpanne@chromium.org
TEST=mjsunit/compiler/inline-arguments
Review URL: https://codereview.chromium.org/
16779004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15087
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Wed, 12 Jun 2013 14:05:56 +0000 (14:05 +0000)]
Deprecate obsolete JSFunction::unchecked_shared accessor.
R=hpayer@chromium.org
BUG=v8:1490
Review URL: https://codereview.chromium.org/
16813005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15086
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 12 Jun 2013 13:14:35 +0000 (13:14 +0000)]
Clean up StoreBuffer::EnsureSpace.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
16690006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15085
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 12 Jun 2013 12:52:16 +0000 (12:52 +0000)]
GeneratorFunction() makes generator instances
The current specification has GeneratorFunction() be like Function(),
except that it makes generator instances. This commit implements that
behavior. It also fills in a piece of the implementation where
otherwise calling GeneratorFunction or GeneratorFunctionPrototype would
cause an abort because they have no code.
R=mstarzinger@chromium.org
TEST=mjsunit/harmony/generators-iteration
TEST=mjsunit/harmony/generators-runtime
BUG=v8:2355,v8:2680
Review URL: https://codereview.chromium.org/
15218004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15084
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Wed, 12 Jun 2013 12:39:15 +0000 (12:39 +0000)]
Implemented function that returns code age.
This may be used to display debugging information.
BUG=
R=danno@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
16509005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15083
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 12 Jun 2013 12:37:44 +0000 (12:37 +0000)]
For-of statements do not permit initializers.
R=rossberg@chromium.org
BUG=v8:2720
Review URL: https://codereview.chromium.org/
16739008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15082
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 12 Jun 2013 11:48:55 +0000 (11:48 +0000)]
Re-enable the harmony => harmony-generators implication after r15079.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16815002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15081
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 12 Jun 2013 11:18:45 +0000 (11:18 +0000)]
Print v8 revision rather than branches/$branch.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16814003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15080
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Wed, 12 Jun 2013 11:02:51 +0000 (11:02 +0000)]
Allocate generator result objects before unwinding try handlers
When a generator suspends, it saves its state out to the heap and
unwinds try handlers but doesn't pop anything off the stack. Instead it
relies on no GC happening between the suspend and the return from the
generator. However this was not the case: boxing the result object
could cause GC, which would try to traverse the stack but would
misinterpret words from unwound try handlers as heap objects.
This CL changes to allocate the result objects before the suspend. It
also removes the generators-iteration skip introduced in r15065.
R=mstarzinger@chromium.org
TEST=mjsunit/harmony/generators-iteration
BUG=
Review URL: https://codereview.chromium.org/
16801006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15079
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Wed, 12 Jun 2013 10:39:52 +0000 (10:39 +0000)]
Adding useful scripts to parse revision info.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16812003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15078
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Wed, 12 Jun 2013 09:43:22 +0000 (09:43 +0000)]
Reland "Enable map dependency to in-flight compilation info."
BUG=248076
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16782004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15077
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Wed, 12 Jun 2013 09:31:39 +0000 (09:31 +0000)]
Unify processing of weak lists in heap.cc
R=hpayer@chromium.org, mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
16641003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15076
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Wed, 12 Jun 2013 08:57:36 +0000 (08:57 +0000)]
release callback table memory in ~Isolate
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16304008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15075
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
loislo@chromium.org [Wed, 12 Jun 2013 08:27:24 +0000 (08:27 +0000)]
DevTools: CPUProfiler: provide url for scripts that have sourceURL property.
BUG=none
TEST=SourceURLSupportForNewFunctions, LogExistingFunctionSourceURLCheck
R=jkummerow@chromium.org, yurys@chromium.org
Review URL: https://codereview.chromium.org/
16035027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15074
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Wed, 12 Jun 2013 08:05:43 +0000 (08:05 +0000)]
Use -O2 instead -O3 for Android build.
It produces smaller binary with almost the same performance.
R=benm@chromium.org, jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
15929009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15071
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 11 Jun 2013 17:41:03 +0000 (17:41 +0000)]
MIPS: Skip some conditional deopts for Div/Mul when all uses are truncating.
Port r15060 (
8cdd204)
Original commit message:
- set "can be minus zero" flag properly so minus-zero checks are skipped
- skip "integer result?" check in division code when uses are truncating
- drive-by cleanup: consolidated computation of kCanOverflow flag for Add/Sub into range inference phase
BUG=v8:2132
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
16645007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15070
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
ulan@chromium.org [Tue, 11 Jun 2013 15:37:56 +0000 (15:37 +0000)]
Prepare push to trunk. Now working on version 3.19.14.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16276010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15067
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 11 Jun 2013 15:00:41 +0000 (15:00 +0000)]
Test that functions created using v8::FunctionTemplate::New correctly displayed in CPU profiles
BUG=244580
R=jkummerow@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
16771002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15066
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Tue, 11 Jun 2013 14:45:17 +0000 (14:45 +0000)]
Disable --harmony -> --harmony-generators implication
A GC-related bug has started showing up after r15060 that unfortunately
I haven't been able to reproduce. Disable generators by default for the
Canary push.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16638011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15065
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Tue, 11 Jun 2013 14:40:44 +0000 (14:40 +0000)]
Add tracing for functions processed by code flushing.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/
16773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15064
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 11 Jun 2013 14:31:46 +0000 (14:31 +0000)]
MIPS: Allow timeout for TerminateMultipleV8ThreadsDefaultIsolate.
test-thread-termination/TerminateMultipleV8ThreadsDefaultIsolate
times out on the MIPS simulator.
Allow the timeouts until this is fixed.
BUG=v8:2657
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16203005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15063
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Tue, 11 Jun 2013 14:30:43 +0000 (14:30 +0000)]
MIPS: Fix memory barriers for atomic operations.
Add barriers using MIPS 'sync' instructions as needed for SMP
systems.
BUG=246947
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
15981017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15062
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Tue, 11 Jun 2013 11:55:56 +0000 (11:55 +0000)]
Revert "Enable map dependency to in-flight compilation info."
This includes r15032, r15030 and r15005.
R=ulan@chromium.org
BUG=248076
Review URL: https://chromiumcodereview.appspot.com/
16482004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15061
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 11 Jun 2013 11:43:57 +0000 (11:43 +0000)]
Skip some conditional deopts for Div/Mul when all uses are truncating.
- set "can be minus zero" flag properly so minus-zero checks are skipped
- skip "integer result?" check in division code when uses are truncating
- drive-by cleanup: consolidated computation of kCanOverflow flag for Add/Sub into range inference phase
BUG=v8:2132
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
16741002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15060
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Tue, 11 Jun 2013 11:30:03 +0000 (11:30 +0000)]
Fix crasher when checking for "of", but next token has no literal buffer
Also fix a typo in an assertion in scanner.h.
R=mstarzinger@chromium.org
BUG=248025
TEST=mjsunit/regress/regress-crbug-248025.js
Review URL: https://codereview.chromium.org/
16549003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15059
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 11 Jun 2013 11:08:46 +0000 (11:08 +0000)]
interceptor return values escape their scope
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16537005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15058
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
jkummerow@chromium.org [Tue, 11 Jun 2013 10:47:44 +0000 (10:47 +0000)]
Increase sanity of integer division handling on ARM
- In the INT32 BinaryOpStub, fix type feedback collection for DIV,
bringing it in line with other platforms.
- In Lithium codegen, emit proper inlined code, don't call the stub.
- Drive-by fix: assert appropriate CpuFeaturesScope for SDIV.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/
16082008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15057
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Tue, 11 Jun 2013 10:41:14 +0000 (10:41 +0000)]
Change ArrayBuffer API and implementation to use embedder-provided allocator.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
15855012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15056
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Tue, 11 Jun 2013 08:32:48 +0000 (08:32 +0000)]
Make sure CallIC is in monomorphic state when starting profiling in NativeAccessorNameInProfile2
Changed cctest/test-cpu-profiler/NativeAccessorNameInProfile2 to make a few warm-up cycles before starting profiler so that accessor invocations performed via monomorphic inline caches and slow paths traces do not distort the profile.
Drive-by: removed logging code that was used to diagnose NativeAccessorNameInProfile2 failures on Windows.
BUG=None
R=jkummerow@chromium.org, loislo@chromium.org
Review URL: https://codereview.chromium.org/
16758007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15055
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Tue, 11 Jun 2013 07:42:12 +0000 (07:42 +0000)]
make empty string returnable by ReturnValue
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16621004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15054
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 10 Jun 2013 21:54:07 +0000 (21:54 +0000)]
MIPS: Fix abs_d instruction in the simulator.
The abs_d instruction was implemented wrongly in the simulator,
it doesn't reverse the sign of the -0 number.
This commit fixes the abs_d instruction implementation.
TEST=msjunit/math-abs
BUG=
Review URL: https://codereview.chromium.org/
15906014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15053
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 10 Jun 2013 18:16:27 +0000 (18:16 +0000)]
MIPS: Use compare nil ic only for non-strict equality.
Port r15045 (
cce366f)
Original commit message:
Strict-equality only has one check and cannot deopt. Should therefore not be part of the stub.
BUG=
Review URL: https://codereview.chromium.org/
16690008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15050
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 10 Jun 2013 18:14:15 +0000 (18:14 +0000)]
MIPS: Generator object "next" method takes optional send value.
Port r15028 (
258a047)
Original commit message:
Update the generators implementation to make "next" also do the job of
what was previously called "send" by taking an optional argument.
Remove send, and do a bunch of renamings.
BUG=v8:2355, v8:2715
Review URL: https://codereview.chromium.org/
16735005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15049
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 10 Jun 2013 18:10:58 +0000 (18:10 +0000)]
MIPS: Fix LoadIC calling convention.
Port r15027 (
3ffb343)
Original commit message:
The comments in ic-arm.cc::LoadIC indicated that the receiver should be
both in a register and on the stack. This isn't true in fact: the code
is careful to spill the receiver if needed.
This CL also fixes up a mistaken use of this convention in VisitYield.
BUG=
Review URL: https://codereview.chromium.org/
16131004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15048
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
palfia@homejinni.com [Mon, 10 Jun 2013 18:07:28 +0000 (18:07 +0000)]
MIPS: add a default value for return value
Port r15024 (
1a76177)
BUG=
Review URL: https://codereview.chromium.org/
16005015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15047
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 10 Jun 2013 16:31:55 +0000 (16:31 +0000)]
Fix compilation with gdbjit=on.
r14919 forgot three AssertNoAllocation -> DisallowHeapAllocation replacements.
BUG=v8:2719
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16093041
Patch from Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15046
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Mon, 10 Jun 2013 15:47:23 +0000 (15:47 +0000)]
use compare nil ic only for non-strict equality. strict-equality only has one check and cannot deopt. should therefore not be part of the stub.
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/
16732002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15045
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Mon, 10 Jun 2013 15:43:40 +0000 (15:43 +0000)]
revert accidental dcommit
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15044
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Mon, 10 Jun 2013 15:30:17 +0000 (15:30 +0000)]
also remove the constant
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15043
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Mon, 10 Jun 2013 15:30:02 +0000 (15:30 +0000)]
remove equality kind from compare nil ic
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15042
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 10 Jun 2013 15:10:44 +0000 (15:10 +0000)]
Prepare push to trunk. Now working on version 3.19.13.
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16730004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15039
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Mon, 10 Jun 2013 14:44:05 +0000 (14:44 +0000)]
Array access fix: g++ darwin 4.2.1 compiler clamped array index to 0 when confronted with negative indices.
BUG=247303
R=jkummerow@chromium.org, ulan@chromium.org
Review URL: https://codereview.chromium.org/
15855015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15038
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
hpayer@chromium.org [Mon, 10 Jun 2013 14:22:41 +0000 (14:22 +0000)]
Fix store buffer ensure space heuristics.
This change results in less scan on scavenge memory chunks.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/
15896037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15037
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Mon, 10 Jun 2013 12:25:31 +0000 (12:25 +0000)]
Keep native fuzzing blacklists in sync
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16436005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15036
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Mon, 10 Jun 2013 12:06:13 +0000 (12:06 +0000)]
Don't fuzz _GeneratorNext
The previous patch that renamed _GeneratorSend to _GeneratorNext missed
the blacklist in fuzz-natives-part4.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16339008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15035
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 10 Jun 2013 12:05:54 +0000 (12:05 +0000)]
Improve code for integral modulus calculation.
Depending on what we know about the right operand, we basically do 3
different things (and the code is actually structured this way):
* If we statically know that the right operand is a power of 2, we do
some bit fiddling instead of doing a "real" modulus calculation.
This should actually be done on the Hydrogen level, not on the
Lithium level, but this will be a separate CL.
* If type feedback tells us that the right operand is a power of 2, we
do the same as above, but guarded by conditional deoptimization to
make sure that the assumption is still valid. In the long run, we
should make this guard visible on the Hydrogen level to make it
visible for GVN and other optimizations.
* In the general case we only do the minimum steps necessary and don't
try to be too clever, because cleverness actually slows us down on
real-world code.
If we look at the code gerators for LModI, we actually see that we
basically have 3 (4 on ARM) fundamentally different translations. I
don't really like lumping them together, they should probably be
different Lithium instructions. For the time being, I restructured the
generators to make this crystal-clear, at the cost of some duplication
regarding the power-of-2 cases. This will go away when we do the
strength reduction on the Hydrogen level, so I'd like to keep it as it
is for now.
Note that the MIPS part was only slightly restructured, there is still
some work to do there.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
15769010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15034
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Mon, 10 Jun 2013 11:55:47 +0000 (11:55 +0000)]
Fix re-initialization of existing double field.
R=verwaest@chromium.org
BUG=v8:2717
TEST=mjsunit/regress/regress-2717
Review URL: https://codereview.chromium.org/
16735003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15033
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 10 Jun 2013 11:33:23 +0000 (11:33 +0000)]
Fix parallel recompilation wrt transition maps dependency.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
15896038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15032
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Mon, 10 Jun 2013 11:27:09 +0000 (11:27 +0000)]
Lookup transition again after migrating a transition target.
R=ulan@chromium.org
BUG=chromium:242332
Review URL: https://chromiumcodereview.appspot.com/
16347005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15031
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Mon, 10 Jun 2013 11:17:48 +0000 (11:17 +0000)]
Fix parallel recompilation wrt initial object/array map dependency.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16641002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15030
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 10 Jun 2013 09:35:47 +0000 (09:35 +0000)]
adjust assertions for addition of default value
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16136012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15029
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Mon, 10 Jun 2013 09:26:18 +0000 (09:26 +0000)]
Generator object "next" method takes optional send value
Update the generators implementation to make "next" also do the job of
what was previously called "send" by taking an optional argument.
Remove send, and do a bunch of renamings.
R=rossberg@chromium.org
BUG=v8:2355, v8:2715
Review URL: https://codereview.chromium.org/
16136011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15028
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Mon, 10 Jun 2013 09:12:57 +0000 (09:12 +0000)]
Fix LoadIC calling convention on ARM
The comments in ic-arm.cc::LoadIC indicated that the receiver should be
both in a register and on the stack. This isn't true in fact: the code
is careful to spill the receiver if needed.
This CL also fixes up a mistaken use of this convention in in
VisitYield.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16203004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15027
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 10 Jun 2013 08:19:03 +0000 (08:19 +0000)]
build fix for 15025
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16561011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15026
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 10 Jun 2013 07:56:17 +0000 (07:56 +0000)]
build fix for 15023
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16729002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15025
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 10 Jun 2013 07:41:16 +0000 (07:41 +0000)]
add a default value for return value
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16642003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15024
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Mon, 10 Jun 2013 07:34:58 +0000 (07:34 +0000)]
do aligned reads in ContainsOnlyOneByte
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
16147004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15023
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
svenpanne@chromium.org [Mon, 10 Jun 2013 06:37:30 +0000 (06:37 +0000)]
Make GCMole happy
TBR=yangguo@google.com
Review URL: https://codereview.chromium.org/
16544009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15022
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Sun, 9 Jun 2013 20:10:29 +0000 (20:10 +0000)]
Find breakpoint by PC rather than source position when clearing breakpoint
Current approach is to find breakpoint by the statement position that was used when setting breakpoint. This doesn't work when setting breakpoint by anything else but statement position.
(Question: could PC of existing breakpoint change, for example because of recompilation, or this approach is safe)
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
15685010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15021
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 7 Jun 2013 18:34:24 +0000 (18:34 +0000)]
Fixed typo in test expectations SKIP -> Skip
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15018
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 7 Jun 2013 17:28:46 +0000 (17:28 +0000)]
Take all uses into account to clear int32 truncation.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16656002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15017
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yurys@chromium.org [Fri, 7 Jun 2013 17:25:47 +0000 (17:25 +0000)]
Try to deflake cctest/test-cpu-profiler/NativeAccessorNameInProfile1 on Windows
Make native accessors sleep for 1ms before measuring elapsed time. This is to check the theory that we cannot pause profiled thread on Win64 for some reason and miss many samples.
BUG=None
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16656003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15016
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 7 Jun 2013 16:59:34 +0000 (16:59 +0000)]
MIPS: Baseline for-of implementation.
Port r15002 (
d2f0fac)
Original commit message:
Add full-codegen support for the ES6 for-of iteration statement.
TEST=mjsunit/harmony/iteration-semantics
BUG=v8:2214
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
15995040
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15015
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
peter.rybin@gmail.com [Fri, 7 Jun 2013 16:48:22 +0000 (16:48 +0000)]
Fix very strange bug in FindBreakLocationFromAddress algorithm
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
15737023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15014
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
plind44@gmail.com [Fri, 7 Jun 2013 16:00:19 +0000 (16:00 +0000)]
MIPS: Fill more branch delay slots.
TEST=
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/
15967006
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15011
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
machenbach@chromium.org [Fri, 7 Jun 2013 15:59:10 +0000 (15:59 +0000)]
Lists tests to skip. The test expectations file will be assigned to the run_webkit_tests script using the additional expectations flag.
The tests listed in this file will be maintained manually. The list contains tests that typically fail on the V8 waterfall.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16634005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15010
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 7 Jun 2013 15:58:51 +0000 (15:58 +0000)]
Prepare push to trunk. Now working on version 3.19.12.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16234008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15009
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
danno@chromium.org [Fri, 7 Jun 2013 15:43:56 +0000 (15:43 +0000)]
Fix presubmit errors
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/
16017008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15008
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mstarzinger@chromium.org [Fri, 7 Jun 2013 15:18:49 +0000 (15:18 +0000)]
Add missing AllowHandleDereference to LAllocator::BuildLiveRanges.
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/
16509004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15007
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 7 Jun 2013 15:02:20 +0000 (15:02 +0000)]
Neutering API for v8::ArrayBuffer
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
16562005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15006
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
yangguo@chromium.org [Fri, 7 Jun 2013 13:27:03 +0000 (13:27 +0000)]
Enable map dependency to in-flight compilation info.
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/
16542003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15005
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
mvstanton@chromium.org [Fri, 7 Jun 2013 13:21:20 +0000 (13:21 +0000)]
CallNewArray sites need the original feedback cell at crankshaft time.
This CL addresses a TODO in the hydrogen-based array constructor code,
to pass through the actual type feedback cell, rather than the contents
of the cell.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/
16408005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15004
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
olivf@chromium.org [Fri, 7 Jun 2013 13:11:17 +0000 (13:11 +0000)]
Fix InlineCacheState for ToBoolean and CompareIC
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/
16613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15003
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
wingo@igalia.com [Fri, 7 Jun 2013 11:12:21 +0000 (11:12 +0000)]
Baseline for-of implementation
Add full-codegen support for the ES6 for-of iteration statement.
R=mstarzinger@chromium.org, rossberg@chromium.org
TEST=mjsunit/harmony/iteration-semantics
BUG=v8:2214
Review URL: https://codereview.chromium.org/
15288011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15002
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
verwaest@chromium.org [Fri, 7 Jun 2013 11:00:39 +0000 (11:00 +0000)]
Allow boundscheck elimination to work on Smi keys.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/
16035016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15001
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dslomov@chromium.org [Fri, 7 Jun 2013 10:52:11 +0000 (10:52 +0000)]
Recording array buffer views.
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/
15562008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15000
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
dcarney@chromium.org [Fri, 7 Jun 2013 10:46:51 +0000 (10:46 +0000)]
Make ReturnValue a friend of Persistent, so it can use operator*.
BUG=
R=dcarney@chromium.org, svenpanne@chromium.org
Review URL: https://codereview.chromium.org/
15848010
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14999
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00