History log of /art/test/MyClassNatives/MyClassNatives.java
Revision Date Author Comments
559b1cc279deb9299414ddd46595bb8bca7fa090 24-Jun-2015 Lazar Trsic <Lazar.Trsic@imgtec.com> [MIPS64] JNI Compiler: Sign-extend int function arguments

MIPS n64 ABI differs from arm64. Arguments smaller than the 8B stack
slot need to be sign-extended.

Use combination (lw,sd), instead of (lw,sw) for 4B values.

Change fixes software keyboard crash on mips64.

Bug: 21555893

(cherry picked from commit f652d605753f1387e7797461b47116c5dcdf928d)

Change-Id: I7574d37f6039e9e8c9e0047254be71d28d4c829a
f652d605753f1387e7797461b47116c5dcdf928d 24-Jun-2015 Lazar Trsic <Lazar.Trsic@imgtec.com> [MIPS64] JNI Compiler: Sign-extend int function arguments

MIPS n64 ABI differs from arm64. Arguments smaller than the 8B stack
slot need to be sign-extended.

Use combination (lw,sd), instead of (lw,sw) for 4B values.

Change fixes software keyboard crash on mips64.

Change-Id: I7574d37f6039e9e8c9e0047254be71d28d4c829a
48ee356484225ef0d7cfa197b1699524b866c802 11-Apr-2015 Andreas Gampe <agampe@google.com> ART: Ignore result for exception-case JNIEndWithReference

The value may not contain a valid jobject, so ignore and use null
directly.

Refactor a bit to have one common function for both synchronized
and non-synchronized case.

Add a test to the JNI compiler tests.

Bug: 18135031
Change-Id: If2f004a112f36f4ff68172a946dec67ce561ae4d
ebee8de725d5fa83483642786b19ea453d865762 13-Aug-2014 Nicolas Geoffray <ngeoffray@google.com> Fix bugs in the x86 and arm versions of generic JNI.

Also fix the run script of 116-nodex2oat to use the non-prebuild
script for target.

Bug: 17000769

(cherry-picked from commit 54accbca0b549b1b1ad3ef09655dad438bc1e104)

Change-Id: I439fcd710fb8bb408f3288ff8fb34fef23890adb
54accbca0b549b1b1ad3ef09655dad438bc1e104 13-Aug-2014 Nicolas Geoffray <ngeoffray@google.com> Fix bugs in the x86 and arm versions of generic JNI.

Also fix the run script of 116-nodex2oat to use the non-prebuild
script for target.

Bug: 17000769

Change-Id: I439fcd710fb8bb408f3288ff8fb34fef23890adb
1dd61ba3081a52c3e2efdc78d64f5c134eea7895 02-Apr-2014 Vladimir Kostyukov <vladimir.kostyukov@intel.com> ART: A workaround for a wrongly-read caller's frame

The quick-trampoline treats caller's frame in a different way
then it was formed by quck-invoke stub for hard float ABI targets
such as x86_64 and aarch64. The patch workarounds the issue of
wrongly-read stack arguments due to no contract between quick-invoke
stub and quick-trampoline/shadow-frame-builder regarding the reg-
spill area.

Change-Id: I302f212b4ea5e38632527a5ace03f136b21ef806
Signed-off-by: Vladimir Kostyukov <vladimir.kostyukov@intel.com>
ad61517890168ff6ed19063cc8032a9c033d135b 05-Apr-2014 Andreas Gampe <agampe@google.com> Fix wrong handling of Generic JNI not finding native method.

Code did not properly call JNIMethodEnd, such that locks etc
where not correctly handled.

Add a test case to jni_compiler_test.

Change-Id: If2d5c628517d65a56dd6bb5c4cabdff77c7664a1
7a0e504e60441012c78fc2f3ab8d4da131185c50 07-Mar-2014 Andreas Gampe <agampe@google.com> More JNI compiler tests and small fix

Add checks for alignment, floats, and maximum number of parameters
Fixed x86_64 ABI wrong interpretation (floats not widened in registers)

Change-Id: I6c09af4914b7675ac0275ce21003e317ca44a403
fc7120c0293b96218d55abee29882f101acbc79b 27-Aug-2012 Brian Carlstrom <bdc@google.com> Fix JNI Compiler for x86 target

Change-Id: Ia247de328d234c4a57ddd93f394cad2c63e48153
3e778f7ee62fe75912379531022a09230c25f5f8 22-May-2012 Elliott Hughes <enh@google.com> Fix JNI stubs for synchronized native methods with double/long arguments in low registers.

