platform/upstream/v8.git
10 years agomove HEAP to /test
dcarney@chromium.org [Wed, 11 Sep 2013 07:14:41 +0000 (07:14 +0000)]
move HEAP to /test

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16631 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agothread isolate for EntryHookTrampoline
dcarney@chromium.org [Wed, 11 Sep 2013 06:56:47 +0000 (06:56 +0000)]
thread isolate for EntryHookTrampoline

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoThis patch implements optimized objectInfo structure which manages the set of observe...
adamk@chromium.org [Tue, 10 Sep 2013 18:13:54 +0000 (18:13 +0000)]
This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept.

Observation in the normal case (Object.observe, default accept types, one observer) now allocates fewer objects and unobservation no longer needs to scan and splice an InternalArray -- making the combined speed of observe/unobserve about 200% faster.

This patch implements the following optimizations:

-objectInfo is initially created without any connected objects or arrays. The first observer is referenced directly by objectInfo, and when a second observer is added, changeObservers converts to a mapping of callbackPriority->observer, which allows for constant time registration/de-registration.

-observer.accept and objectInfo.performing are conceptually the same data-structure. This is now directly represented as an abstract "TypeMap" which can later be optimized to be a smi in common cases, (e.g:   https://codereview.chromium.org/19269007/).

-objectInfo observers are only represented by an object with an accept typeMap if the set of accept types is non-default

R=rossberg@chromium.org

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

Patch from Rafael Weinstein <rafaelw@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCheck that AllocationMementos never get scavengend.
hpayer@chromium.org [Tue, 10 Sep 2013 17:29:39 +0000 (17:29 +0000)]
Check that AllocationMementos never get scavengend.

BUG=
R=mstarzinger@chromium.org, mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16628 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoa small fix: DependentCode contains check against related dependency group
yangguo@chromium.org [Tue, 10 Sep 2013 16:41:46 +0000 (16:41 +0000)]
a small fix: DependentCode contains check against related dependency group

BUG=
R=ulan@chromium.org, yangguo@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16627 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove V8_WARN_UNUSED_RESULT for simple getters.
mstarzinger@chromium.org [Tue, 10 Sep 2013 15:03:17 +0000 (15:03 +0000)]
Remove V8_WARN_UNUSED_RESULT for simple getters.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse raw-to-handle trampoline in [Get/Set]HiddenPropertiesHashTable.
mstarzinger@chromium.org [Tue, 10 Sep 2013 14:33:06 +0000 (14:33 +0000)]
Use raw-to-handle trampoline in [Get/Set]HiddenPropertiesHashTable.

R=danno@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGet rid of most uses of 'Temporary macro' HEAP
dcarney@chromium.org [Tue, 10 Sep 2013 14:30:36 +0000 (14:30 +0000)]
Get rid of most uses of 'Temporary macro' HEAP

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16622 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agothread isolate for DebugMessage
dcarney@chromium.org [Tue, 10 Sep 2013 14:26:07 +0000 (14:26 +0000)]
thread isolate for DebugMessage

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16621 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM: replace RegExpCEntryStub with DirectCEntryStub.
rodolph.perfetta@gmail.com [Tue, 10 Sep 2013 13:50:26 +0000 (13:50 +0000)]
ARM: replace RegExpCEntryStub with DirectCEntryStub.

RegExpCEntryStub is therefore removed.

BUG=none
TEST=none
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16618 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix clang C++11 compiler warning.
bmeurer@chromium.org [Tue, 10 Sep 2013 13:39:53 +0000 (13:39 +0000)]
Fix clang C++11 compiler warning.

TBR=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16617 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert TranscendentalCacheStub changes in r16615.
olivf@chromium.org [Tue, 10 Sep 2013 13:28:21 +0000 (13:28 +0000)]
Revert TranscendentalCacheStub changes in r16615.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove ToInt conversions to the MacroAssembler for x64
olivf@chromium.org [Tue, 10 Sep 2013 12:37:30 +0000 (12:37 +0000)]
Move ToInt conversions to the MacroAssembler for x64

+ Prevent truncating TaggedToI from bailing out.

(This is a port of r16464)

BUG=
R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16615 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix MSVC compiler warning after commit r16612.
bmeurer@chromium.org [Tue, 10 Sep 2013 11:33:14 +0000 (11:33 +0000)]
Fix MSVC compiler warning after commit r16612.

TBR=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoInitialize forgotten Isolate member.
svenpanne@chromium.org [Tue, 10 Sep 2013 11:32:15 +0000 (11:32 +0000)]
Initialize forgotten Isolate member.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16613 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce a RandonNumberGenerator class. Refactor the random/private_random uses...
bmeurer@chromium.org [Tue, 10 Sep 2013 11:13:55 +0000 (11:13 +0000)]
Introduce a RandonNumberGenerator class. Refactor the random/private_random uses in Isolate/Context.

The RandomNumberGenerator is a pseudorandom number generator
with 48-bit state. It is properly seeded using either

(1) the --random-seed if specified, or
(2) the entropy_source function if configured, or
(3) /dev/urandom if available, or
(4) falls back to Time and TimeTicks based seeding.

Each Isolate now contains a RandomNumberGenerator, which replaces
the previous private_random_seed.

Every native context still has its own random_seed. But this random
seed is now properly initialized during bootstrapping,
instead of on-demand initialization. This will allow us to cleanup
and speedup the HRandom implementation quite a lot (this is delayed
for a followup CL)!

Also stop messing with the system rand()/random(), which should
not be done from a library anyway! We probably re-seeded the
libc rand()/random() after the application (i.e. Chrome) already
seeded it (with better entropy than what we used).

Another followup CL will replace the use of the per-isolate
random number generator for the address randomization and
thereby get rid of the Isolate::UncheckedCurrent() usage in
the platform code.

TEST=cctest/test-random-number-generator,cctest/test-random
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16612 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHeapProfiler: very slow ~4min "take snapshot time" for 80MB gmail heap.
loislo@chromium.org [Tue, 10 Sep 2013 11:12:35 +0000 (11:12 +0000)]
HeapProfiler: very slow ~4min "take snapshot time" for 80MB gmail heap.

The reason of that is a number of cons strings in the app.
The app constructs a json string and as a result v8 heap has
a very long chain of cons strings.

Profiler counts all these strings as plain String objects and
assign the content of the strings as node names.

It required O(n^2) time and O(n^2) memory.

Solution: I introduced two new types, kConsString and kSliced string.
They do not use the content of the string for names. So the problem disappeared.

The heap profiler usability problem will be solved on Blink side.

BUG=285770
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16611 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove unused method HType::IsTagged().
titzer@chromium.org [Tue, 10 Sep 2013 11:11:26 +0000 (11:11 +0000)]
Remove unused method HType::IsTagged().

BUG=
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16610 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix concurrent osr.
yangguo@chromium.org [Tue, 10 Sep 2013 11:09:22 +0000 (11:09 +0000)]
Fix concurrent osr.

InstallOptimizedCode aquires ownership on the compilation info and deletes
it on return, tearing down the attached zone.  The OptimizingCompiler
object is a zone object allocated in just that zone, so it also gets
deleted.  Effectively, InstallOptimizedCode cleans up when it's done, so
the OptimizingCompiler object it receives is invalidated afterwards.

R=titzer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16609 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd a ResourceConstraint for the embedder to specify that V8 is running on a memory...
svenpanne@chromium.org [Tue, 10 Sep 2013 10:57:00 +0000 (10:57 +0000)]
Add a ResourceConstraint for the embedder to specify that V8 is running on a memory constrained device.

This enables us to specialize certain operations such that we limit memory
usage on low-memory devices, without reducing performance on devices which
are not memory constrained.

BUG=chromium:280984
R=svenpanne@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16608 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMove Maybe template into v8.h so it can be used by SetResourceConstraints
svenpanne@chromium.org [Tue, 10 Sep 2013 10:53:33 +0000 (10:53 +0000)]
Move Maybe template into v8.h so it can be used by SetResourceConstraints

BUG=
R=svenpanne@chromium.org

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

Patch from Ross McIlroy <rmcilroy@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16607 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agorestore persistent dtor
dcarney@chromium.org [Tue, 10 Sep 2013 09:24:53 +0000 (09:24 +0000)]
restore persistent dtor

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove HandleScope default ctor.
svenpanne@chromium.org [Tue, 10 Sep 2013 06:43:23 +0000 (06:43 +0000)]
Remove HandleScope default ctor.

BUG=chromium:236173
R=bmeurer@chromium.org, svenpanne@chromium.org

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

Patch from Marja Hölttä <marja@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse PAGE_NOACCESS for guard pages in Windows.
bmeurer@chromium.org [Tue, 10 Sep 2013 05:54:15 +0000 (05:54 +0000)]
Use PAGE_NOACCESS for guard pages in Windows.

Up until now we used PAGE_GUARD for guard pages in Windows, which
will raise a STATUS_GUARD_PAGE_VIOLATION exception on first access
and grant regular access afterwards. This behavior is required to
implement automatic stack checking, or more generally to implement
applications that monitor the growth of large dynamic data structures.

However, this is not what we want for our guard pages, which are
used as a security mechanism. What we really want is PAGE_NOACCESS
here, which is the Windows-equivalent of PROT_NONE that we use on
all other platforms.

R=cdn@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16604 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoEnable escape analysis for Hydrogen.
mstarzinger@chromium.org [Mon, 9 Sep 2013 17:12:59 +0000 (17:12 +0000)]
Enable escape analysis for Hydrogen.

R=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoExtend assembler and codegen with more fpu arithmetic
olivf@chromium.org [Mon, 9 Sep 2013 16:57:35 +0000 (16:57 +0000)]
Extend assembler and codegen with more fpu arithmetic

BUG=
R=mvstanton@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoGenerate a custom OSR entrypoint for OSR compiles on all platforms, and transition...
titzer@chromium.org [Mon, 9 Sep 2013 16:34:40 +0000 (16:34 +0000)]
Generate a custom OSR entrypoint for OSR compiles on all platforms, and transition to optimized code using the special entrypoint, instead of through the deoptimizer. Do not install the OSR compiled code as _the_ optimized code for a function.
Remove OSR-related stuff from deoptimizer.
BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCorrectly stringify mixed encoding indirect strings.
yangguo@chromium.org [Mon, 9 Sep 2013 16:15:40 +0000 (16:15 +0000)]
Correctly stringify mixed encoding indirect strings.

R=verwaest@chromium.org
BUG=287476

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoput js accessor ics behind a flags until fixed
dcarney@chromium.org [Mon, 9 Sep 2013 15:03:03 +0000 (15:03 +0000)]
put js accessor ics behind a flags until fixed

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: thread isolate for HConstant::handle.
palfia@homejinni.com [Mon, 9 Sep 2013 15:02:41 +0000 (15:02 +0000)]
MIPS: thread isolate for HConstant::handle.

Port r16587 (45fc067)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoHandlify JSObject::EnsureCanContainHeapObjectElements method.
mstarzinger@chromium.org [Mon, 9 Sep 2013 14:29:47 +0000 (14:29 +0000)]
Handlify JSObject::EnsureCanContainHeapObjectElements method.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.21.13.
dslomov@chromium.org [Mon, 9 Sep 2013 11:50:28 +0000 (11:50 +0000)]
Prepare push to trunk.  Now working on version 3.21.13.

R=rossberg@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoremove commented out code in v8.h
dcarney@chromium.org [Mon, 9 Sep 2013 10:26:25 +0000 (10:26 +0000)]
remove commented out code in v8.h

TBR=dslomov@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agotemporarily remove persistent destructor to allow trunk push
dcarney@chromium.org [Mon, 9 Sep 2013 10:10:26 +0000 (10:10 +0000)]
temporarily remove persistent destructor to allow trunk push

TBR=dslomov@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoConsider out-of-bounds accesses as escaping uses.
mstarzinger@chromium.org [Mon, 9 Sep 2013 09:53:58 +0000 (09:53 +0000)]
Consider out-of-bounds accesses as escaping uses.

R=titzer@chromium.org
TEST=mjsunit/compiler/escape-analysis

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agonew persistent semantics
dcarney@chromium.org [Mon, 9 Sep 2013 09:25:23 +0000 (09:25 +0000)]
new persistent semantics

adds copying and autodispose as traits

R=marja@chromium.org, mstarzinger@chromium.org, svenpanne@chromium.org

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agothread isolate for HConstant::handle
dcarney@chromium.org [Mon, 9 Sep 2013 07:57:23 +0000 (07:57 +0000)]
thread isolate for HConstant::handle

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoadd uncached Function::New
dcarney@chromium.org [Mon, 9 Sep 2013 07:52:52 +0000 (07:52 +0000)]
add uncached Function::New

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agorevert 16584 for breaking build
dcarney@chromium.org [Mon, 9 Sep 2013 07:16:24 +0000 (07:16 +0000)]
revert 16584 for breaking build

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoadd uncached Function::New
dcarney@chromium.org [Mon, 9 Sep 2013 07:08:34 +0000 (07:08 +0000)]
add uncached Function::New

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoReplace uses of MUST_USE_RESULT by V8_WARN_UNUSED_RESULT in ElapsedTimer.
bmeurer@chromium.org [Mon, 9 Sep 2013 05:44:54 +0000 (05:44 +0000)]
Replace uses of MUST_USE_RESULT by V8_WARN_UNUSED_RESULT in ElapsedTimer.

R=bmeurer@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: https://codereview.chromium.org/23523034

Patch from Thiago Farina <tfarina@chromium.org>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIncrease test timeout on slow architectures.
machenbach@chromium.org [Sun, 8 Sep 2013 19:50:55 +0000 (19:50 +0000)]
Increase test timeout on slow architectures.

BUG=
R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDebug: parameterize 'step over' action with a frame where the step must be performed
prybin@chromium.org [Sun, 8 Sep 2013 19:05:29 +0000 (19:05 +0000)]
Debug: parameterize 'step over' action with a frame where the step must be performed

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: store ics for js api accessors.
palfia@homejinni.com [Fri, 6 Sep 2013 17:21:27 +0000 (17:21 +0000)]
MIPS: store ics for js api accessors.

Port r16571 (9266312)

BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16580 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix bitwise negation on x64
jkummerow@chromium.org [Fri, 6 Sep 2013 15:21:38 +0000 (15:21 +0000)]
Fix bitwise negation on x64

BUG=chromium:285355
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16579 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable recently added failing InitializeAndDisposeOnce test.
mstarzinger@chromium.org [Fri, 6 Sep 2013 13:52:59 +0000 (13:52 +0000)]
Disable recently added failing InitializeAndDisposeOnce test.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoSome thread data simplifications.
svenpanne@chromium.org [Fri, 6 Sep 2013 13:18:26 +0000 (13:18 +0000)]
Some thread data simplifications.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM: Improve integer multiplication.
rodolph.perfetta@gmail.com [Fri, 6 Sep 2013 13:12:46 +0000 (13:12 +0000)]
ARM: Improve integer multiplication.

TEST=test/mjsunit/lithium/MulI.js
R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoLet BuildStore/BuildLoad distinguish between keyed/named load/stores.
verwaest@chromium.org [Fri, 6 Sep 2013 13:06:39 +0000 (13:06 +0000)]
Let BuildStore/BuildLoad distinguish between keyed/named load/stores.

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16575 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIt should break out while loop once page_has_scan_on_scavenge_flag is found, there...
bmeurer@chromium.org [Fri, 6 Sep 2013 12:25:46 +0000 (12:25 +0000)]
It should break out while loop once page_has_scan_on_scavenge_flag is found, there is no need check all of the items in the list.

R=bmeurer@chromium.org

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

Patch from Bangfu Tao <bangfu.tao@samsung.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16574 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFixed 2 space leaks in CreateMemmoveFunction, finally making valgrind happy.
svenpanne@chromium.org [Fri, 6 Sep 2013 11:41:02 +0000 (11:41 +0000)]
Fixed 2 space leaks in CreateMemmoveFunction, finally making valgrind happy.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoProperly filter types using the initial map from HAllocate.
verwaest@chromium.org [Fri, 6 Sep 2013 11:32:46 +0000 (11:32 +0000)]
Properly filter types using the initial map from HAllocate.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16572 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agostore ics for js api accessors
dcarney@chromium.org [Fri, 6 Sep 2013 11:31:25 +0000 (11:31 +0000)]
store ics for js api accessors

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDrop GetCurrentThreadId() and TerminateExecution(int) from the external API.
bmeurer@chromium.org [Fri, 6 Sep 2013 11:29:13 +0000 (11:29 +0000)]
Drop GetCurrentThreadId() and TerminateExecution(int) from the external API.

R=dcarney@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16570 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "Fix multiple V8::Dispose calls since r16563." and disable test.
mstarzinger@chromium.org [Fri, 6 Sep 2013 11:24:26 +0000 (11:24 +0000)]
Revert "Fix multiple V8::Dispose calls since r16563." and disable test.

TBR=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix polymorphic INTERCEPTOR StoreICs on ARM/MIPS
jkummerow@chromium.org [Fri, 6 Sep 2013 11:04:20 +0000 (11:04 +0000)]
Fix polymorphic INTERCEPTOR StoreICs on ARM/MIPS

BUG=chromium:284998
R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix multiple V8::Dispose calls since r16563.
mstarzinger@chromium.org [Fri, 6 Sep 2013 11:02:43 +0000 (11:02 +0000)]
Fix multiple V8::Dispose calls since r16563.

R=svenpanne@chromium.org
BUG=v8:2744
TEST=cctest/test-api/InitializeAndDisposeMultiple

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCheck if timeout has expired after processing each sample
yurys@chromium.org [Fri, 6 Sep 2013 06:25:06 +0000 (06:25 +0000)]
Check if timeout has expired after processing each sample

To avoid long intervals between taking samples due to processing all accumulated samples at once, the samples are processed one by one and we check if the sampling interval has elapsed after each step rather than after processing all the samples in the queue.

This is a modified version of r16549 whith a fix for test flakiness. The test flakiness introduced by the previous version of this changed was fixed by changing return type of ProfilerEventsProcessor::ProcessOneSample from bool to enum with 3 options. In the main profiling loop we decide that the next code event should be processed when sample with a greater ordinal number is encountered. When processing remaining samples we shouldn't wait for more samples and if the samples queue is empty we just process next code event.

BUG=v8:2814,v8:2871
R=bmeurer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove obsolete global V8::has_been_fooed flags.
mstarzinger@chromium.org [Thu, 5 Sep 2013 18:53:39 +0000 (18:53 +0000)]
Remove obsolete global V8::has_been_fooed flags.

R=yangguo@chromium.org
BUG=v8:2744
TEST=cctest/test-api/InitializeAndDispose

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoConsistently use CHECK_ALIVE_OR_RETURN in graph builder.
mstarzinger@chromium.org [Thu, 5 Sep 2013 18:41:20 +0000 (18:41 +0000)]
Consistently use CHECK_ALIVE_OR_RETURN in graph builder.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.21.12.
jkummerow@chromium.org [Thu, 5 Sep 2013 16:29:07 +0000 (16:29 +0000)]
Prepare push to trunk.  Now working on version 3.21.12.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoWrap PushLoad and BuildStoreInEffect in CHECK_ALIVE.
verwaest@chromium.org [Thu, 5 Sep 2013 16:22:46 +0000 (16:22 +0000)]
Wrap PushLoad and BuildStoreInEffect in CHECK_ALIVE.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoMIPS: load ics for js api accessors.
jkummerow@chromium.org [Thu, 5 Sep 2013 16:19:33 +0000 (16:19 +0000)]
MIPS: load ics for js api accessors.

Port r16551 (61ce507)

BUG=
R=gergely@homejinni.com

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16557 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix bug in regexp result object construction.
yangguo@chromium.org [Thu, 5 Sep 2013 14:32:49 +0000 (14:32 +0000)]
Fix bug in regexp result object construction.

R=verwaest@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFunctions may not be optimized and we would like to know in cpu profiler what was...
loislo@chromium.org [Thu, 5 Sep 2013 13:20:51 +0000 (13:20 +0000)]
Functions may not be optimized and we would like to know in cpu profiler what was the reason.

Current v8 implementation may disable optimization for a particular function or block it with help of dont_optimize flag.
The patch propagates the reason of that to the SharedFunctionInfo where cpu profiler can get it.

SharedFunctionInfo is a heap object so I extracted 8 bits from OptsCount for handling bailout reason code.

BUG=none
TEST=test-profile-generator/BailoutReason
R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoProperly close the CountOperation value/effect context after leaving the store effect...
verwaest@chromium.org [Thu, 5 Sep 2013 12:33:14 +0000 (12:33 +0000)]
Properly close the CountOperation value/effect context after leaving the store effect context.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16554 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert r16548 due to cpu profiler test falkiness
yurys@chromium.org [Thu, 5 Sep 2013 12:17:17 +0000 (12:17 +0000)]
Revert r16548 due to cpu profiler test falkiness

The change made cctest/test-cpu-profiler/CollectCpuProfile and cctest/test-cpu-profiler/JsNative1JsNative2JsSample flaky.

BUG=v8:2871
TBR=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16553 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoremove most Isolate::Current asserts
dcarney@chromium.org [Thu, 5 Sep 2013 11:27:22 +0000 (11:27 +0000)]
remove most Isolate::Current asserts

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16552 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoload ics for js api accessors
dcarney@chromium.org [Thu, 5 Sep 2013 11:18:52 +0000 (11:18 +0000)]
load ics for js api accessors

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agofix mac build after 16548
dcarney@chromium.org [Thu, 5 Sep 2013 11:14:14 +0000 (11:14 +0000)]
fix mac build after 16548

TBR=bmeurer@chromium.org,yurys@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRename some of SamplingCircularQueue methods
yurys@chromium.org [Thu, 5 Sep 2013 10:31:18 +0000 (10:31 +0000)]
Rename some of SamplingCircularQueue methods

Renamed StartDequeue -> Peek, FinishDequeue -> Remove.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCheck if timeout has expired after processing each sample
yurys@chromium.org [Thu, 5 Sep 2013 10:28:57 +0000 (10:28 +0000)]
Check if timeout has expired after processing each sample

To avoid long intervals between taking samples due to processing all accumulated samples at once, the samples are processed one by one and we check if the sampling interval has elapsed after each step rather than after processing all the samples in the queue.

BUG=v8:2814
R=bmeurer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agorevert 16543 for breaking windows build
dcarney@chromium.org [Thu, 5 Sep 2013 10:21:29 +0000 (10:21 +0000)]
revert 16543 for breaking windows build

load ics for js api accessors

TBR=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrevent representation inference from double-visiting.
mstarzinger@chromium.org [Thu, 5 Sep 2013 09:01:28 +0000 (09:01 +0000)]
Prevent representation inference from double-visiting.

This prevents representation inference from pushing the current value
into the worklist while it is still being worked on. This might lead
to having a value in the worklist that isn't flexible anymore.

R=verwaest@chromium.org
TEST=mjsunit/compiler/escape-analysis (+GC-Stress)

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoadd isolate parameter for Execution::Call
dcarney@chromium.org [Thu, 5 Sep 2013 08:48:34 +0000 (08:48 +0000)]
add isolate parameter for Execution::Call

R=svenpanne@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable map-check relying on cache behavior sensitive to GC-timing
verwaest@chromium.org [Thu, 5 Sep 2013 08:36:10 +0000 (08:36 +0000)]
Disable map-check relying on cache behavior sensitive to GC-timing

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoload ics for js api accessors
dcarney@chromium.org [Thu, 5 Sep 2013 08:34:17 +0000 (08:34 +0000)]
load ics for js api accessors

R=mstarzinger@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDrop OS::IsOutsideAllocatedSpace() and move the tracking to the MemoryAllocator.
bmeurer@chromium.org [Thu, 5 Sep 2013 08:17:57 +0000 (08:17 +0000)]
Drop OS::IsOutsideAllocatedSpace() and move the tracking to the MemoryAllocator.

Instead of globally tracking allocated space limits, which was
not implemented properly anyway (i.e. lack of synchronization
on the reading side), track it per MemoryAllocator (that is
per heap/isolate).

In particular, avoid to call IsBadWritePtr() on Windows, it is
obsolete and Microsoft strongly discourages its usage.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoARM: fix cctest/test-code-stub-arm.cc
bmeurer@chromium.org [Thu, 5 Sep 2013 07:31:47 +0000 (07:31 +0000)]
ARM: fix cctest/test-code-stub-arm.cc

TEST=cctest/test-code-stub-arm.cc
R=bmeurer@chromium.org

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

Patch from Rodolph Perfetta <rodolph.perfetta@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRevert "This patch implements optimized objectInfo structure which manages the set...
adamk@chromium.org [Wed, 4 Sep 2013 20:43:21 +0000 (20:43 +0000)]
Revert "This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept."

This reverts r16539 as it triggers crashes on the GC stress bot.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoThis patch implements optimized objectInfo structure which manages the set of observe...
adamk@chromium.org [Wed, 4 Sep 2013 19:21:30 +0000 (19:21 +0000)]
This patch implements optimized objectInfo structure which manages the set of observers associated with an object and the changeRecord types which they accept.

Observation in the normal case (Object.observe, default accept types, one observer) now allocates fewer objects and unobservation no longer needs to scan and splice an InternalArray -- making the combined speed of observe/unobserve about 200% faster.

This patch implements the following optimizations:

-objectInfo is initially created without any connected objects or arrays. The first observer is referenced directly by objectInfo, and when a second observer is added, changeObservers converts to a mapping of callbackPriority->observer, which allows for constant time registration/de-registration.

-observer.accept and objectInfo.performing are conceptually the same data-structure. This is now directly represented as an abstract "TypeMap" which can later be optimized to be a smi in common cases, (e.g:   https://codereview.chromium.org/19269007/).

-objectInfo observers are only represented by an object with an accept typeMap if the set of accept types is non-default

R=rossberg@chromium.org

Committed: https://code.google.com/p/v8/source/detail?r=16343

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIgnore use requirement from never run code
verwaest@chromium.org [Wed, 4 Sep 2013 15:25:13 +0000 (15:25 +0000)]
Ignore use requirement from never run code

BUG=
R=verwaest@chromium.org

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

Patch from Weiliang Lin <weiliang.lin2@gmail.com>.

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd better consistency check and error output to plot script.
yangguo@chromium.org [Wed, 4 Sep 2013 15:19:21 +0000 (15:19 +0000)]
Add better consistency check and error output to plot script.

R=jkummerow@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix compilation with Clang after r16530.
mstarzinger@chromium.org [Wed, 4 Sep 2013 15:06:36 +0000 (15:06 +0000)]
Fix compilation with Clang after r16530.

TBR=titzer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPrepare push to trunk. Now working on version 3.21.11.
jkummerow@chromium.org [Wed, 4 Sep 2013 13:55:11 +0000 (13:55 +0000)]
Prepare push to trunk.  Now working on version 3.21.11.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd OptimizedCodeList and DeoptimizedCodeList to native contexts. Both lists are...
titzer@chromium.org [Wed, 4 Sep 2013 13:53:24 +0000 (13:53 +0000)]
Add OptimizedCodeList and DeoptimizedCodeList to native contexts. Both lists are weak. This makes it possible to find optimized code that is not referred to by any function, but still needs to be deoptimized. It obsoletes the weak deoptimizing code list in the deoptimizer data and generally simplifies the process of deoptimizing code.

BUG=
R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoDisable escape analysis to investigate stability offline.
mstarzinger@chromium.org [Wed, 4 Sep 2013 13:46:12 +0000 (13:46 +0000)]
Disable escape analysis to investigate stability offline.

R=jkummerow@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoRemove obsolete V8::IdleNotification dispatch.
mstarzinger@chromium.org [Wed, 4 Sep 2013 13:37:39 +0000 (13:37 +0000)]
Remove obsolete V8::IdleNotification dispatch.

R=yangguo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoIntroduce concurrent on-stack replacement.
yangguo@chromium.org [Wed, 4 Sep 2013 12:55:59 +0000 (12:55 +0000)]
Introduce concurrent on-stack replacement.

Currently disabled behind --concurrent-osr.

R=titzer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16527 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse 1ms CPU profiler sampling interval on Android by default
yurys@chromium.org [Wed, 4 Sep 2013 12:38:17 +0000 (12:38 +0000)]
Use 1ms CPU profiler sampling interval on Android by default

This CL changes default sampling interval on Android from 5ms to 1ms so that it is the same on all platforms. All perf tests on modern devices (Galaxy Nexus, Nexus 7) show that 1ms should be long enough for profiling on mobile devices.

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

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAllow configuring CPU profiler sampling interval using public API
yurys@chromium.org [Wed, 4 Sep 2013 11:55:28 +0000 (11:55 +0000)]
Allow configuring CPU profiler sampling interval using public API

The only way to change it at the moment is using a command line flag. We are going to add a setting to Chrome DevTools which would allow chaning default interval and that requires proper v8 API.

BUG=v8:2814
R=bmeurer@chromium.org, loislo@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoBuild fix for Win64 after r16521.
bmeurer@chromium.org [Wed, 4 Sep 2013 11:33:51 +0000 (11:33 +0000)]
Build fix for Win64 after r16521.

TBR=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agobuild fix for 16520
dcarney@chromium.org [Wed, 4 Sep 2013 11:09:55 +0000 (11:09 +0000)]
build fix for 16520

TBR=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoFix race conditions in cctest/test-debug.
bmeurer@chromium.org [Wed, 4 Sep 2013 10:47:09 +0000 (10:47 +0000)]
Fix race conditions in cctest/test-debug.

R=mstarzinger@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoCleanup Socket class and remove it from the platform files.
bmeurer@chromium.org [Wed, 4 Sep 2013 10:41:51 +0000 (10:41 +0000)]
Cleanup Socket class and remove it from the platform files.

Move the Socket class to dedicated platform/socket.{cc,h} files.
Cleaned up the implementation to allow for more code sharing.

R=verwaest@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoremove Isolate::Current from most files starting with 'j' through 'o'
dcarney@chromium.org [Wed, 4 Sep 2013 10:34:42 +0000 (10:34 +0000)]
remove Isolate::Current from most files starting with 'j' through 'o'

R=bmeurer@chromium.org
BUG=

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoUse ast_id (id) instead of return_id (LoadId) in simulates for load instructions.
verwaest@chromium.org [Wed, 4 Sep 2013 09:19:17 +0000 (09:19 +0000)]
Use ast_id (id) instead of return_id (LoadId) in simulates for load instructions.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoAdd cvtsd2ss into X64 disassembler
haitao.feng@intel.com [Wed, 4 Sep 2013 08:42:43 +0000 (08:42 +0000)]
Add cvtsd2ss into X64 disassembler

R=bmeurer@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoinvert Eternal::IsEmpty logic
dcarney@chromium.org [Wed, 4 Sep 2013 08:19:14 +0000 (08:19 +0000)]
invert Eternal::IsEmpty logic

R=svenpanne@chromium.org
BUG=v8:2870

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00

10 years agoPut store of postcrement in EffectContext.
verwaest@chromium.org [Wed, 4 Sep 2013 08:16:54 +0000 (08:16 +0000)]
Put store of postcrement in EffectContext.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@16516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00