Merge "Enable core callee-save on x64."
diff --git a/runtime/arch/stub_test.cc b/runtime/arch/stub_test.cc
index 986b7ec..4b67c83 100644
--- a/runtime/arch/stub_test.cc
+++ b/runtime/arch/stub_test.cc
@@ -272,9 +272,9 @@
".cfi_adjust_cfa_offset -16\n\t"
: "=a" (result)
// Use the result from rax
- : "D"(arg0), "S"(arg1), "d"(arg2), "a"(code), [referrer] "m"(referrer)
+ : "D"(arg0), "S"(arg1), "d"(arg2), "a"(code), [referrer] "c"(referrer)
// This places arg0 into rdi, arg1 into rsi, arg2 into rdx, and code into rax
- : "rbx", "rcx", "rbp", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
+ : "rbx", "rbp", "r8", "r9", "r10", "r11", "r12", "r13", "r14", "r15",
"memory"); // clobber all
// TODO: Should we clobber the other registers?
#else
diff --git a/runtime/instrumentation.cc b/runtime/instrumentation.cc
index 14834dd..e336c38 100644
--- a/runtime/instrumentation.cc
+++ b/runtime/instrumentation.cc
@@ -56,7 +56,8 @@
static bool InstallStubsClassVisitor(mirror::Class* klass, void* arg)
EXCLUSIVE_LOCKS_REQUIRED(Locks::mutator_lock_) {
Instrumentation* instrumentation = reinterpret_cast<Instrumentation*>(arg);
- return instrumentation->InstallStubsForClass(klass);
+ instrumentation->InstallStubsForClass(klass);
+ return true; // we visit all classes.
}
Instrumentation::Instrumentation()
@@ -73,7 +74,7 @@
quick_alloc_entry_points_instrumentation_counter_(0) {
}
-bool Instrumentation::InstallStubsForClass(mirror::Class* klass) {
+void Instrumentation::InstallStubsForClass(mirror::Class* klass) {
if (klass->IsErroneous()) {
// We can't execute code in a erroneous class: do nothing.
} else if (!klass->IsResolved()) {
@@ -87,7 +88,6 @@
InstallStubsForMethod(klass->GetVirtualMethod(i));
}
}
- return true;
}
static void UpdateEntrypoints(mirror::ArtMethod* method, const void* quick_code)
diff --git a/runtime/instrumentation.h b/runtime/instrumentation.h
index 2af9a73..cea0388 100644
--- a/runtime/instrumentation.h
+++ b/runtime/instrumentation.h
@@ -328,7 +328,7 @@
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
// Call back for configure stubs.
- bool InstallStubsForClass(mirror::Class* klass) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
+ void InstallStubsForClass(mirror::Class* klass) SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
void InstallStubsForMethod(mirror::ArtMethod* method)
SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
diff --git a/test/116-nodex2oat/run b/test/116-nodex2oat/run
index 2df6705..7f90bf7 100755
--- a/test/116-nodex2oat/run
+++ b/test/116-nodex2oat/run
@@ -14,12 +14,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
-# Remove prebuild from the flags, this test is for testing not having oat files.
-flags="${@/--prebuild/}"
-
-# Use the non-prebuild script.
-RUN="${RUN/push-and-run-prebuilt-test-jar/push-and-run-test-jar}"
-
# Make sure we can run without an oat file,
echo "Run -Xnodex2oat"
${RUN} ${flags} --runtime-option -Xnodex2oat