| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
croot
cd dalvik
repo start dalvik-is-dead-long-live-dalvik .
repo sync -c .
git rm -r README.txt
git rm -r dexopt
git rm -r tools/deadcode.py
git rm -r tools/dex-preopt
git rm -r tools/dexcheck
git rm -r tools/gdbjithelper
git rm -r unit-tests
git rm -r vm
git checkout HEAD vm/Common.h (needed by libdex)
git checkout HEAD vm/DalvikVersion.h (needed by libdex)
git checkout HEAD vm/Profile.h (needed by dmtracedump)
git add Android.mk (after removing vm, dexopt, and unit-tests references)
git commit -a -m 'Dalvik is dead, long live Dalvik!'
Bug: 14298175
Change-Id: I9dd13053677629d13496d4238af4374452cda415
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes building with clang 3.4, and possibly future versions of gcc:
- Don't error out on unused functions generated by gen-mterp.py even
when we're using -Werror
- Eliminate some dead code (Word/kWordSize definition) clang warns about
In order to avoid the need for -Wno-error=unused-function, gen-mterp.py
would have to be a lot smarter than it currently is.
Currently, it copies all code from header.cpp and then adds CPU specific
routines.
The code in header.cpp defines all sorts of functions that may or may
not be used by the CPU specific routines, depending on whether or not
the CPU specific bits have a better implementation available.
To fix this without -Wno-error=unused-functions, gen-mterp.py would have
to actually read the CPU specific bits and based on that throw out parts
of header.cpp that aren't needed.
This seems to be too much effort to just avoid having a couple of unused
functions in the code that can be thrown out at compile time anyway,
especially since this is in dalvik which will likely not see another
major revision.
Change-Id: I2874c6f05186721636518e422b0f39a3d8e731cd
Signed-off-by: Bernhard Rosenkränzer <Bernhard.Rosenkranzer@linaro.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We had an off by one error due to getting the card for the heap
source limit. This is not a valid card when the heap is at
maximum size, but doesn't need to be since we do less than
comparison on it. Fixed another error where we didn't take into
account the biased begin in an assert.
Did a bit of refactoring by removing useless if statement.
Fixes 061-out-of-memory, 080-oom-throw.
Bug: https://code.google.com/p/android/issues/detail?id=42868
(cherry picked from commit ee903e174872edd0ecc6f1940c7412892cd49123)
Change-Id: If677c93e46fe1ee5729eec1820b1bd9682b4f924
|
|
|
|
|
|
|
|
|
| |
This allows the max free to be larger on devices with more memory and
thereby avoid GCs (that may be more frequent due to larger bitmaps).
b/6606849
Change-Id: I4063a303ea4be3c1f227259d699fb238a806451f
|
|
|
|
| |
This reverts commit 4c7e27186d87ccd40646fd4f514dc982ff5b40b1.
|
|
|
|
| |
This reverts commit 2f8d5e11f735e9ee8e235c31b3f113f6c90ad63c.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Card scanning uses dvmHeapSourceGetValue to scan from the heap base to
the total foot print of the heap. Trimming the Zygote may lower the
footprint of the heap by creating a hole in the middle. This hole is
unaccounted for in the card scanning leading to missed dirty cards.
This was a regression introduced by:
https://android-review.googlesource.com/#/c/41728/
as it didn't #define MORECORE_CANNOT_TRIM 1 that was previously defined
here:
https://android-review.googlesource.com/#/c/41731/4/libcutils/mspace.c
Introduce a notion of dvmHeapSourceGetLimit so that card scanning
doesn't rely on footprint. Trim the heap before forking the Zygote. This
change continues to enable morecore trimming of mspaces.
Change-Id: I3f0b12371097f50a1f920cac25846ca08685e7ed
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 6c355e53332502314c3d82a7afcf898d66118f27.
Conflicts are resolved in:
vm/alloc/CardTable.cpp
vm/alloc/HeapBitmap.cpp
vm/alloc/HeapInternal.h
vm/alloc/HeapSource.cpp
vm/alloc/MarkSweep.cpp
Tested with overnight monkey runs + Delaunay.
Bug: 5037417
Change-Id: I400eff8542d0bddd865ce570a479f7750c1ba484
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We need to distinguish between "cleared weak global" and "deleted weak global".
Previously we used NULL for both. Now we add a magic value for cleared weak
globals. I've also switched the GC over to using iterators, so IndirectRefTable
itself becomes responsible for not showing bad pointers to the GC.
I've also improved the reference table dumping to cope with the new scheme and
to be a bit easier to read (through extra indentation).
Bug: 4260055
Change-Id: I26af301fb2b46d014c6f6b0915a8f8a7fb6d7c5b
|
|
|
|
|
|
|
| |
The main purpose here was to have slightly less unclear warnings for
JNI local reference abuse.
Change-Id: I2c6378dd0a94d8afb96a8e409f7460205e3cd315
|
|
|
|
| |
Change-Id: I615dbff3e81a1128dc3ba43d6d426c370ae3abcf
|
|
|
|
| |
Change-Id: Id349b359489bb6b1bbb4ab78d29d85c0e6b33799
|
|
|
|
|
|
|
|
| |
Some interfaces in Alloc.h had to be left with C linkage as they are
referenced by the interpreter assembler code. That dependency will be
addressed in a future commit.
Change-Id: I6b2097a2139ddf6b4b13e592710e241442e08488
|
|
|
|
| |
Change-Id: Ica749f6defa890363ec531b29e25bc415dc2cbb9
|
|
|
|
|
|
|
|
|
|
|
|
| |
This flag is only turned on for the unique class Class, and it is
meant to make it possible to quickly test objects for "classiness" as
well as trivially figure out if one is looking at the class Class
itself.
Bonus: Made a few places that directly set class->accessFlags use
the prescribed macro for doing same.
Change-Id: I89fce708c407b597f28ce610b778123f5dcaecf6
|
|
|
|
| |
Change-Id: Ibdc37f3d7eb6385da1059d5525727b090626ec4c
|
|
|
|
|
|
|
|
|
|
| |
Previously, we were using a non-standard C dialect which did not permit
the nicer variable scoping in loops. Now that we are using C++ in the
collector we can guarantee that feature is available. This change also
rearranges some of the surrounding code to take advantage of the more
flexible scoping rules.
Change-Id: I9be35794cc12bcbc0d5299fe387d4bc406481075
|
|
Change-Id: I25d8fa821987a3dd6d7109d07fd42dbf2fe0e589
|