- 10 Jun, 2015 1 commit
-
-
Man Cao authored
This feature is currently only enabled when DDMS's allocation tracking is enabled. In the future there should be a way to enable this feature before an application starts. Also updates DDMS's recent allocation tracking to use a new backend data structure that is shared with this feature. The following system properties controls customizable parameters: dalvik.vm.allocTrackerMax: max number of objects that have allocation records, default 512K; dalvik.vm.recentAllocMax: max number of records that are sent to DDMS when clicking "Get allocation" button, default 64K-1 (limit of the protocol); dalvik.vm.allocStackDepth: max number of stack frames in an allocation record, default 4. Bug: 20037135 Change-Id: I26ed378a5613678bd3c43e846025f90470a8e059
-
- 22 Apr, 2015 1 commit
-
-
Mathieu Chartier authored
Also fixed some lines that were too long, and a few other minor details. Change-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb
-
- 12 Nov, 2014 1 commit
-
-
Ian Rogers authored
The thread doing the suspension doesn't attempt to suspend the other thread unless it knows another thread isn't trying to suspend it. Use the suspend count, and its lock, for this purpose. Re-enable ThreadStress test. Bug: 15446488 Change-Id: Idd34410c7b89d8abd6973e5699a15ca699472c78
-
- 05 Nov, 2014 1 commit
-
-
Andreas Gampe authored
Enable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general, and -Wunused-but-set-parameter for GCC builds. Change-Id: I81bbdd762213444673c65d85edae594a523836e5
-
- 18 Jul, 2014 2 commits
-
-
Ian Rogers authored
Don't allow more than one concurrent single thread suspension to avoid potential cycles and deadlocks where threads try to suspend each other. Bug: 16364458, 16354227 Change-Id: I907f1d5591a6aa5c241d37d6b4a34f968f98df77
-
Ian Rogers authored
Don't allow more than one concurrent single thread suspension to avoid potential cycles and deadlocks where threads try to suspend each other. Bug: 16364458, 16354227 (cherry picked from commit f3d874c6) Change-Id: I907f1d5591a6aa5c241d37d6b4a34f968f98df77
-
- 02 Jun, 2014 1 commit
-
-
Tim Murray authored
Merge ART from AOSP to lmp-preview-dev. Change-Id: I0f578733a4b8756fd780d4a052ad69b746f687a9
-
- 22 May, 2014 1 commit
-
-
Johnnie Birch authored
The patch fixes a jpda test failure due to a failed assertion in SuspendThreadByThreadId. There should be a check for a null thread before the assertion check. This was the behavior of previous code (4.4.2) where this test passes, but this check was removed during some refactoring of the code. Change-Id: Ia63de5f159ce1e51110bf9dc604011d07b2f048e Signed-off-by:
Johnnie Birch <johnnie.l.birch.jr@intel.com>
-
- 02 Apr, 2014 1 commit
-
-
Sebastien Hertz authored
Updates Thread::CreateInternalStackTrace to support both transactional and non-transactional modes using template. Generalizes non-transactional mode for invariant fields (which are set only once). Removes ArrayLog::VisitRoots as we never create Array logs of ObjectArray. As ObjectArray elements are set using Object::SetFieldObject, they are already recorded in the object logs: the object is the array itself and the offset corresponds to the element index in this array. And also checks we never log ObjectArray in array logs. Fixes location of thrown exception when calling native method during class initialization. Change-Id: Idbc368d3b8292b85ff40bc8a7c559e085477bf89
-
- 27 Mar, 2014 1 commit
-
-
Sebastien Hertz authored
Avoids a failing CHECK in ThreadList::SuspendThreadByThreadId in the case we try to suspend the current thread. Bug: 12985512 Change-Id: I9434400a3625319855dd3841d8889117e57784e5
-
- 14 Mar, 2014 1 commit
-
-
Ian Rogers authored
Move invocation code out of JNI internal into reflection, including ArgArray code. Make reflective invocation use the ArgArray to build arguments rather than allocating a jvalue[] and unboxing arguments into that. Move reflection part of jni_internal_test into reflection_test. Make greater use of fast JNI. Change-Id: Ib381372df5f9a83679e30e7275de24fa0e6b1057
-
- 02 Oct, 2013 1 commit
-
-
Ian Rogers authored
Bug 6961405. Don't inflate monitors for Notify and NotifyAll. Tidy lock word, handle recursive lock case alongside unlocked case and move assembly out of line (except for ARM quick). Also handle null in out-of-line assembly as the test is quick and the enter/exit code is already a safepoint. To gain ownership of a monitor on behalf of another thread, monitor contenders must not hold the monitor_lock_, so they wait on a condition variable. Reduce size of per mutex contention log. Be consistent in calling thin lock thread ids just thread ids. Fix potential thread death races caused by the use of FindThreadByThreadId, make it invariant that returned threads are either self or suspended now. Code size reduction on ARM boot.oat 0.2%. Old nexus 7 speedup 0.25%, new nexus 7 speedup 1.4%, nexus 10 speedup 2.24%, nexus 4 speedup 2.09% on DeltaBlue. Change-Id: Id52558b914f160d9c8578fdd7fc8199a9598576a
-
- 24 Sep, 2013 1 commit
-
-
Brian Carlstrom authored
Change-Id: Ib2d3c39fadb6a750c68c37b0aa53daab155a65a3
-
- 29 Aug, 2013 1 commit
-
-
Jeff Hao authored
Bug: 10492287 Change-Id: I830a2ce71d02c5b09c7040583be98d818eef9385
-
- 13 Jul, 2013 1 commit
-
-
Brian Carlstrom authored
The runtime, compiler, dex2oat, and oatdump now are in seperate trees to prevent dependency creep. They can now be individually built without rebuilding the rest of the art projects. dalvikvm and jdwpspy were already this way. Builds in the art directory should behave as before, building everything including tests. Change-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81
-
- 10 Jan, 2013 1 commit
-
-
Elliott Hughes authored
Change-Id: Iefc276939b9e569f4ea4d7a5af9a28276a3fb632
-
- 13 Dec, 2012 2 commits
-
-
Elliott Hughes authored
Change-Id: Id68f85f7c3a71b156cb40dec63f94d4fb827f279
-
Elliott Hughes authored
We don't actually need any hackery to get the right mutex.h any more, but since we planned on having the google3-like stuff in google3-like locations, this is an easy one to fix. Change-Id: Ie27464ebbc208a6f4e694a97cf26b1cee0737009
-
- 01 Dec, 2012 1 commit
-
-
Ian Rogers authored
Don't use a JNI global ref for the thread peer_ so that we can support more threads than we can global refs. This fixes run-test 51. Fix a race in thread destruction where a thread may be requested to suspend while deleting itself. Change-Id: Id8756a575becf80d2a0be0a213325034556927f1
-
- 05 Oct, 2012 1 commit
-
-
Ian Rogers authored
Change-Id: I8b75bc0617915465f102815b32306aa7760dcae4
-
- 26 Sep, 2012 1 commit
-
-
Mathieu Chartier authored
Fixes issue where GC was freeing the java peer if the parent thread exited before the child thread got registered. Change-Id: I6fbe74865d5827d243ac55fc396679afa97ff2f9
-
- 20 Sep, 2012 1 commit
-
-
Elliott Hughes authored
Bug: 7053953 Change-Id: I9be3f828332e5bbb003644802d7770b58d8298ed
-
- 05 Sep, 2012 1 commit
-
-
Ian Rogers authored
Also address some review comments in common_throws relating to ToStr<InvokeType> and exception detail messages. Change-Id: Ibf2c0f147689fa236d349bd7f01eed3c2522552b
-
- 31 Aug, 2012 1 commit
-
-
Ian Rogers authored
Also fix free space computations for DDMS. Change-Id: Icbc045b5461af89a0516f37f01acaaa815205348
-
- 14 Aug, 2012 1 commit
-
-
Ian Rogers authored
Introduce the notion of the mutators/GC being a shared-exclusive (aka reader-writer) lock. Introduce globally ordered locks, analysable by annotalysis, statically at compile time. Add locking attributes to methods. More subtly, remove the heap_lock_ and split between various locks that are held for smaller periods (where work doesn't get blocked). Remove buggy Dalvik style thread transitions. Make GC use CMS in all cases when concurrent is enabled. Fix bug where suspend counts rather than debug suspend counts were sent to JDWP. Move the PathClassLoader to WellKnownClasses. In debugger refactor calls to send request and possibly suspend. Break apart different VmWait thread states. Move identity hash code to a shared method. Change-Id: Icdbfc3ce3fcccd14341860ac7305d8e97b51f5c6
-
- 26 Jun, 2012 1 commit
-
-
Ian Rogers authored
Move the routines for changing Object* to jobject and vice-versa (AddLocalReference and Decode) to ScopedJniThreadState to enforce use of Object*s in the Runnable thread state. In the Runnable thread state suspension is necessary before GC can take place. Reduce use of const ClassLoader* as the code bottoms out in FindClass and with a field assignment where the const is cast away (ie if we're not going to enforce the const-ness we shouldn't pretend it is). Refactor the Thread::Attach API so that we're not handling raw Objects on unattached threads. Remove some unreachable code. Change-Id: I0fa969f49ee6a8f10752af74a6b0e04d46b4cd97
-
- 25 May, 2012 2 commits
-
-
Elliott Hughes authored
This way, if a runtime is restarted within a process, we re-initialize all the cached data. Conflicts: src/native/java_lang_Runtime.cc -- nativeExit lost an argument in dalvik-dev (cherry picked from commit 7756d547) Change-Id: I6184fc20c2a9ec16c4b053584a4d1c3b64452d0f
-
Elliott Hughes authored
This way, if a runtime is restarted within a process, we re-initialize all the cached data. Change-Id: Ifd441f8c84c4cff904ee62bbd6b5707ad365967d
-
- 14 Apr, 2012 1 commit
-
-
Ian Rogers authored
Change-Id: Ia9c883ba9a13b205cda7b72024e2939f02583acb
-
- 16 Mar, 2012 3 commits
-
-
Elliott Hughes authored
There were a couple of genuine bugs here (fixed), plus there's a missing feature in trace.cc that I've just added a TODO for. Also note that I haven't touched the compilers; this warning is still explicitly disabled for that code. I'll do that when there's less going on in those directories. Change-Id: Ic3570bf82411a07c7530bfaf1995ac995b9fc00f
-
Elliott Hughes authored
No one likes them and we're pretty inconsistent at using them. We're much better with 'static'. Change-Id: I65eeffd0fb60633edca30923af0caedb06a0105d
-
Elliott Hughes authored
...in the opposite direction; needing workarounds turns off CheckJNI. This isn't necessarily a good idea, but I like the cleanup parts of this change. Change-Id: I708235ea3e5cc35ef90b01dd810e097e3ff9dd26
-
- 09 Mar, 2012 1 commit
-
-
Elliott Hughes authored
This builds three separate compilers and dynamically links with the right one at runtime. Change-Id: I59d22b9884f41de733c09f97e29ee290236d5f4b
-
- 02 Mar, 2012 1 commit
-
-
Elliott Hughes authored
This change uses libcorkscrew to show native stacks for threads in kNative or, unlike dalvikvm, kVmWait --- working on the runtime directly I've found it somewhat useful to be able to see _which_ internal resource we're waiting on. We can always take that back out (or make it oatexecd-only) if it turns out to be too noisy/confusing for app developers. This change also lets us rank mutexes and enforce -- in oatexecd -- that you take locks in a specific order. Both of these helped me test the third novelty: removing the heap locking from ScopedThreadListLock. I've manually inspected all the callers and added a ScopedHeapLock where I think one is necessary. In manual testing, this makes jdb a lot less prone to locking us up. There still seems to be a problem with the JDWP VirtualMachine.Resume command, but I'll look at that separately. This is a big enough and potentially disruptive enough change already. Change-Id: Iad974358919d0e00674662dc8a69cc65878cfb5c
-
- 25 Jan, 2012 1 commit
-
-
Elliott Hughes authored
Change-Id: I48714db4169d9ea0536342809361210910ee2091
-
- 10 Nov, 2011 1 commit
-
-
Elliott Hughes authored
Change-Id: I6583458a818406197744cc640b0993f73cfd5384
-
- 09 Nov, 2011 1 commit
-
-
Elliott Hughes authored
Change-Id: I7cec7311ba496f93e147ae17fbce94d4d17b5269
-
- 07 Nov, 2011 1 commit
-
-
Elliott Hughes authored
Pretty much every caller that takes the thread list lock can then go on to cause allocation, which requires the heap lock. The GC always takes the heap lock first and the thread list lock second (to suspend/resume other threads). Cue deadlocks. This patch is a pretty degenerate fix that basically makes the thread list lock irrelevant; we now always take the heap lock first. Change-Id: I0537cffb0b841bfb5033789817793734d75dfb31
-
- 27 Oct, 2011 2 commits
-
-
Elliott Hughes authored
Change-Id: I31ca68e517bcf44570ab329b55f67b29877deff1
-
Elliott Hughes authored
(It's still UNIMPLEMENTED at the bottom, though.) Change-Id: I0f4c1c90cafb48b045685ae67300170fd696f386
-