History log of /dalvik/vm/oo/Class.cpp
Revision Date Author Comments
4b44ea2e3a8f5d5f30926095b0e5d803d406fbef 03-Aug-2013 Elliott Hughes <enh@google.com> Ignore invalid access flags.

Bug: 10134551
Change-Id: I9df8f7a2541e0c9bd2f9294a202fef2afce815f8
b0919815627858dff6d288e4d3567914e89b3661 23-Feb-2013 Elliott Hughes <enh@google.com> Abstract methods aren't implementations.

We should only be checking the visibility of actual implementations
of interface methods. Intervening abstract methods are allowed to
be non-public.

Bug: https://code.google.com/p/android/issues/detail?id=42991
Change-Id: I510d0cc6c1f89d161d4ebad7ef058c03fa09e9b0
7284c78e14a7aad15b4f1c66c0a18d09a49c00de 15-Oct-2012 Elliott Hughes <enh@google.com> Revert the fix for incorrect package-private overriding.

This fixes FIFA 2012, the download portion of which relies on the
old bug, without breaking instrumentation tests. The problem is that
dexopt tries to quicken method calls, and gets confused by this case
where the apparent static method resolution differs from the actual
one at runtime, depending on the targetSdkVersion of the specific app.
dexopt can't make an ahead-of-time decision in a world where the rules
might change at runtime.

Bug: 7301030
Bug: 7343420
Change-Id: Iaa15611f099546b7e54279cfd6abc9b4cdcb9812
9735865121118f255c4c15183b236f9f30e795f1 15-Oct-2012 Elliott Hughes <enh@google.com> Revert the fix for incorrect package-private overriding.

This fixes FIFA 2012, the download portion of which relies on the
old bug, without breaking instrumentation tests. The problem is that
dexopt tries to quicken method calls, and gets confused by this case
where the apparent static method resolution differs from the actual
one at runtime, depending on the targetSdkVersion of the specific app.
dexopt can't make an ahead-of-time decision in a world where the rules
might change at runtime.

Bug: 7301030
Bug: 7343420
Change-Id: Iaa15611f099546b7e54279cfd6abc9b4cdcb9812
ed94ff793680873d2c942641ccda9ea81c95b5ad 13-Oct-2012 Elliott Hughes <enh@google.com> Revert "Don't enforce access checks for overloading for targetSdkVersion < 17."

This reverts commit 0fe885202fc2d1e7f3d34c99ae3487a9a6387be1

May be causing http://b/7343420, though I can't reproduce that crash.

Change-Id: Ia3d2a1507602d07699d1f9914e734cc813f97518
0fe885202fc2d1e7f3d34c99ae3487a9a6387be1 12-Oct-2012 Elliott Hughes <enh@google.com> Don't enforce access checks for overloading for targetSdkVersion < 17.

Still warn, and enforce the missing check for targetSdkVersion >= 17.

Bug: 7301030
Change-Id: I8189fcbf222f331b1f80a156b01082d61f1f9362
8b5cd0ae1c50bf6375b223f7e95e76a6fd8664c8 13-Jul-2012 Elliott Hughes <enh@google.com> Warn if we see a class whose behavior has changed because of https://android-review.googlesource.com/#/c/32480/.

Change-Id: Ic7ca229a92c8d1bd666ecf64209d061301dcb0c9
2fa5a86e48ac27992664f1677ce2ea5f441dc143 09-Feb-2012 Im Sooin <ciecet@gmail.com> Avoid method overriding if its super method is inaccessible.

A call to package private method could be redirected to subclass which
was not in the same package.
Modified vtable to retain virtual super methods which cannot be accessed.

This change affects vtable index in optimized dex.

Change-Id: I9cc7e309c305bca12e5061009c4245fb70014681
Signed-off-by: Im Sooin <ciecet@gmail.com>
d8a81cfd749c629de84db32eee3703cc5e0dc28f 13-Jan-2012 Johannes Rudolph <johannes.rudolph@gmail.com> cleanup redundant interfaces from iftable to avoid excessive LinearAlloc use

In deep interface hierarchies super-interfaces are recursively concatenated
to create the iftable. There was no checking for duplicated entries so that the
iftable could get pretty large with just a few layers of interfaces up to the
point where the LinearAlloc was exceeded completely.

This change scans the iftable linearly for existing entries before it adds another
one.

Issue: http://code.google.com/p/android/issues/detail?id=22586
Change-Id: Idb4a13ca7a52f390661629cf2539930242526876
Signed-off-by: Johannes Rudolph <johannes.rudolph@gmail.com>
c1a4ab9c313d8a3d12007f2dbef7b5a6fa4ac2ef 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Also fix an occurrence of LOGW missed in an earlier change.

