| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
Bug: 754114
Change-Id: Iaa03def509c10cbaa12fd2128584b93d4be4a6b7
|
|
|
|
|
| |
These APIs were deprecated in Eclair and should disappear in Gingerbread.
See bug 2553600.
|
|
|
|
|
|
|
|
| |
First step toward disabling them.
Bug 2537379.
Change-Id: I8664a5f1d7dcff11ddeb97b5e700dad76bffc723
|
|
|
|
|
|
|
| |
I've fixed a few typos, and removed a few of the more egregiously nonsensical
or incorrect comments that were nearby.
Change-Id: I35851baebd532f949cc269f4738a26eeb9b6e697
|
|
|
|
|
|
| |
duplicated from PathClassLoader).
Change-Id: Iaf3e8a5b23df1a8bbf670bf6d6045fffef6c8fcb
|
|\
| |
| |
| |
| |
| |
| |
| |
| | |
id)."
Merge commit '3ed90a94fa2eea45a423471405df5df62b187b83' into dalvik-dev
* commit '3ed90a94fa2eea45a423471405df5df62b187b83':
Add a native method dalvik.system.VMDebug.infopoint(int id).
|
| |
| |
| |
| |
| |
| |
| | |
With gdb, the JIT can use it to inspect the VM state when an instrumented line
is reached.
Change-Id: Id39ac4cd564bc1a61208cb7527c30f62b5de3e4e
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit 'f854a79457ca12a18acb76070c98e622e6c660c5' into dalvik-dev
* commit 'f854a79457ca12a18acb76070c98e622e6c660c5':
remove System.*.println when ddm dispatch fails.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Those messages are sometimes displayed to the user executing
the am command and can be really confusing (they are totally
benign)
Change-Id: I09c194a02ddc956ec52f19faa03ca9aa1eba604b
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds four new instructions for accessing volatile wide fields (long
and double). The JLS requires that such accesses are atomic, but the
VM doesn't otherwise make guarantees about the atomicity of reads and
writes on 64-bit fields.
There are no behavioral changes. This just adds definitions for the new
instructions and a couple of tests. The current implementation is just
the non-volatile form of the instructions or a C stub, but since we're
not generating them it doesn't really matter yet.
Also:
- bumped Dalvik version to 1.3.0
- added a note to the x86-atom TODO list
For bug 1633591.
|
|
|
|
|
|
|
|
|
|
| |
Add calls to retrieve class initialization stats via the allocation
count mechanism.
Also: deprecate a method that is never used, and a redundantly declared
default filename that begins with "/sdcard".
For bug 2461549.
|
|
|
|
|
|
|
|
|
| |
Use pthread_cond_wait instead of timed wait for the system_server process to
wait on the go-ahead JIT signal. If the phone is booted under system-wide safe
mode, such signal will never come so all VM instances (including the system
server) will run in the interpreter-only mode.
Bug: 2267590
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
This is the implementation on the VM side to consume the android:safeMode=true
attribute and force the application to run in interpreter-only mode (the
current safe mode).
Bug: 2267583
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
PathClassLoader.toString change
SUMMARY:
- PathClassLoader.toString prints path
- DalvikRunner --mode activity now working
- new DalvikRunner --no-clean vs --no-clean-after behavior
DETAILS
Dalvik runtime change
Changed PathClassLoader.toString to print the class loaders path
Also fixed variable name in commented out debug code
libcore/dalvik/src/main/java/dalvik/system/PathClassLoader.java
Dalvik Runner changes
Mode is the new abstract superclass of the existing Vm
class. ActivityMode is for the new Mode of running as a Activity
on the device. Vm is now a subclass of Mode and its JavaVm and
DeviceDalvikVm still exist although some code has been refactored
into the new Environment clases (see below)
libcore/tools/runner/java/dalvik/runner/Mode.java
libcore/tools/runner/java/dalvik/runner/ActivityMode.java
libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
libcore/tools/runner/java/dalvik/runner/JavaVm.java
libcore/tools/runner/java/dalvik/runner/Vm.java
Environment and its subclasses EnvironmentHost and
EnvironmentDevice allow us to reuse some common code between the
two different device modes (ActivityMode and
DeviceDalvikVm). Basically code that was more about where and how
to do things based on where the code was running as opposed to how
the code was running moved to the Environment classes. For
example, prepare() logic for /sdcard/ and ADB code in general.
libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
libcore/tools/runner/java/dalvik/runner/Environment.java
libcore/tools/runner/java/dalvik/runner/EnvironmentDevice.java
libcore/tools/runner/java/dalvik/runner/EnvironmentHost.java
libcore/tools/runner/java/dalvik/runner/JavaVm.java
libcore/tools/runner/java/dalvik/runner/Vm.java
Adding new files
libcore/tools/runner/Android.mk
Aapt is a wrapper for "aapt" similar to Adb and Dx
libcore/tools/runner/java/dalvik/runner/Aapt.java
Added Adb.install and Adb.uninstall methods
Changed from using File.toString to File.getPath for clarity
libcore/tools/runner/java/dalvik/runner/Adb.java
CodeFinder has been extended so that Driver can ask finders what
they need to build and run, specifically through the new
getRunnerJava and getRunnerClasspath. (As part of this
NamingPatternCodeFinder's runnerClass was changed to
getRunnerClass for consistency with the superclass.) This was
important for running as an Activity because we want to minimize
what we pack into the APK file because of the "dx --dex" runtime
and not just pull in all possible runners and supporting
libraries. TestRun objects also hold onto this information from
their finders.
libcore/tools/runner/java/dalvik/runner/Driver.java
libcore/tools/runner/java/dalvik/runner/CodeFinder.java
libcore/tools/runner/java/dalvik/runner/CaliperFinder.java
libcore/tools/runner/java/dalvik/runner/JUnitFinder.java
libcore/tools/runner/java/dalvik/runner/JtregFinder.java
libcore/tools/runner/java/dalvik/runner/MainFinder.java
libcore/tools/runner/java/dalvik/runner/NamingPatternCodeFinder.java
libcore/tools/runner/java/dalvik/runner/TestRun.java
TestRunner TestRunner's className is now testClass to clarifiy it
from the runnerClass.
libcore/tools/runner/java/dalvik/runner/TestRunner.java
libcore/tools/runner/java/dalvik/runner/CaliperRunner.java
libcore/tools/runner/java/dalvik/runner/JUnitRunner.java
libcore/tools/runner/java/dalvik/runner/JtregRunner.java
libcore/tools/runner/java/dalvik/runner/MainRunner.java
Classpath now has a Collection.of and Collection.addAll that take
a Collection<File> instead if just a File...
libcore/tools/runner/java/dalvik/runner/Classpath.java
Added Command.args(File arg) to avoid a lot of
args(file.getPath())
libcore/tools/runner/java/dalvik/runner/Command.java
Option --clean has expanded to --clean-before, --clean-after, and
--clean. Now --no-clean will remove nothing as Elliot
requested. --no-clean-after is now what is useful for
DalvikRunner debuggin. Default is still to clean before and
after.
libcore/tools/runner/java/dalvik/runner/DalvikRunner.java
Moved Vm.DALVIK_RUNNER_HOME to DalvikRunner.HOME.
/tmp/<UUID> paths are now /tmp/dalvikrunner/<UUID> paths are easier cleanup.
libcore/tools/runner/java/dalvik/runner/DalvikRunner.java
Driver was changed to use a ExecutorCompletionService around the
ExecutorService so that exceptions from the execute threads could
be reported on the main thread.
libcore/tools/runner/java/dalvik/runner/Driver.java
We now build the testrunner before the test so that its classes
will be around to be packed into APK files.
libcore/tools/runner/java/dalvik/runner/Driver.java
Dx.dex now takes File arguments instread of Strings. Dx.dex also
needs to pass additional memory arguments to not run out of memory
building the big dex for the APK. The values I used where from the
build/core/definitions.mk
libcore/tools/runner/java/dalvik/runner/Dx.java
postCompile was split into postCompileTestRunner and
postCompileTest because the packaging requires are very different
in each case for ActivityMode. Specifically, the test runner is
not post-packaged seperately, but packaged in the APK with each
test.
libcore/tools/runner/java/dalvik/runner/ActivityMode.java
libcore/tools/runner/java/dalvik/runner/DeviceDalvikVm.java
libcore/tools/runner/java/dalvik/runner/JavaVm.java
libcore/tools/runner/java/dalvik/runner/Vm.java
Changed testClass to test to avoid collision with new superclass field
libcore/tools/runner/java/dalvik/runner/JtregRunner.java
libcore/tools/runner/java/dalvik/runner/MainRunner.java
Added @SuppressWarnings("unchecked")
libcore/tools/runner/java/dalvik/runner/OptionParser.java
New android.app.Activity based on Elliot's TestAPK. It encapsulates an
ActivityRunner that invokes the appropriate TestRunner based on test.properties.
libcore/tools/runner/java/dalvik/runner/TestActivity.java
New class that shared contains (old and some new) between the
DalvikRunner and the TestRunner.
libcore/tools/runner/java/dalvik/runner/TestProperties.java
Regression test script for debugging the matrix of various
DalvikRunner modes and test types:
libcore/tools/runner/test-dalvik-runner.sh
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the dumpHprofDataDdms method, which generates the hprof dump
in RAM and then spits the whole thing at DDMS. The idea is to avoid
touching /sdcard, since not all apps have permission to do that.
This rearranges hprofShutdown() a fair bit. It used to re-use a context
struct, saving interesting bits to local variables before zapping it;
now we just create a second context struct and free both at the end.
For bug 2092855.
|
| |
|
|
|
|
| |
Dalvik_dalvik_system_VMRuntime_startJITCompilation ()V it is.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal is to allow DDMS to start/stop method profiling in apps that
don't have permission to write to /sdcard. Instead of writing the
profiling data to disk and then pulling it off, we just blast the whole
thing straight from memory.
This includes:
- New method tracing start call (startMethodTracingDdms).
- Rearrangement of existing VMDebug method tracing calls for sanity.
- Addition of "vector" chunk send function, with corresponding
update to the JDWP transport function.
- Reshuffled the method trace start interlock, which seemed racy.
- Post new method-trace-profiling-streaming feature to DDMS.
Also:
- Added an internal exception-throw function that allows a printf
format string, so we can put useful detail into exception messages.
For bug 2160407.
|
|
|
|
|
|
| |
Until now, we used a place-holder in frameworks/base.
Removed cruft.
|
|
|
|
| |
This is a public API change.
|
|\
| |
| |
| |
| |
| |
| | |
Merge commit 'ca77c6035fcce6ed9653ee1bed1753bff99e3d89'
* commit 'ca77c6035fcce6ed9653ee1bed1753bff99e3d89':
Remove "unused" opcodes from API.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
There's no need to have constants like OP_UNUSED_FF in the API. They
serve no purpose, and it makes life confusing when an opcode is defined
(does the "unused" one go away, breaking the API? do we have the real
definition and the "unused" definition simultaneously?).
Discussed / approved by API council.
|
|\ \
| | |
| | |
| | |
| | | |
* changes:
Expose hooks for more efficient log handling in Android apps.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This change introduces a new interface, DalvikLogHandler. Log
handlers that implement it opt-in to more efficient log handling
for common-case log messages. The API requires far fewer objects
to be allocated to log a message.
A related change in frameworks/base adopts this optimization
in the built-in AndroidHandler.
This optimization resulted in a 2.75x improvement on my device:
from 154ns to 56ns per message.
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
This adds a hidden method to android.os.Debug that causes the contents
of various reference tables to be dumped. Currently it's the local,
global, and pinned array tables from JNI.
Bug 2075355
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
in dalvik.system.
Merge commit '2ff7a6741726c7f43a3cea6d30bf7c387f913e78'
* commit '2ff7a6741726c7f43a3cea6d30bf7c387f913e78':
Deprecate many of the accidentally-published APIs in dalvik.system.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
See bug 2021674 for discussion. I searched Google Code Search to
sample which of these APIs are being used. None of these APIs
were used by applications, so I'm quite confident that removing
them will not break applications or upset developers.
These APIs were neither formerly documented, nor intended for use
by application developers. I am deprecating them now to discourage
their use going forward. We should remove them in a future release.
|
|\ \
| |/ |
|
| | |
|
|/
|
|
|
| |
The other two copies of this code have this line commented out, and I assume
it's only active here by accident.
|
|
|
|
|
|
|
|
|
|
| |
function that
queries the native thread status. Modified the profiler to sample every thread at
a fixed interval instead of adjusting the delay based on the number of threads. This
will make it easier to compare results across apps. Added ability to shut down
the profiler thread. Added code to track whether the method was a leaf or a
caller.
|
| |
|
|
|
|
|
|
| |
This call prints the stack trace for the current thread, and then
crashes the VM so you can see the native stack trace too. Useful for
figuring out "how did I get here?" situations.
|
|
|
|
| |
Also fixing VMStack to hide the new API method.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
commit 56bcdc2a3b881883409267c3bd16294d80716859
Merge: 903691a f429dca
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 17:33:19 2009 -0700
Merge branch 'concurrent_798021' into concurrent_dalvik
Conflicts:
libcore/concurrent/.classpath
libcore/concurrent/build.xml
libcore/concurrent/make/run-test.xml
libcore/concurrent/src/main/java/java/util/concurrent/ArrayBlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/BlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentHashMap.java
libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentLinkedQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ConcurrentMap.java
libcore/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArrayList.java
libcore/concurrent/src/main/java/java/util/concurrent/CopyOnWriteArraySet.java
libcore/concurrent/src/main/java/java/util/concurrent/DelayQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/LinkedBlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/PriorityBlockingQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ScheduledThreadPoolExecutor.java
libcore/concurrent/src/main/java/java/util/concurrent/Semaphore.java
libcore/concurrent/src/main/java/java/util/concurrent/SynchronousQueue.java
libcore/concurrent/src/main/java/java/util/concurrent/ThreadPoolExecutor.java
libcore/concurrent/src/main/java/java/util/concurrent/TimeUnit.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicBoolean.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicInteger.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerArray.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicIntegerFieldUpdater.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLong.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongArray.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicLongFieldUpdater.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReference.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceArray.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/AtomicReferenceFieldUpdater.java
libcore/concurrent/src/main/java/java/util/concurrent/atomic/package.html
libcore/concurrent/src/main/java/java/util/concurrent/locks/AbstractQueuedSynchronizer.java
libcore/concurrent/src/main/java/java/util/concurrent/locks/LockSupport.java
libcore/concurrent/src/main/java/java/util/concurrent/locks/ReentrantReadWriteLock.java
libcore/concurrent/src/main/java/java/util/concurrent/locks/package.html
libcore/concurrent/src/main/java/java/util/concurrent/package.html
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicLongFieldUpdaterTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicReferenceFieldUpdaterTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/AtomicReferenceTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ConcurrentHashMapTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/DelayQueueTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ExecutorsTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/JSR166TestCase.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/LinkedBlockingQueueTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/LockSupportTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ReentrantLockTest.java
libcore/concurrent/src/test/java/tests/api/java/util/concurrent/ReentrantReadWriteLockTest.java
commit 903691ae71cff640d5487a3d34a20e8767dbfb66
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 16:09:58 2009 -0700
Dalvik Concurrent
commit f429dca21c408ee62e688f60d5e110718374e944
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 16:08:25 2009 -0700
Concurrent 798021
commit b2c76fdd1056113000140bc4af57300c87469d2d
Author: Jesse Wilson <jessewilson@google.com>
Date: Mon Jul 27 16:03:45 2009 -0700
Concurrent 527399
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In internal bug 1836311, the String.replace() in PathLoader.findClass
was identifed by traceview as 6.6% of startup time for an app. This
adds a (hidden) alternative that takes a "binary name" like the
functions in ClassLoader, and we do the slash-to-dot conversion inside
the VM as we convert it to a descriptor. (This is really how it should
have been done in the first place, but now it's part of the visible API
and engraved in stone.)
The original function now does a slash-to-dot conversion and calls the
new one.
(We may want to un-hide the method for the benefit of people writing
custom class loaders. If so, we can do that in a separate API-update
commit.)
|
|\
| |
| |
| |
| |
| |
| | |
Merge commit '0f0ae023a3a53f7c9e254283b50a0099781acb79'
* commit '0f0ae023a3a53f7c9e254283b50a0099781acb79':
Add FileDescriptor variation of startMethodTracing().
|
| |
| |
| |
| |
| |
| | |
This is for bug #1829561 ("am profile" with bad filename kills process), which
will allow the am command to take care of opening the file and handing the
resulting fd over to the process to be profiled.
|
|\ \
| |/
| |
| |
| |
| |
| | |
Merge commit '4e3cc66298b8e6d97670d3ed0b4170fb161d36f3'
* commit '4e3cc66298b8e6d97670d3ed0b4170fb161d36f3':
AI 147732: fix broken links
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Merge commit '4645b7c3a461769281a0b2b846a26c79e806aaa0' into donut
* commit '4645b7c3a461769281a0b2b846a26c79e806aaa0':
AI 147732: fix broken links
|
| | |
| | |
| | |
| | |
| | |
| | | |
BUG=1810005
Automated import of CL 147732
|
|\ \ \
| |/ /
| | |
| | |
| | |
| | |
| | | |
Merge commit '28352aafc2dba4e0f2c507649706389e1bea327e'
* commit '28352aafc2dba4e0f2c507649706389e1bea327e':
AI 147723: This should have been deleted a while ago, since
|
| |\ \
| | |/
| | |
| | |
| | |
| | |
| | | |
Merge commit '7cc03015bd1bcc14fcc5a0d4ad8b235b24992de2' into donut
* commit '7cc03015bd1bcc14fcc5a0d4ad8b235b24992de2':
AI 147723: This should have been deleted a while ago, since
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
it's a dupe class.
BUG=1285921
Automated import of CL 147723
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
the RI so that the required test annotation
classes are copied over from core.jar. Means
we don't have to maintain duplicate versions
of these classes (and there will be less
verifier complaints), so these are going away
in the process.
BUG=1285921
Automated import of CL 144229
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
host (or an different test harness) should take into
account.
BUG=1537738
Automated import of CL 143464
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
side effecs. The test harness can isolate these in their
own process. Unfortunately we need to add the class twice.
Maybe we can find a better solution for this at a later
point.
BUG=1285921
Automated import of CL 143460
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
the RI so that the required test annotation
classes are copied over from core.jar. Means
we don't have to maintain duplicate versions
of these classes (and there will be less
verifier complaints), so these are going away
in the process.
Original author: jorgp
Merged from: //branches/cupcake/...
Automated import of CL 144230
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
host (or an different test harness) should take into
account.
Original author: jorgp
Merged from: //branches/cupcake/...
Automated import of CL 143649
|