Change-Id: I3639f7a7a9564630ae01651119fcad237a5e675d
b264f081424642b06b0bbe7102781895d41faa9d 07-Apr-2012 Elliott Hughes <enh@google.com> Implement native method return value and upcall argument type checking.

Also clean up the CheckJNI testing a bit. I still need to do some work so that
JniAbort catches more of the detail, but this is a step forward.

Change-Id: Ibf5e32867d56123cff902ebf602406b731f567d2
c77928475995d01e1d6d2b2d6672510d01a5fce4 04-Mar-2012 Ian Rogers <irogers@google.com> Fix bug in JNI compiler AAPCS padding calculation

Fixes bug found in Google Earth.

Change-Id: I54beb05a67e77a004052b567c11837cc6f2c18fe
1cefdbdff559aff5a3ee5c0878ba3b505109e0f9 29-Feb-2012 Ian Rogers <irogers@google.com> Test invocation of static methods through JNI stub

Additional unit test to avoid regressions like Change I707f8e64.

Change-Id: Ic343bf5273ca06b646f0235c88d6edbe3d20d448
2faa5f1271587cda765f26bcf2951065300a01ff 30-Jan-2012 Elliott Hughes <enh@google.com> Fix copyright headers.

Change-Id: I5b7bc76a370238d810d78522bd5531600746700f
67375acd9fec74cc2054554fe1ed0a7d213e1e47 14-Sep-2011 Ian Rogers <irogers@google.com> Support for exception throwing from JNI.

This change modifies the exception throwing JNI unit test to be
realistic and implements the missing exception throwing pieces on X86.
It also corrects some issues on ARM including methods with arguments
LJII (such as compareAndSwapInt).

Change-Id: I375f6efe2edeebb8007d7aa12c10b49742a8f119
31384c59bb4b387f29f2b6d4d3db886c29b81170 07-Sep-2011 Shih-wei Liao <sliao@google.com> Generating stub code for registering a jni function at runtime.

On ARM and x86. Added a unit test.

Change-Id: I6b1ee09ad18295108f406ce21d73555796ecbba6
7a99c11d220ec68c208b507570e3a78c2c18a7a1 07-Sep-2011 Ian Rogers <irogers@google.com> Fix various JNI compiler bugs/unimplementeds.

For both x86 and arm we were under computing the outgoing argument size.
For ARM the managed double/long passing had been assumed to be following AAPCS,
however, currently we split long/doubles across R1_R2 and R3 and the stack.
Add support for this in the managed register and jni compiler code.
Add test and various other clean ups to jni compiler code.

Change-Id: I4129076d052a8bce42304f5331b71aa3ac50210f
b9231c81fad1c9d85ea7e6db9120f872e3417380 06-Sep-2011 Ian Rogers <irogers@google.com> Test arg passing for arraycopy.

Change-Id: Id0a6b6043b9604aa3bb077af0ed858be9bfa5407
9b269d281d16798b0c24027c32ec6507f71b2787 04-Sep-2011 Ian Rogers <irogers@google.com> Fix bug in long arguments for JNI on x86

Also add new unit test.
Change-Id: I226501dbfec6e207318d8063b5daf53b7b606ee4
558788e60554ff5c110fb90cc46ee1ecef3ec85a 01-Sep-2011 Shih-wei Liao <sliao@google.com> Testing the decoding of JObject.

Change-Id: Ie539275592fbb7b648f9ce5e4a619aecc576768c
82da44b625a1af03c0b768c71f1cef29831127c3 01-Sep-2011 Shih-wei Liao <sliao@google.com> Fix the "mov R1, R2; mov R2, R3" bug in jni_compiler.

Should be "mov R2, R3; mov R1, R2" instead.

Change-Id: Ie5264c3fe38486781e09f54e1e6d1fdcf7a2d4e5
a2501990dd0f68baf38ce19251949d7bb3ecfe5a 27-Aug-2011 Elliott Hughes <enh@google.com> Add -Xcheck:jni.

I think this is as complete as possible right now. The remaining
two #if 0 sections require:

1. a way to get the Method* of the current native method.
2. a way to get the Class* of the type of a given Field*.

Change-Id: I331586022095fb36ccc10c9ac1890a59a9224d01
9f30b38d74990286ce27c3a45368f73dbe3638f0 29-Aug-2011 Brian Carlstrom <bdc@google.com> Externalize test code

Change-Id: Iab19397c7a72fb9a3ca63bfd0bc4eaf1a98138ba