Bug: 5449033
Change-Id: I2e3b23839e6dcd09015d6402280e9300c75e3406
e8e1ddccd616e8226b7cc1e4e9fdb327429249e8 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: Ia5d301248024df26c2a29dabdfe738e39ec87c82
4308417beec548c2b2c06ecec4f7f4a965b09fb2 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ic558031c75b3702d90eb78bd730501ae5d3c077b
062bf509a77fce9dfcb7e7b2e401cf2a124d83d5 20-Dec-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: Ic663376d1ad6a6cb14bf81405ad9afd247cf2f60
92c1f6f1b4249e4e379452ee7b49f027052bf4ce 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I8bd96961e369a08e86ff78b82d90f20f42787eb1
1663a6c12fdf4732d7ea0a0406af6085b3c408e4 12-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOG() to (IF_)ALOG() DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/141576

Bug: 5449033
Change-Id: Ie3bc0d5436218ea05f98cb0373ecf5924f78db05
f7c18055de6e7ffb3ee16a45680ea0ffd6158fbd 11-Oct-2011 Ben Cheng <bccheng@android.com> Leave up to 512 chars of gDvm.lastMessage on dvmAbort's stack frame.

Bug: 5372634
Change-Id: I019a059e5a989de3dfc9e2f5e78f7caa7168cf75
6f9edbe7d3a83f7741c4d56f9f5be1414ecabc9f 02-Jun-2011 Dan Bornstein <danfuzz@android.com> Add some error checking and clean out some cruft.

Error checking #1: When a cached dex file can't be created, do extra
analysis to figure out (and report) why.

Error checking #2: When opening classpath entries, become sensitive
to the file extension, only trying to open files with the right
extensions and complaining explicitly if it's unrecognized.

Cruft cleaning: We've never supported finding class files in directory
hierarchies in Dalvik. Fix some related comments and clean out some
code that tried (in vain) to implement a piece of that.

Bug: 4523201
Change-Id: I05b7a8570f147955cd62229fca72b50d36703752
6f3c21fb026d9489e5046416bcd5a84fa8e4615b 26-May-2011 Dan Bornstein <danfuzz@android.com> More LOG newline cleanup.

This changes all the places I could find where the log string was on the
line after its LOG call.

Change-Id: Iac6a9fcc64f46631fb093824ab60237dce1a5241
60fc806b679a3655c228b4093058c59941a49cfe 26-May-2011 Dan Bornstein <danfuzz@android.com> Further conservation of newlines.

Friends don't let friends end LOG() strings with newlines.

Change-Id: I5a18c766c90c4ab5f03caa6acd601d34d91beb00
d8d251136b7c63e1006da35197fc1962e56ae473 14-May-2011 Elliott Hughes <enh@google.com> Dump the pending exception before aborting in FindClass.

CheckJNI already does this, but since we're about to abort, we should do this
even without CheckJNI.

Bug: http://code.google.com/p/android/issues/detail?id=16758
Change-Id: Ief5e8d836ad16d342eead8db9e44ae5af7983c3a
a7323974309c3b81cfe342db635d0bf30f36ff62 07-May-2011 Carl Shapiro <cshapiro@google.com> Establish a subclass relationships among the field types.

Change-Id: Id349b359489bb6b1bbb4ab78d29d85c0e6b33799
dc2a1881fe75a8dd961fb24509621c7c97694c9a 06-May-2011 Carl Shapiro <cshapiro@google.com> Establish a subclass relationship between ClassObject and Object.

Change-Id: I9fb5d33f23ec7aeb2b9a3908d4125b34be0599ae
7cc095f8e3ec52ba94d91e1d327354f61236496a 03-May-2011 Carl Shapiro <cshapiro@google.com> Establish a subclass relationship between DataObject and Object.

Change-Id: Ifd0e364f7789d9e13f769f8d6a65c3c573915fd3
d862faa2ceae186da5518607505eb942d634ced9 28-Apr-2011 Carl Shapiro <cshapiro@google.com> Get rid of uneeded extern, enum, typedef and struct qualifiers.

Change-Id: I236c5a1553a51f82c9bc3eaaab042046c854d3b4
52e2626eb3bf620c53459a90d912733de2ce0369 28-Apr-2011 Carl Shapiro <cshapiro@google.com> Add a non-moving option to dvmMalloc and make use of it.

At present, class objects, non-moving arrays, and interned strings have
location dependencies in native code. Allocating non-moving is a no-op
for the present heap, but this option will have an effect after the
copying collector is integrated.

Change-Id: I674f83a086ac65db303baab0599831f80f52a4a5
c67c23bc6f5f3621f31c41bd48553b196ab0325e 28-Apr-2011 Carl Shapiro <cshapiro@google.com> Eliminate the PROFILE_FIELD_ACCESS feature.

Change-Id: I27bf2d18c4c0735913ea8698825b05e393b046b2
1e1433e78f560a01744e870c19c162ab88df9dc1 21-Apr-2011 Carl Shapiro <cshapiro@google.com> Remove unneeded void argument list declarations.

Change-Id: Ica749f6defa890363ec531b29e25bc415dc2cbb9
dabd15a98449c6554579457aa4639bcdc3434eaa 14-Apr-2011 Carl Shapiro <cshapiro@google.com> Move fundamental object definitions and operations to C++

Change-Id: Ibc3766edfbf7fdbde2d762d6e88a0bb02df2be31