summaryrefslogtreecommitdiff
path: root/test/683-clinit-inline-static-invoke/src-multidex/MyTimeZone.java
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2018-07-20 16:43:56 +0100
committer Vladimir Marko <vmarko@google.com> 2018-08-02 17:41:21 +0100
commita9f303c089aa2b2fc82d97201352945678ef54ae (patch)
tree0df0eb5294a3ee72aea8ca670762c02ca9ffa8dd /test/683-clinit-inline-static-invoke/src-multidex/MyTimeZone.java
parent1bfd891d06e276d602b4a6ccf1a9f70967195218 (diff)
Rewrite Class init entrypoint to take a Class arg.
Fixes invalid type index being passed to the entrypoint for class init check across dex files when the target type does not have a TypeId in the compilation unit's DexFile. The size of the aosp_taimen-userdebug prebuilts: - before: arm/boot*.oat: 16782748 arm64/boot*.oat: 19764400 oat/arm64/services.odex: 20162432 - after: arm/boot*.oat: 16811692 (+28.3KiB, +0.17%) arm64/boot*.oat: 19801032 (+35.8KiB, +0.19%) oat/arm64/services.odex: 20232208 (+68.1KiB, +0.35%) This increase comes from doing two runtime calls instead of one for HLoadClass/kBssEntry that MustGenerateClinitCheck(). Test: Additional test in 476-clinit-inline-static-invoke Test: m test-art-host-gtest Test: testrunner.py --host --optimizing --jit Test: Pixel 2 XL boots. Test: testrunner.py --target --optimizing --jit Test: testrunner.py --jvm Bug: 111433619 Change-Id: I2fccd6944480ab4dac514f60d38e72c1014ae7b2
Diffstat (limited to 'test/683-clinit-inline-static-invoke/src-multidex/MyTimeZone.java')
-rw-r--r--test/683-clinit-inline-static-invoke/src-multidex/MyTimeZone.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/683-clinit-inline-static-invoke/src-multidex/MyTimeZone.java b/test/683-clinit-inline-static-invoke/src-multidex/MyTimeZone.java
new file mode 100644
index 0000000000..b74b310a45
--- /dev/null
+++ b/test/683-clinit-inline-static-invoke/src-multidex/MyTimeZone.java
@@ -0,0 +1,22 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import android.icu.util.TimeZone;
+
+public abstract class MyTimeZone extends TimeZone {
+ // Reference to MyTimeZone.getDefaultTimeZoneType() shall resolve
+ // to TimeZone.getDefaultTimeZoneType() which should be easily inlined.
+}