summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Elliott Hughes <enh@google.com> 2012-03-16 12:48:31 -0700
committer Elliott Hughes <enh@google.com> 2012-03-16 12:48:31 -0700
commit1bac54ffa933fbe9b92b62437577f2f4583eff1a (patch)
treea27134343ed3cd45a286c3a68b9a4469e70f13e7
parent96970cdab3e28511322ce37fa578f6eff8931d72 (diff)
Fix all our unused parameter warnings so we let GCC report them.
There were a couple of genuine bugs here (fixed), plus there's a missing feature in trace.cc that I've just added a TODO for. Also note that I haven't touched the compilers; this warning is still explicitly disabled for that code. I'll do that when there's less going on in those directories. Change-Id: Ic3570bf82411a07c7530bfaf1995ac995b9fc00f
-rw-r--r--build/Android.common.mk1
-rw-r--r--build/Android.libart-compiler.mk4
-rw-r--r--src/assembler_arm.cc18
-rw-r--r--src/assembler_x86.cc22
-rw-r--r--src/class_linker.cc4
-rw-r--r--src/class_linker_test.cc8
-rw-r--r--src/dalvik_system_VMDebug.cc6
-rw-r--r--src/dalvik_system_VMRuntime.cc4
-rw-r--r--src/dalvik_system_Zygote.cc4
-rw-r--r--src/debugger.cc10
-rw-r--r--src/dex_file.cc2
-rw-r--r--src/dex_verifier_test.cc8
-rw-r--r--src/heap.h12
-rw-r--r--src/hprof/hprof.cc2
-rw-r--r--src/image_writer.cc4
-rw-r--r--src/indirect_reference_table.h2
-rw-r--r--src/java_lang_Runtime.cc8
-rw-r--r--src/java_lang_Thread.cc2
-rw-r--r--src/java_lang_VMClassLoader.cc2
-rw-r--r--src/jdwp/jdwp_adb.cc2
-rw-r--r--src/jdwp/jdwp_handler.cc136
-rw-r--r--src/jni_compiler_test.cc8
-rw-r--r--src/jni_internal.cc179
-rw-r--r--src/mem_map.cc2
-rw-r--r--src/mutex.cc5
-rw-r--r--src/oat_writer.cc10
-rw-r--r--src/oatexec.cc4
-rw-r--r--src/object.h2
-rw-r--r--src/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc12
-rw-r--r--src/reflection.cc4
-rw-r--r--src/runtime_linux.cc2
-rw-r--r--src/runtime_support.cc2
-rw-r--r--src/space.cc2
-rw-r--r--src/thread.cc35
-rw-r--r--src/thread_linux.cc2
-rw-r--r--src/trace.cc17
-rw-r--r--src/utils.cc27
-rw-r--r--src/utils.h3
-rw-r--r--test/ReferenceMap/stack_walk_refmap_jni.cc3
-rw-r--r--test/StackWalk/stack_walk_jni.cc6
40 files changed, 297 insertions, 289 deletions
diff --git a/build/Android.common.mk b/build/Android.common.mk
index 51b0f4f982..530a517e90 100644
--- a/build/Android.common.mk
+++ b/build/Android.common.mk
@@ -51,7 +51,6 @@ art_cflags := \
-Wall \
-Werror \
-Wextra \
- -Wno-unused-parameter \
-Wstrict-aliasing=3 \
-fno-align-jumps \
-fstrict-aliasing
diff --git a/build/Android.libart-compiler.mk b/build/Android.libart-compiler.mk
index 76735881c7..7140dbd477 100644
--- a/build/Android.libart-compiler.mk
+++ b/build/Android.libart-compiler.mk
@@ -88,6 +88,10 @@ define build-libart-compiler
else # host
LOCAL_CFLAGS := $(ART_HOST_CFLAGS)
endif
+
+ # TODO: clean up the compilers and remove this.
+ LOCAL_CFLAGS += -Wno-unused-parameter
+
LOCAL_SHARED_LIBRARIES := liblog
ifeq ($$(art_ndebug_or_debug),debug)
ifeq ($$(art_target_or_host),target)
diff --git a/src/assembler_arm.cc b/src/assembler_arm.cc
index e25e65680a..ae9f09264d 100644
--- a/src/assembler_arm.cc
+++ b/src/assembler_arm.cc
@@ -1658,7 +1658,7 @@ void ArmAssembler::StoreStackPointerToThread(ThreadOffset thr_offs) {
StoreToOffset(kStoreWord, SP, TR, thr_offs.Int32Value());
}
-void ArmAssembler::Move(ManagedRegister mdest, ManagedRegister msrc, size_t size) {
+void ArmAssembler::Move(ManagedRegister mdest, ManagedRegister msrc, size_t /*size*/) {
ArmManagedRegister dest = mdest.AsArm();
ArmManagedRegister src = msrc.AsArm();
if (!dest.Equals(src)) {
@@ -1717,8 +1717,8 @@ void ArmAssembler::Copy(ManagedRegister dest_base, Offset dest_offset, FrameOffs
StoreToOffset(kStoreWord, scratch, dest_base.AsArm().AsCoreRegister(), dest_offset.Int32Value());
}
-void ArmAssembler::Copy(FrameOffset dest, FrameOffset src_base, Offset src_offset,
- ManagedRegister mscratch, size_t size) {
+void ArmAssembler::Copy(FrameOffset /*dst*/, FrameOffset /*src_base*/, Offset /*src_offset*/,
+ ManagedRegister /*mscratch*/, size_t /*size*/) {
UNIMPLEMENTED(FATAL);
}
@@ -1731,8 +1731,8 @@ void ArmAssembler::Copy(ManagedRegister dest, Offset dest_offset,
StoreToOffset(kStoreWord, scratch, dest.AsArm().AsCoreRegister(), dest_offset.Int32Value());
}
-void ArmAssembler::Copy(FrameOffset dest, Offset dest_offset, FrameOffset src, Offset src_offset,
- ManagedRegister scratch, size_t size) {
+void ArmAssembler::Copy(FrameOffset /*dst*/, Offset /*dest_offset*/, FrameOffset /*src*/, Offset /*src_offset*/,
+ ManagedRegister /*scratch*/, size_t /*size*/) {
UNIMPLEMENTED(FATAL);
}
@@ -1816,11 +1816,11 @@ void ArmAssembler::LoadReferenceFromSirt(ManagedRegister mout_reg,
in_reg.AsCoreRegister(), 0, NE);
}
-void ArmAssembler::VerifyObject(ManagedRegister src, bool could_be_null) {
+void ArmAssembler::VerifyObject(ManagedRegister /*src*/, bool /*could_be_null*/) {
// TODO: not validating references
}
-void ArmAssembler::VerifyObject(FrameOffset src, bool could_be_null) {
+void ArmAssembler::VerifyObject(FrameOffset /*src*/, bool /*could_be_null*/) {
// TODO: not validating references
}
@@ -1849,7 +1849,7 @@ void ArmAssembler::Call(FrameOffset base, Offset offset,
// TODO: place reference map on call
}
-void ArmAssembler::Call(ThreadOffset offset, ManagedRegister scratch) {
+void ArmAssembler::Call(ThreadOffset /*offset*/, ManagedRegister /*scratch*/) {
UNIMPLEMENTED(FATAL);
}
@@ -1858,7 +1858,7 @@ void ArmAssembler::GetCurrentThread(ManagedRegister tr) {
}
void ArmAssembler::GetCurrentThread(FrameOffset offset,
- ManagedRegister scratch) {
+ ManagedRegister /*scratch*/) {
StoreToOffset(kStoreWord, TR, SP, offset.Int32Value(), AL);
}
diff --git a/src/assembler_x86.cc b/src/assembler_x86.cc
index 97663a766a..f771676fc0 100644
--- a/src/assembler_x86.cc
+++ b/src/assembler_x86.cc
@@ -183,7 +183,7 @@ void X86Assembler::movsxb(Register dst, const Address& src) {
}
-void X86Assembler::movb(Register dst, const Address& src) {
+void X86Assembler::movb(Register /*dst*/, const Address& /*src*/) {
LOG(FATAL) << "Use movzxb or movsxb instead.";
}
@@ -236,7 +236,7 @@ void X86Assembler::movsxw(Register dst, const Address& src) {
}
-void X86Assembler::movw(Register dst, const Address& src) {
+void X86Assembler::movw(Register /*dst*/, const Address& /*src*/) {
LOG(FATAL) << "Use movzxw or movsxw instead.";
}
@@ -1494,8 +1494,8 @@ void X86Assembler::StoreLabelToThread(ThreadOffset thr_offs, Label* lbl) {
fs()->movl(Address::Absolute(thr_offs), lbl);
}
-void X86Assembler::StoreSpanning(FrameOffset dest, ManagedRegister src,
- FrameOffset in_off, ManagedRegister scratch) {
+void X86Assembler::StoreSpanning(FrameOffset /*dst*/, ManagedRegister /*src*/,
+ FrameOffset /*in_off*/, ManagedRegister /*scratch*/) {
UNIMPLEMENTED(FATAL); // this case only currently exists for ARM
}
@@ -1647,8 +1647,8 @@ void X86Assembler::Copy(FrameOffset dest, FrameOffset src,
}
}
-void X86Assembler::Copy(FrameOffset dest, ManagedRegister src_base, Offset src_offset,
- ManagedRegister scratch, size_t size) {
+void X86Assembler::Copy(FrameOffset /*dst*/, ManagedRegister /*src_base*/, Offset /*src_offset*/,
+ ManagedRegister /*scratch*/, size_t /*size*/) {
UNIMPLEMENTED(FATAL);
}
@@ -1752,11 +1752,11 @@ void X86Assembler::LoadReferenceFromSirt(ManagedRegister mout_reg,
Bind(&null_arg);
}
-void X86Assembler::VerifyObject(ManagedRegister src, bool could_be_null) {
+void X86Assembler::VerifyObject(ManagedRegister /*src*/, bool /*could_be_null*/) {
// TODO: not validating references
}
-void X86Assembler::VerifyObject(FrameOffset src, bool could_be_null) {
+void X86Assembler::VerifyObject(FrameOffset /*src*/, bool /*could_be_null*/) {
// TODO: not validating references
}
@@ -1773,7 +1773,7 @@ void X86Assembler::Call(FrameOffset base, Offset offset, ManagedRegister mscratc
call(Address(scratch, offset));
}
-void X86Assembler::Call(ThreadOffset offset, ManagedRegister mscratch) {
+void X86Assembler::Call(ThreadOffset offset, ManagedRegister /*mscratch*/) {
fs()->call(Address::Absolute(offset));
}
@@ -1789,7 +1789,7 @@ void X86Assembler::GetCurrentThread(FrameOffset offset,
movl(Address(ESP, offset), scratch.AsCpuRegister());
}
-void X86Assembler::SuspendPoll(ManagedRegister scratch,
+void X86Assembler::SuspendPoll(ManagedRegister /*scratch*/,
ManagedRegister return_reg,
FrameOffset return_save_location,
size_t return_size) {
@@ -1819,7 +1819,7 @@ void X86SuspendCountSlowPath::Emit(Assembler *sasm) {
#undef __
}
-void X86Assembler::ExceptionPoll(ManagedRegister scratch) {
+void X86Assembler::ExceptionPoll(ManagedRegister /*scratch*/) {
X86ExceptionSlowPath* slow = new X86ExceptionSlowPath();
buffer_.EnqueueSlowPath(slow);
fs()->cmpl(Address::Absolute(Thread::ExceptionOffset()), Immediate(0));
diff --git a/src/class_linker.cc b/src/class_linker.cc
index 7b8a02e582..c1acab0a71 100644
--- a/src/class_linker.cc
+++ b/src/class_linker.cc
@@ -1509,7 +1509,7 @@ void ClassLinker::LoadClass(const DexFile& dex_file,
DCHECK(!it.HasNext());
}
-void ClassLinker::LoadField(const DexFile& dex_file, const ClassDataItemIterator& it,
+void ClassLinker::LoadField(const DexFile& /*dex_file*/, const ClassDataItemIterator& it,
SirtRef<Class>& klass, SirtRef<Field>& dst) {
uint32_t field_idx = it.GetMemberIndex();
dst->SetDexFieldIndex(field_idx);
@@ -1951,7 +1951,7 @@ static void CheckMethodsHaveGcMaps(Class* klass) {
}
}
#else
-static void CheckMethodsHaveGcMaps(Class* klass) {
+static void CheckMethodsHaveGcMaps(Class*) {
}
#endif
diff --git a/src/class_linker_test.cc b/src/class_linker_test.cc
index a6a58d6121..f505d58eb8 100644
--- a/src/class_linker_test.cc
+++ b/src/class_linker_test.cc
@@ -130,7 +130,7 @@ class ClassLinkerTest : public CommonTest {
EXPECT_STREQ(kh.GetDescriptor(), "Ljava/io/Serializable;");
}
- void AssertMethod(Class* klass, Method* method) {
+ void AssertMethod(Method* method) {
MethodHelper mh(method);
EXPECT_TRUE(method != NULL);
EXPECT_TRUE(method->GetClass() != NULL);
@@ -226,14 +226,14 @@ class ClassLinkerTest : public CommonTest {
for (size_t i = 0; i < klass->NumDirectMethods(); i++) {
Method* method = klass->GetDirectMethod(i);
- AssertMethod(klass, method);
+ AssertMethod(method);
EXPECT_TRUE(method->IsDirect());
EXPECT_EQ(klass, method->GetDeclaringClass());
}
for (size_t i = 0; i < klass->NumVirtualMethods(); i++) {
Method* method = klass->GetVirtualMethod(i);
- AssertMethod(klass, method);
+ AssertMethod(method);
EXPECT_FALSE(method->IsDirect());
EXPECT_TRUE(method->GetDeclaringClass()->IsAssignableFrom(klass));
}
@@ -322,7 +322,7 @@ class ClassLinkerTest : public CommonTest {
}
}
- static void TestRootVisitor(const Object* root, void* arg) {
+ static void TestRootVisitor(const Object* root, void*) {
EXPECT_TRUE(root != NULL);
}
};
diff --git a/src/dalvik_system_VMDebug.cc b/src/dalvik_system_VMDebug.cc
index 317cd3d916..557a421cb8 100644
--- a/src/dalvik_system_VMDebug.cc
+++ b/src/dalvik_system_VMDebug.cc
@@ -50,7 +50,7 @@ static void VMDebug_stopAllocCounting(JNIEnv*, jclass) {
Runtime::Current()->SetStatsEnabled(false);
}
-static jint VMDebug_getAllocCount(JNIEnv* env, jclass, jint kind) {
+static jint VMDebug_getAllocCount(JNIEnv*, jclass, jint kind) {
return Runtime::Current()->GetStat(kind);
}
@@ -58,7 +58,7 @@ static void VMDebug_resetAllocCount(JNIEnv*, jclass, jint kinds) {
Runtime::Current()->ResetStats(kinds);
}
-static void VMDebug_startMethodTracingDdmsImpl(JNIEnv* env, jclass, jint bufferSize, jint flags) {
+static void VMDebug_startMethodTracingDdmsImpl(JNIEnv*, jclass, jint bufferSize, jint flags) {
Trace::Start("[DDMS]", -1, bufferSize, flags, true);
}
@@ -127,7 +127,7 @@ static void VMDebug_stopInstructionCounting(JNIEnv* env, jclass) {
jniThrowException(env, "java/lang/UnsupportedOperationException", NULL);
}
-static void VMDebug_getInstructionCount(JNIEnv* env, jclass, jintArray javaCounts) {
+static void VMDebug_getInstructionCount(JNIEnv* env, jclass, jintArray /*javaCounts*/) {
jniThrowException(env, "java/lang/UnsupportedOperationException", NULL);
}
diff --git a/src/dalvik_system_VMRuntime.cc b/src/dalvik_system_VMRuntime.cc
index 3799bcf1a5..ef11f4b2d7 100644
--- a/src/dalvik_system_VMRuntime.cc
+++ b/src/dalvik_system_VMRuntime.cc
@@ -129,7 +129,7 @@ static void DisableCheckJniCallback(Thread* t, void*) {
t->GetJniEnv()->SetCheckJniEnabled(false);
}
-static void VMRuntime_setTargetSdkVersion(JNIEnv* env, jobject, jint targetSdkVersion) {
+static void VMRuntime_setTargetSdkVersion(JNIEnv*, jobject, jint targetSdkVersion) {
// This is the target SDK version of the app we're about to run.
// Note that targetSdkVersion may be CUR_DEVELOPMENT (10000).
// Note that targetSdkVersion may be 0, meaning "current".
@@ -150,7 +150,7 @@ static void VMRuntime_setTargetSdkVersion(JNIEnv* env, jobject, jint targetSdkVe
}
}
-static void VMRuntime_trimHeap(JNIEnv* env, jobject) {
+static void VMRuntime_trimHeap(JNIEnv*, jobject) {
ScopedHeapLock heap_lock;
Heap* heap = Runtime::Current()->GetHeap();
size_t alloc_space_size = heap->GetAllocSpace()->Size();
diff --git a/src/dalvik_system_Zygote.cc b/src/dalvik_system_Zygote.cc
index 3ba5552af9..3f44109ef7 100644
--- a/src/dalvik_system_Zygote.cc
+++ b/src/dalvik_system_Zygote.cc
@@ -52,7 +52,7 @@ static void Zygote_nativeExecShell(JNIEnv* env, jclass, jstring javaCommand) {
}
// This signal handler is for zygote mode, since the zygote must reap its children
-static void SigChldHandler(int s) {
+static void SigChldHandler(int /*signal_number*/) {
pid_t pid;
int status;
@@ -175,7 +175,7 @@ static int SetRLimits(JNIEnv* env, jobjectArray javaRlimits) {
return 0;
}
-static void SetCapabilities(int64_t permitted, int64_t effective) {
+static void SetCapabilities(int64_t __attribute__((unused)) permitted, int64_t __attribute__((unused)) effective) {
#ifdef HAVE_ANDROID_OS
struct __user_cap_header_struct capheader;
struct __user_cap_data_struct capdata;
diff --git a/src/debugger.cc b/src/debugger.cc
index 84dd0552a2..78acf31ce9 100644
--- a/src/debugger.cc
+++ b/src/debugger.cc
@@ -1262,8 +1262,10 @@ static JDWP::JdwpError SetFieldValueImpl(JDWP::ObjectId objectId, JDWP::FieldId
if (IsPrimitiveTag(tag)) {
if (tag == JDWP::JT_DOUBLE || tag == JDWP::JT_LONG) {
+ CHECK_EQ(width, 8);
f->Set64(o, value);
} else {
+ CHECK_LE(width, 4);
f->Set32(o, value);
}
} else {
@@ -1571,7 +1573,7 @@ void Dbg::GetThisObject(JDWP::FrameId frameId, JDWP::ObjectId* pThisId) {
*pThisId = gRegistry->Add(o);
}
-void Dbg::GetLocalValue(JDWP::ObjectId threadId, JDWP::FrameId frameId, int slot, JDWP::JdwpTag tag, uint8_t* buf, size_t width) {
+void Dbg::GetLocalValue(JDWP::ObjectId /*threadId*/, JDWP::FrameId frameId, int slot, JDWP::JdwpTag tag, uint8_t* buf, size_t width) {
Method** sp = reinterpret_cast<Method**>(frameId);
Frame f(sp);
Method* m = f.GetMethod();
@@ -1668,7 +1670,7 @@ void Dbg::GetLocalValue(JDWP::ObjectId threadId, JDWP::FrameId frameId, int slot
JDWP::Set1(buf, tag);
}
-void Dbg::SetLocalValue(JDWP::ObjectId threadId, JDWP::FrameId frameId, int slot, JDWP::JdwpTag tag, uint64_t value, size_t width) {
+void Dbg::SetLocalValue(JDWP::ObjectId /*threadId*/, JDWP::FrameId frameId, int slot, JDWP::JdwpTag tag, uint64_t value, size_t width) {
Method** sp = reinterpret_cast<Method**>(frameId);
Frame f(sp);
Method* m = f.GetMethod();
@@ -2033,7 +2035,7 @@ JDWP::JdwpError Dbg::ConfigureStep(JDWP::ObjectId threadId, JDWP::JdwpStepSize s
return JDWP::ERR_NONE;
}
-void Dbg::UnconfigureStep(JDWP::ObjectId threadId) {
+void Dbg::UnconfigureStep(JDWP::ObjectId /*threadId*/) {
gSingleStepControl.is_active = false;
gSingleStepControl.thread = NULL;
gSingleStepControl.dex_pcs.clear();
@@ -2668,7 +2670,7 @@ class HeapChunkContext {
pieceLenField_ = NULL;
}
- void HeapChunkCallback(void* start, void* end, size_t used_bytes) {
+ void HeapChunkCallback(void* start, void* /*end*/, size_t used_bytes) {
// Note: heap call backs cannot manipulate the heap upon which they are crawling, care is taken
// in the following code not to allocate memory, by ensuring buf_ is of the correct size
diff --git a/src/dex_file.cc b/src/dex_file.cc
index 850415e99f..d3e1c68527 100644
--- a/src/dex_file.cc
+++ b/src/dex_file.cc
@@ -143,7 +143,7 @@ const DexFile* DexFile::OpenFile(const std::string& filename,
return NULL;
}
- if (!DexFileVerifier::Verify(dex_file, dex_file->Begin(), dex_file->Size())) {
+ if (verify && !DexFileVerifier::Verify(dex_file, dex_file->Begin(), dex_file->Size())) {
LOG(ERROR) << "Failed to verify dex file '" << filename << "'";
return NULL;
}
diff --git a/src/dex_verifier_test.cc b/src/dex_verifier_test.cc
index 9106b76888..fba1d34d05 100644
--- a/src/dex_verifier_test.cc
+++ b/src/dex_verifier_test.cc
@@ -28,7 +28,7 @@ namespace verifier {
class DexVerifierTest : public CommonTest {
protected:
- void VerifyClass(ClassLoader* class_loader, const std::string& descriptor) {
+ void VerifyClass(const std::string& descriptor) {
ASSERT_TRUE(descriptor != NULL);
Class* klass = class_linker_->FindSystemClass(descriptor.c_str());
@@ -37,20 +37,20 @@ class DexVerifierTest : public CommonTest {
ASSERT_TRUE(DexVerifier::VerifyClass(klass, error_msg)) << error_msg;
}
- void VerifyDexFile(const DexFile* dex, ClassLoader* class_loader) {
+ void VerifyDexFile(const DexFile* dex) {
ASSERT_TRUE(dex != NULL);
// Verify all the classes defined in this file
for (size_t i = 0; i < dex->NumClassDefs(); i++) {
const DexFile::ClassDef& class_def = dex->GetClassDef(i);
const char* descriptor = dex->GetClassDescriptor(class_def);
- VerifyClass(class_loader, descriptor);
+ VerifyClass(descriptor);
}
}
};
TEST_F(DexVerifierTest, LibCore) {
- VerifyDexFile(java_lang_dex_file_, NULL);
+ VerifyDexFile(java_lang_dex_file_);
}
TEST_F(DexVerifierTest, IntMath) {
diff --git a/src/heap.h b/src/heap.h
index 374fa84a6b..be8c62af25 100644
--- a/src/heap.h
+++ b/src/heap.h
@@ -62,9 +62,9 @@ class Heap {
// Check sanity of given reference. Requires the heap lock.
#if VERIFY_OBJECT_ENABLED
- void VerifyObject(const Object *obj);
+ void VerifyObject(const Object* o);
#else
- void VerifyObject(const Object *obj) {}
+ void VerifyObject(const Object*) {}
#endif
// Check sanity of all live references. Requires the heap lock.
@@ -182,16 +182,16 @@ class Heap {
// Must be called if a field of an Object in the heap changes, and before any GC safe-point.
// The call is not needed if NULL is stored in the field.
- void WriteBarrierField(const Object* dest, MemberOffset offset, const Object* new_val) {
+ void WriteBarrierField(const Object* dst, MemberOffset /*offset*/, const Object* /*new_value*/) {
if (!card_marking_disabled_) {
- card_table_->MarkCard(dest);
+ card_table_->MarkCard(dst);
}
}
// Write barrier for array operations that update many field positions
- void WriteBarrierArray(const Object* dest, int pos, size_t len) {
+ void WriteBarrierArray(const Object* dst, int /*start_offset*/, size_t /*length TODO: element_count or byte_count?*/) {
if (UNLIKELY(!card_marking_disabled_)) {
- card_table_->MarkCard(dest);
+ card_table_->MarkCard(dst);
}
}
diff --git a/src/hprof/hprof.cc b/src/hprof/hprof.cc
index 6de9c6487f..04e43d2ef8 100644
--- a/src/hprof/hprof.cc
+++ b/src/hprof/hprof.cc
@@ -278,7 +278,7 @@ int Hprof::MarkRootObject(const Object *obj, jobject jniObj) {
return err;
}
-int Hprof::StackTraceSerialNumber(const void *obj) {
+int Hprof::StackTraceSerialNumber(const void* /*obj*/) {
return HPROF_NULL_STACK_TRACE;
}
diff --git a/src/image_writer.cc b/src/image_writer.cc
index cc37e5b4f1..40f5d5ffd9 100644
--- a/src/image_writer.cc
+++ b/src/image_writer.cc
@@ -113,8 +113,8 @@ void ImageWriter::ComputeLazyFieldsForImageClasses() {
}
-bool ImageWriter::ComputeLazyFieldsForClassesVisitor(Class* klass, void* arg) {
- klass->ComputeName();
+bool ImageWriter::ComputeLazyFieldsForClassesVisitor(Class* c, void* /*arg*/) {
+ c->ComputeName();
return true;
}
diff --git a/src/indirect_reference_table.h b/src/indirect_reference_table.h
index 78617f816b..cdf2f8bc49 100644
--- a/src/indirect_reference_table.h
+++ b/src/indirect_reference_table.h
@@ -341,7 +341,7 @@ class IndirectReferenceTable {
* The object pointer itself is subject to relocation in some GC
* implementations, so we shouldn't really be using it here.
*/
- IndirectRef ToIndirectRef(const Object* obj, uint32_t tableIndex) const {
+ IndirectRef ToIndirectRef(const Object* /*o*/, uint32_t tableIndex) const {
DCHECK_LT(tableIndex, 65536U);
uint32_t serialChunk = slot_data_[tableIndex].serial;
uint32_t uref = serialChunk << 20 | (tableIndex << 2) | kind_;
diff --git a/src/java_lang_Runtime.cc b/src/java_lang_Runtime.cc
index a057d36a76..44703b70c3 100644
--- a/src/java_lang_Runtime.cc
+++ b/src/java_lang_Runtime.cc
@@ -32,7 +32,7 @@ static void Runtime_gc(JNIEnv*, jclass) {
Runtime::Current()->GetHeap()->CollectGarbage(false);
}
-static void Runtime_nativeExit(JNIEnv* env, jclass, jint status, jboolean isExit) {
+static void Runtime_nativeExit(JNIEnv*, jclass, jint status, jboolean isExit) {
// isExit is true for System.exit and false for System.halt.
if (isExit) {
Runtime::Current()->CallExitHook(status);
@@ -64,15 +64,15 @@ static jstring Runtime_nativeLoad(JNIEnv* env, jclass, jstring javaFilename, job
return env->NewStringUTF(detail.c_str());
}
-static jlong Runtime_maxMemory(JNIEnv* env, jclass) {
+static jlong Runtime_maxMemory(JNIEnv*, jclass) {
return Runtime::Current()->GetHeap()->GetMaxMemory();
}
-static jlong Runtime_totalMemory(JNIEnv* env, jclass) {
+static jlong Runtime_totalMemory(JNIEnv*, jclass) {
return Runtime::Current()->GetHeap()->GetTotalMemory();
}
-static jlong Runtime_freeMemory(JNIEnv* env, jclass) {
+static jlong Runtime_freeMemory(JNIEnv*, jclass) {
return Runtime::Current()->GetHeap()->GetFreeMemory();
}
diff --git a/src/java_lang_Thread.cc b/src/java_lang_Thread.cc
index 0871bdd6a7..52c53784ed 100644
--- a/src/java_lang_Thread.cc
+++ b/src/java_lang_Thread.cc
@@ -30,7 +30,7 @@ static jobject Thread_currentThread(JNIEnv* env, jclass) {
return AddLocalReference<jobject>(env, Thread::Current()->GetPeer());
}
-static jboolean Thread_interrupted(JNIEnv* env, jclass) {
+static jboolean Thread_interrupted(JNIEnv*, jclass) {
return Thread::Current()->Interrupted();
}
diff --git a/src/java_lang_VMClassLoader.cc b/src/java_lang_VMClassLoader.cc
index 1bb2e63a6f..3d96c472c5 100644
--- a/src/java_lang_VMClassLoader.cc
+++ b/src/java_lang_VMClassLoader.cc
@@ -41,7 +41,7 @@ static jclass VMClassLoader_findLoadedClass(JNIEnv* env, jclass, jobject javaLoa
}
}
-static jint VMClassLoader_getBootClassPathSize(JNIEnv* env, jclass) {
+static jint VMClassLoader_getBootClassPathSize(JNIEnv*, jclass) {
return Runtime::Current()->GetClassLinker()->GetBootClassPath().size();
}
diff --git a/src/jdwp/jdwp_adb.cc b/src/jdwp/jdwp_adb.cc
index eb49bcec9f..ae45f185b2 100644
--- a/src/jdwp/jdwp_adb.cc
+++ b/src/jdwp/jdwp_adb.cc
@@ -294,7 +294,7 @@ retry:
/*
* Connect out to a debugger (for server=n). Not required.
*/
-static bool establishConnection(JdwpState* state) {
+static bool establishConnection(JdwpState*) {
return false;
}
diff --git a/src/jdwp/jdwp_handler.cc b/src/jdwp/jdwp_handler.cc
index 9fb8ad061f..804f683c6b 100644
--- a/src/jdwp/jdwp_handler.cc
+++ b/src/jdwp/jdwp_handler.cc
@@ -99,8 +99,8 @@ static void jdwpWriteValue(ExpandBuf* pReply, int width, uint64_t value) {
* If "is_constructor" is set, this returns "objectId" rather than the
* expected-to-be-void return value of the called function.
*/
-static JdwpError finishInvoke(JdwpState* state,
- const uint8_t* buf, int dataLen, ExpandBuf* pReply,
+static JdwpError finishInvoke(JdwpState*,
+ const uint8_t* buf, int, ExpandBuf* pReply,
ObjectId threadId, ObjectId objectId, RefTypeId classId, MethodId methodId,
bool is_constructor)
{
@@ -167,7 +167,7 @@ static JdwpError finishInvoke(JdwpState* state,
/*
* Request for version info.
*/
-static JdwpError handleVM_Version(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_Version(JdwpState*, const uint8_t*, int, ExpandBuf* pReply) {
/* text information on runtime version */
std::string version(StringPrintf("Android Runtime %s", Runtime::Current()->GetVersion()));
expandBufAddUtf8String(pReply, version);
@@ -187,7 +187,7 @@ static JdwpError handleVM_Version(JdwpState* state, const uint8_t* buf, int data
* referenceTypeID. We need to send back more than one if the class has
* been loaded by multiple class loaders.
*/
-static JdwpError handleVM_ClassesBySignature(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_ClassesBySignature(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
std::string classDescriptor(ReadNewUtf8String(&buf));
VLOG(jdwp) << " Req for class by signature '" << classDescriptor << "'";
@@ -219,7 +219,7 @@ static JdwpError handleVM_ClassesBySignature(JdwpState* state, const uint8_t* bu
* We exclude ourselves from the list, because we don't allow ourselves
* to be suspended, and that violates some JDWP expectations.
*/
-static JdwpError handleVM_AllThreads(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_AllThreads(JdwpState*, const uint8_t*, int, ExpandBuf* pReply) {
ObjectId* pThreadIds;
uint32_t threadCount;
Dbg::GetAllThreads(&pThreadIds, &threadCount);
@@ -239,7 +239,7 @@ static JdwpError handleVM_AllThreads(JdwpState* state, const uint8_t* buf, int d
/*
* List all thread groups that do not have a parent.
*/
-static JdwpError handleVM_TopLevelThreadGroups(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_TopLevelThreadGroups(JdwpState*, const uint8_t*, int, ExpandBuf* pReply) {
/*
* TODO: maintain a list of parentless thread groups in the VM.
*
@@ -261,7 +261,7 @@ static JdwpError handleVM_TopLevelThreadGroups(JdwpState* state, const uint8_t*
*
* All IDs are 8 bytes.
*/
-static JdwpError handleVM_IDSizes(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_IDSizes(JdwpState*, const uint8_t*, int, ExpandBuf* pReply) {
expandBufAdd4BE(pReply, sizeof(FieldId));
expandBufAdd4BE(pReply, sizeof(MethodId));
expandBufAdd4BE(pReply, sizeof(ObjectId));
@@ -270,7 +270,7 @@ static JdwpError handleVM_IDSizes(JdwpState* state, const uint8_t* buf, int data
return ERR_NONE;
}
-static JdwpError handleVM_Dispose(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_Dispose(JdwpState*, const uint8_t*, int, ExpandBuf*) {
Dbg::Disposed();
return ERR_NONE;
}
@@ -281,7 +281,7 @@ static JdwpError handleVM_Dispose(JdwpState* state, const uint8_t* buf, int data
*
* This needs to increment the "suspend count" on all threads.
*/
-static JdwpError handleVM_Suspend(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_Suspend(JdwpState*, const uint8_t*, int, ExpandBuf*) {
Dbg::SuspendVM();
return ERR_NONE;
}
@@ -289,7 +289,7 @@ static JdwpError handleVM_Suspend(JdwpState* state, const uint8_t* buf, int data
/*
* Resume execution. Decrements the "suspend count" of all threads.
*/
-static JdwpError handleVM_Resume(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_Resume(JdwpState*, const uint8_t*, int, ExpandBuf*) {
Dbg::ResumeVM();
return ERR_NONE;
}
@@ -297,7 +297,7 @@ static JdwpError handleVM_Resume(JdwpState* state, const uint8_t* buf, int dataL
/*
* The debugger wants the entire VM to exit.
*/
-static JdwpError handleVM_Exit(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_Exit(JdwpState*, const uint8_t* buf, int, ExpandBuf*) {
uint32_t exitCode = Get4BE(buf);
LOG(WARNING) << "Debugger is telling the VM to exit with code=" << exitCode;
@@ -312,7 +312,7 @@ static JdwpError handleVM_Exit(JdwpState* state, const uint8_t* buf, int dataLen
* (Ctrl-Shift-I in Eclipse on an array of objects causes it to create the
* string "java.util.Arrays".)
*/
-static JdwpError handleVM_CreateString(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_CreateString(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
std::string str(ReadNewUtf8String(&buf));
VLOG(jdwp) << " Req to create string '" << str << "'";
ObjectId stringId = Dbg::CreateString(str);
@@ -326,7 +326,7 @@ static JdwpError handleVM_CreateString(JdwpState* state, const uint8_t* buf, int
/*
* Tell the debugger what we are capable of.
*/
-static JdwpError handleVM_Capabilities(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_Capabilities(JdwpState*, const uint8_t*, int, ExpandBuf* pReply) {
expandBufAdd1(pReply, false); /* canWatchFieldModification */
expandBufAdd1(pReply, false); /* canWatchFieldAccess */
expandBufAdd1(pReply, false); /* canGetBytecodes */
@@ -337,7 +337,7 @@ static JdwpError handleVM_Capabilities(JdwpState* state, const uint8_t* buf, int
return ERR_NONE;
}
-static JdwpError handleVM_ClassPaths(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_ClassPaths(JdwpState*, const uint8_t*, int, ExpandBuf* pReply) {
expandBufAddUtf8String(pReply, "/");
std::vector<std::string> class_path;
@@ -362,14 +362,14 @@ static JdwpError handleVM_ClassPaths(JdwpState* state, const uint8_t* buf, int d
*
* Currently does nothing.
*/
-static JdwpError HandleVM_DisposeObjects(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError HandleVM_DisposeObjects(JdwpState*, const uint8_t*, int, ExpandBuf*) {
return ERR_NONE;
}
/*
* Tell the debugger what we are capable of.
*/
-static JdwpError handleVM_CapabilitiesNew(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleVM_CapabilitiesNew(JdwpState*, const uint8_t*, int, ExpandBuf* pReply) {
expandBufAdd1(pReply, false); /* canWatchFieldModification */
expandBufAdd1(pReply, false); /* canWatchFieldAccess */
expandBufAdd1(pReply, false); /* canGetBytecodes */
@@ -399,7 +399,7 @@ static JdwpError handleVM_CapabilitiesNew(JdwpState* state, const uint8_t* buf,
return ERR_NONE;
}
-static JdwpError handleVM_AllClasses(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply, bool descriptor_and_status, bool generic) {
+static JdwpError handleVM_AllClasses(ExpandBuf* pReply, bool descriptor_and_status, bool generic) {
std::vector<JDWP::RefTypeId> classes;
Dbg::GetClassList(classes);
@@ -429,15 +429,15 @@ static JdwpError handleVM_AllClasses(JdwpState* state, const uint8_t* buf, int d
return ERR_NONE;
}
-static JdwpError handleVM_AllClasses(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
- return handleVM_AllClasses(state, buf, dataLen, pReply, true, false);
+static JdwpError handleVM_AllClasses(JdwpState*, const uint8_t*, int, ExpandBuf* pReply) {
+ return handleVM_AllClasses(pReply, true, false);
}
-static JdwpError handleVM_AllClassesWithGeneric(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
- return handleVM_AllClasses(state, buf, dataLen, pReply, true, true);
+static JdwpError handleVM_AllClassesWithGeneric(JdwpState*, const uint8_t*, int, ExpandBuf* pReply) {
+ return handleVM_AllClasses(pReply, true, true);
}
-static JdwpError handleRT_Modifiers(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_Modifiers(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
return Dbg::GetModifiers(refTypeId, pReply);
}
@@ -445,7 +445,7 @@ static JdwpError handleRT_Modifiers(JdwpState* state, const uint8_t* buf, int da
/*
* Get values from static fields in a reference type.
*/
-static JdwpError handleRT_GetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_GetValues(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
uint32_t field_count = Read4BE(&buf);
expandBufAdd4BE(pReply, field_count);
@@ -462,7 +462,7 @@ static JdwpError handleRT_GetValues(JdwpState* state, const uint8_t* buf, int da
/*
* Get the name of the source file in which a reference type was declared.
*/
-static JdwpError handleRT_SourceFile(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_SourceFile(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
std::string source_file;
JdwpError status = Dbg::GetSourceFile(refTypeId, source_file);
@@ -476,7 +476,7 @@ static JdwpError handleRT_SourceFile(JdwpState* state, const uint8_t* buf, int d
/*
* Return the current status of the reference type.
*/
-static JdwpError handleRT_Status(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_Status(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
JDWP::JdwpTypeTag type_tag;
uint32_t class_status;
@@ -491,7 +491,7 @@ static JdwpError handleRT_Status(JdwpState* state, const uint8_t* buf, int dataL
/*
* Return interfaces implemented directly by this class.
*/
-static JdwpError handleRT_Interfaces(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_Interfaces(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
VLOG(jdwp) << StringPrintf(" Req for interfaces in %#llx (%s)", refTypeId, Dbg::GetClassName(refTypeId).c_str());
return Dbg::OutputDeclaredInterfaces(refTypeId, pReply);
@@ -500,7 +500,7 @@ static JdwpError handleRT_Interfaces(JdwpState* state, const uint8_t* buf, int d
/*
* Return the class object corresponding to this type.
*/
-static JdwpError handleRT_ClassObject(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_ClassObject(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
ObjectId classObjectId;
JdwpError status = Dbg::GetClassObject(refTypeId, classObjectId);
@@ -517,12 +517,12 @@ static JdwpError handleRT_ClassObject(JdwpState* state, const uint8_t* buf, int
*
* JDB seems interested, but DEX files don't currently support this.
*/
-static JdwpError handleRT_SourceDebugExtension(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_SourceDebugExtension(JdwpState*, const uint8_t*, int, ExpandBuf*) {
/* referenceTypeId in, string out */
return ERR_ABSENT_INFORMATION;
}
-static JdwpError handleRT_Signature(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply, bool with_generic) {
+static JdwpError handleRT_Signature(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply, bool with_generic) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
VLOG(jdwp) << StringPrintf(" Req for signature of refTypeId=%#llx", refTypeId);
@@ -551,7 +551,7 @@ static JdwpError handleRT_SignatureWithGeneric(JdwpState* state, const uint8_t*
* Return the instance of java.lang.ClassLoader that loaded the specified
* reference type, or null if it was loaded by the system loader.
*/
-static JdwpError handleRT_ClassLoader(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_ClassLoader(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
return Dbg::GetClassLoader(refTypeId, pReply);
}
@@ -566,14 +566,14 @@ static std::string Describe(const RefTypeId& refTypeId) {
* Given a referenceTypeId, return a block of stuff that describes the
* fields declared by a class.
*/
-static JdwpError handleRT_FieldsWithGeneric(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_FieldsWithGeneric(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
VLOG(jdwp) << " Req for fields in " << Describe(refTypeId);
return Dbg::OutputDeclaredFields(refTypeId, true, pReply);
}
// Obsolete equivalent of FieldsWithGeneric, without the generic type information.
-static JdwpError handleRT_Fields(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_Fields(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
VLOG(jdwp) << " Req for fields in " << Describe(refTypeId);
return Dbg::OutputDeclaredFields(refTypeId, false, pReply);
@@ -583,14 +583,14 @@ static JdwpError handleRT_Fields(JdwpState* state, const uint8_t* buf, int dataL
* Given a referenceTypeID, return a block of goodies describing the
* methods declared by a class.
*/
-static JdwpError handleRT_MethodsWithGeneric(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_MethodsWithGeneric(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
VLOG(jdwp) << " Req for methods in " << Describe(refTypeId);
return Dbg::OutputDeclaredMethods(refTypeId, true, pReply);
}
// Obsolete equivalent of MethodsWithGeneric, without the generic type information.
-static JdwpError handleRT_Methods(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleRT_Methods(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
VLOG(jdwp) << " Req for methods in " << Describe(refTypeId);
return Dbg::OutputDeclaredMethods(refTypeId, false, pReply);
@@ -599,7 +599,7 @@ static JdwpError handleRT_Methods(JdwpState* state, const uint8_t* buf, int data
/*
* Return the immediate superclass of a class.
*/
-static JdwpError handleCT_Superclass(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleCT_Superclass(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId classId = ReadRefTypeId(&buf);
RefTypeId superClassId;
JdwpError status = Dbg::GetSuperclass(classId, superClassId);
@@ -613,7 +613,7 @@ static JdwpError handleCT_Superclass(JdwpState* state, const uint8_t* buf, int d
/*
* Set static class values.
*/
-static JdwpError handleCT_SetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleCT_SetValues(JdwpState* , const uint8_t* buf, int, ExpandBuf*) {
RefTypeId classId = ReadRefTypeId(&buf);
uint32_t values = Read4BE(&buf);
@@ -676,7 +676,7 @@ static JdwpError handleCT_NewInstance(JdwpState* state, const uint8_t* buf, int
/*
* Create a new array object of the requested type and length.
*/
-static JdwpError handleAT_newInstance(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleAT_newInstance(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId arrayTypeId = ReadRefTypeId(&buf);
uint32_t length = Read4BE(&buf);
@@ -697,7 +697,7 @@ static JdwpError handleAT_newInstance(JdwpState* state, const uint8_t* buf, int
/*
* Return line number information for the method, if present.
*/
-static JdwpError handleM_LineTable(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleM_LineTable(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId refTypeId = ReadRefTypeId(&buf);
MethodId methodId = ReadMethodId(&buf);
@@ -708,7 +708,7 @@ static JdwpError handleM_LineTable(JdwpState* state, const uint8_t* buf, int dat
return ERR_NONE;
}
-static JdwpError handleM_VariableTable(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply, bool generic) {
+static JdwpError handleM_VariableTable(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply, bool generic) {
RefTypeId classId = ReadRefTypeId(&buf);
MethodId methodId = ReadMethodId(&buf);
@@ -737,7 +737,7 @@ static JdwpError handleM_VariableTableWithGeneric(JdwpState* state, const uint8_
* This can get called on different things, e.g. threadId gets
* passed in here.
*/
-static JdwpError handleOR_ReferenceType(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleOR_ReferenceType(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId objectId = ReadObjectId(&buf);
VLOG(jdwp) << StringPrintf(" Req for type of objectId=%#llx", objectId);
return Dbg::GetReferenceType(objectId, pReply);
@@ -746,7 +746,7 @@ static JdwpError handleOR_ReferenceType(JdwpState* state, const uint8_t* buf, in
/*
* Get values from the fields of an object.
*/
-static JdwpError handleOR_GetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleOR_GetValues(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId objectId = ReadObjectId(&buf);
uint32_t field_count = Read4BE(&buf);
@@ -768,7 +768,7 @@ static JdwpError handleOR_GetValues(JdwpState* state, const uint8_t* buf, int da
/*
* Set values in the fields of an object.
*/
-static JdwpError handleOR_SetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleOR_SetValues(JdwpState*, const uint8_t* buf, int, ExpandBuf*) {
ObjectId objectId = ReadObjectId(&buf);
uint32_t field_count = Read4BE(&buf);
@@ -814,7 +814,7 @@ static JdwpError handleOR_InvokeMethod(JdwpState* state, const uint8_t* buf, int
/*
* Disable garbage collection of the specified object.
*/
-static JdwpError handleOR_DisableCollection(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleOR_DisableCollection(JdwpState*, const uint8_t*, int, ExpandBuf*) {
// this is currently a no-op
return ERR_NONE;
}
@@ -822,7 +822,7 @@ static JdwpError handleOR_DisableCollection(JdwpState* state, const uint8_t* buf
/*
* Enable garbage collection of the specified object.
*/
-static JdwpError handleOR_EnableCollection(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleOR_EnableCollection(JdwpState*, const uint8_t*, int, ExpandBuf*) {
// this is currently a no-op
return ERR_NONE;
}
@@ -830,7 +830,7 @@ static JdwpError handleOR_EnableCollection(JdwpState* state, const uint8_t* buf,
/*
* Determine whether an object has been garbage collected.
*/
-static JdwpError handleOR_IsCollected(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleOR_IsCollected(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId objectId;
objectId = ReadObjectId(&buf);
@@ -845,7 +845,7 @@ static JdwpError handleOR_IsCollected(JdwpState* state, const uint8_t* buf, int
/*
* Return the string value in a string object.
*/
-static JdwpError handleSR_Value(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleSR_Value(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId stringObject = ReadObjectId(&buf);
std::string str(Dbg::StringToUtf8(stringObject));
@@ -859,7 +859,7 @@ static JdwpError handleSR_Value(JdwpState* state, const uint8_t* buf, int dataLe
/*
* Return a thread's name.
*/
-static JdwpError handleTR_Name(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTR_Name(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId threadId = ReadObjectId(&buf);
VLOG(jdwp) << StringPrintf(" Req for name of thread %#llx", threadId);
@@ -879,7 +879,7 @@ static JdwpError handleTR_Name(JdwpState* state, const uint8_t* buf, int dataLen
* It's supposed to remain suspended even if interpreted code wants to
* resume it; only the JDI is allowed to resume it.
*/
-static JdwpError handleTR_Suspend(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTR_Suspend(JdwpState*, const uint8_t* buf, int, ExpandBuf*) {
ObjectId threadId = ReadObjectId(&buf);
if (threadId == Dbg::GetThreadSelfId()) {
@@ -894,7 +894,7 @@ static JdwpError handleTR_Suspend(JdwpState* state, const uint8_t* buf, int data
/*
* Resume the specified thread.
*/
-static JdwpError handleTR_Resume(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTR_Resume(JdwpState*, const uint8_t* buf, int, ExpandBuf*) {
ObjectId threadId = ReadObjectId(&buf);
if (threadId == Dbg::GetThreadSelfId()) {
@@ -909,7 +909,7 @@ static JdwpError handleTR_Resume(JdwpState* state, const uint8_t* buf, int dataL
/*
* Return status of specified thread.
*/
-static JdwpError handleTR_Status(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTR_Status(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId threadId = ReadObjectId(&buf);
VLOG(jdwp) << StringPrintf(" Req for status of thread %#llx", threadId);
@@ -931,7 +931,7 @@ static JdwpError handleTR_Status(JdwpState* state, const uint8_t* buf, int dataL
/*
* Return the thread group that the specified thread is a member of.
*/
-static JdwpError handleTR_ThreadGroup(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTR_ThreadGroup(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId threadId = ReadObjectId(&buf);
return Dbg::GetThreadGroup(threadId, pReply);
}
@@ -942,7 +942,7 @@ static JdwpError handleTR_ThreadGroup(JdwpState* state, const uint8_t* buf, int
* If the thread isn't suspended, the error code isn't defined, but should
* be THREAD_NOT_SUSPENDED.
*/
-static JdwpError handleTR_Frames(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTR_Frames(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId threadId = ReadObjectId(&buf);
uint32_t start_frame = Read4BE(&buf);
uint32_t length = Read4BE(&buf);
@@ -992,7 +992,7 @@ static JdwpError handleTR_Frames(JdwpState* state, const uint8_t* buf, int dataL
/*
* Returns the #of frames on the specified thread, which must be suspended.
*/
-static JdwpError handleTR_FrameCount(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTR_FrameCount(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId threadId = ReadObjectId(&buf);
if (!Dbg::ThreadExists(threadId)) {
@@ -1015,7 +1015,7 @@ static JdwpError handleTR_FrameCount(JdwpState* state, const uint8_t* buf, int d
/*
* Get the monitor that the thread is waiting on.
*/
-static JdwpError handleTR_CurrentContendedMonitor(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTR_CurrentContendedMonitor(JdwpState*, const uint8_t* buf, int, ExpandBuf*) {
ObjectId threadId;
threadId = ReadObjectId(&buf);
@@ -1032,7 +1032,7 @@ static JdwpError handleTR_CurrentContendedMonitor(JdwpState* state, const uint8_
* (The thread *might* still be running -- it might not have examined
* its suspend count recently.)
*/
-static JdwpError handleTR_SuspendCount(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTR_SuspendCount(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId threadId = ReadObjectId(&buf);
return Dbg::GetThreadSuspendCount(threadId, pReply);
}
@@ -1042,7 +1042,7 @@ static JdwpError handleTR_SuspendCount(JdwpState* state, const uint8_t* buf, int
*
* The Eclipse debugger recognizes "main" and "system" as special.
*/
-static JdwpError handleTGR_Name(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTGR_Name(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId threadGroupId = ReadObjectId(&buf);
VLOG(jdwp) << StringPrintf(" Req for name of threadGroupId=%#llx", threadGroupId);
@@ -1055,7 +1055,7 @@ static JdwpError handleTGR_Name(JdwpState* state, const uint8_t* buf, int dataLe
* Returns the thread group -- if any -- that contains the specified
* thread group.
*/
-static JdwpError handleTGR_Parent(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTGR_Parent(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId groupId = ReadObjectId(&buf);
ObjectId parentGroup = Dbg::GetThreadGroupParent(groupId);
@@ -1068,7 +1068,7 @@ static JdwpError handleTGR_Parent(JdwpState* state, const uint8_t* buf, int data
* Return the active threads and thread groups that are part of the
* specified thread group.
*/
-static JdwpError handleTGR_Children(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleTGR_Children(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId threadGroupId = ReadObjectId(&buf);
VLOG(jdwp) << StringPrintf(" Req for threads in threadGroupId=%#llx", threadGroupId);
@@ -1101,7 +1101,7 @@ static JdwpError handleTGR_Children(JdwpState* state, const uint8_t* buf, int da
/*
* Return the #of components in the array.
*/
-static JdwpError handleAR_Length(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleAR_Length(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId arrayId = ReadObjectId(&buf);
VLOG(jdwp) << StringPrintf(" Req for length of array %#llx", arrayId);
@@ -1120,7 +1120,7 @@ static JdwpError handleAR_Length(JdwpState* state, const uint8_t* buf, int dataL
/*
* Return the values from an array.
*/
-static JdwpError handleAR_GetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleAR_GetValues(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId arrayId = ReadObjectId(&buf);
uint32_t firstIndex = Read4BE(&buf);
uint32_t length = Read4BE(&buf);
@@ -1132,7 +1132,7 @@ static JdwpError handleAR_GetValues(JdwpState* state, const uint8_t* buf, int da
/*
* Set values in an array.
*/
-static JdwpError handleAR_SetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleAR_SetValues(JdwpState*, const uint8_t* buf, int, ExpandBuf*) {
ObjectId arrayId = ReadObjectId(&buf);
uint32_t firstIndex = Read4BE(&buf);
uint32_t values = Read4BE(&buf);
@@ -1142,13 +1142,13 @@ static JdwpError handleAR_SetValues(JdwpState* state, const uint8_t* buf, int da
return Dbg::SetArrayElements(arrayId, firstIndex, values, buf);
}
-static JdwpError handleCLR_VisibleClasses(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleCLR_VisibleClasses(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId classLoaderObject;
classLoaderObject = ReadObjectId(&buf);
// TODO: we should only return classes which have the given class loader as a defining or
// initiating loader. The former would be easy; the latter is hard, because we don't have
// any such notion.
- return handleVM_AllClasses(state, buf, dataLen, pReply, false, false);
+ return handleVM_AllClasses(pReply, false, false);
}
/*
@@ -1325,7 +1325,7 @@ static JdwpError handleER_Set(JdwpState* state, const uint8_t* buf, int dataLen,
* Clear an event. Failure to find an event with a matching ID is a no-op
* and does not return an error.
*/
-static JdwpError handleER_Clear(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleER_Clear(JdwpState* state, const uint8_t* buf, int, ExpandBuf*) {
uint8_t eventKind;
eventKind = Read1(&buf);
uint32_t requestId = Read4BE(&buf);
@@ -1340,7 +1340,7 @@ static JdwpError handleER_Clear(JdwpState* state, const uint8_t* buf, int dataLe
/*
* Return the values of arguments and local variables.
*/
-static JdwpError handleSF_GetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleSF_GetValues(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ObjectId threadId = ReadObjectId(&buf);
FrameId frameId = ReadFrameId(&buf);
uint32_t slots = Read4BE(&buf);
@@ -1365,7 +1365,7 @@ static JdwpError handleSF_GetValues(JdwpState* state, const uint8_t* buf, int da
/*
* Set the values of arguments and local variables.
*/
-static JdwpError handleSF_SetValues(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleSF_SetValues(JdwpState*, const uint8_t* buf, int, ExpandBuf*) {
ObjectId threadId = ReadObjectId(&buf);
FrameId frameId = ReadFrameId(&buf);
uint32_t slots = Read4BE(&buf);
@@ -1388,7 +1388,7 @@ static JdwpError handleSF_SetValues(JdwpState* state, const uint8_t* buf, int da
/*
* Returns the value of "this" for the specified frame.
*/
-static JdwpError handleSF_ThisObject(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleSF_ThisObject(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
ReadObjectId(&buf); // Skip thread id.
FrameId frameId = ReadFrameId(&buf);
@@ -1411,7 +1411,7 @@ static JdwpError handleSF_ThisObject(JdwpState* state, const uint8_t* buf, int d
* reused, whereas ClassIds can be recycled like any other object. (Either
* that, or I have no idea what this is for.)
*/
-static JdwpError handleCOR_ReflectedType(JdwpState* state, const uint8_t* buf, int dataLen, ExpandBuf* pReply) {
+static JdwpError handleCOR_ReflectedType(JdwpState*, const uint8_t* buf, int, ExpandBuf* pReply) {
RefTypeId classObjectId = ReadRefTypeId(&buf);
VLOG(jdwp) << StringPrintf(" Req for refTypeId for class=%#llx (%s)", classObjectId, Dbg::GetClassName(classObjectId).c_str());
return Dbg::GetReflectedType(classObjectId, pReply);
diff --git a/src/jni_compiler_test.cc b/src/jni_compiler_test.cc
index 3bf3bb436e..fd81457f5d 100644
--- a/src/jni_compiler_test.cc
+++ b/src/jni_compiler_test.cc
@@ -29,13 +29,11 @@
#include "scoped_jni_thread_state.h"
#include "thread.h"
-extern "C"
-JNIEXPORT jint JNICALL Java_MyClass_bar(JNIEnv* env, jobject thisObj, jint count) {
+extern "C" JNIEXPORT jint JNICALL Java_MyClass_bar(JNIEnv*, jobject, jint count) {
return count + 1;
}
-extern "C"
-JNIEXPORT jint JNICALL Java_MyClass_sbar(JNIEnv* env, jclass myClass, jint count) {
+extern "C" JNIEXPORT jint JNICALL Java_MyClass_sbar(JNIEnv*, jclass, jint count) {
return count + 1;
}
@@ -556,7 +554,7 @@ TEST_F(JniCompilerTest, NativeStackTraceElement) {
EXPECT_EQ(10+9+8+7+6+5+4+3+2+1, result);
}
-jobject Java_MyClass_fooO(JNIEnv* env, jobject thisObj, jobject x) {
+jobject Java_MyClass_fooO(JNIEnv* env, jobject, jobject x) {
return env->NewGlobalRef(x);
}
diff --git a/src/jni_internal.cc b/src/jni_internal.cc
index 7d273ac23a..5230de9207 100644
--- a/src/jni_internal.cc
+++ b/src/jni_internal.cc
@@ -544,10 +544,10 @@ class SharedLibrary {
}
/*
- * Check the result of an earlier call to JNI_OnLoad on this library. If
- * the call has not yet finished in another thread, wait for it.
+ * Check the result of an earlier call to JNI_OnLoad on this library.
+ * If the call has not yet finished in another thread, wait for it.
*/
- bool CheckOnLoadResult(JavaVMExt* vm) {
+ bool CheckOnLoadResult() {
Thread* self = Thread::Current();
if (jni_on_load_thread_id_ == self->GetThinLockId()) {
// Check this so we don't end up waiting for ourselves. We need
@@ -1240,8 +1240,7 @@ class JNI {
InvokeVirtualOrInterfaceWithJValues(env, obj, mid, args);
}
- static jobject CallNonvirtualObjectMethod(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, ...) {
+ static jobject CallNonvirtualObjectMethod(JNIEnv* env, jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1252,21 +1251,21 @@ class JNI {
}
static jobject CallNonvirtualObjectMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
JValue result = InvokeWithVarArgs(env, obj, mid, args);
return AddLocalReference<jobject>(env, result.l);
}
static jobject CallNonvirtualObjectMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
JValue result = InvokeWithJValues(env, obj, mid, args);
return AddLocalReference<jobject>(env, result.l);
}
static jboolean CallNonvirtualBooleanMethod(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, ...) {
+ jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1276,19 +1275,18 @@ class JNI {
}
static jboolean CallNonvirtualBooleanMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, obj, mid, args).z;
}
static jboolean CallNonvirtualBooleanMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, obj, mid, args).z;
}
- static jbyte CallNonvirtualByteMethod(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, ...) {
+ static jbyte CallNonvirtualByteMethod(JNIEnv* env, jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1298,19 +1296,18 @@ class JNI {
}
static jbyte CallNonvirtualByteMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, obj, mid, args).b;
}
static jbyte CallNonvirtualByteMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, obj, mid, args).b;
}
- static jchar CallNonvirtualCharMethod(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, ...) {
+ static jchar CallNonvirtualCharMethod(JNIEnv* env, jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1320,19 +1317,18 @@ class JNI {
}
static jchar CallNonvirtualCharMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, obj, mid, args).c;
}
static jchar CallNonvirtualCharMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, obj, mid, args).c;
}
- static jshort CallNonvirtualShortMethod(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, ...) {
+ static jshort CallNonvirtualShortMethod(JNIEnv* env, jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1342,18 +1338,18 @@ class JNI {
}
static jshort CallNonvirtualShortMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, obj, mid, args).s;
}
static jshort CallNonvirtualShortMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, obj, mid, args).s;
}
- static jint CallNonvirtualIntMethod(JNIEnv* env, jobject obj, jclass clazz, jmethodID mid, ...) {
+ static jint CallNonvirtualIntMethod(JNIEnv* env, jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1363,19 +1359,18 @@ class JNI {
}
static jint CallNonvirtualIntMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, obj, mid, args).i;
}
static jint CallNonvirtualIntMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, obj, mid, args).i;
}
- static jlong CallNonvirtualLongMethod(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, ...) {
+ static jlong CallNonvirtualLongMethod(JNIEnv* env, jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1385,19 +1380,18 @@ class JNI {
}
static jlong CallNonvirtualLongMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, obj, mid, args).j;
}
static jlong CallNonvirtualLongMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, obj, mid, args).j;
}
- static jfloat CallNonvirtualFloatMethod(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, ...) {
+ static jfloat CallNonvirtualFloatMethod(JNIEnv* env, jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1407,19 +1401,18 @@ class JNI {
}
static jfloat CallNonvirtualFloatMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, obj, mid, args).f;
}
static jfloat CallNonvirtualFloatMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, obj, mid, args).f;
}
- static jdouble CallNonvirtualDoubleMethod(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, ...) {
+ static jdouble CallNonvirtualDoubleMethod(JNIEnv* env, jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1429,19 +1422,18 @@ class JNI {
}
static jdouble CallNonvirtualDoubleMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, obj, mid, args).d;
}
static jdouble CallNonvirtualDoubleMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, obj, mid, args).d;
}
- static void CallNonvirtualVoidMethod(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, ...) {
+ static void CallNonvirtualVoidMethod(JNIEnv* env, jobject obj, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1450,13 +1442,13 @@ class JNI {
}
static void CallNonvirtualVoidMethodV(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, va_list args) {
+ jobject obj, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
InvokeWithVarArgs(env, obj, mid, args);
}
static void CallNonvirtualVoidMethodA(JNIEnv* env,
- jobject obj, jclass clazz, jmethodID mid, jvalue* args) {
+ jobject obj, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
InvokeWithJValues(env, obj, mid, args);
}
@@ -1544,35 +1536,35 @@ class JNI {
GET_PRIMITIVE_FIELD(GetDouble, obj);
}
- static jboolean GetStaticBooleanField(JNIEnv* env, jclass clazz, jfieldID fid) {
+ static jboolean GetStaticBooleanField(JNIEnv* env, jclass, jfieldID fid) {
GET_PRIMITIVE_FIELD(GetBoolean, NULL);
}
- static jbyte GetStaticByteField(JNIEnv* env, jclass clazz, jfieldID fid) {
+ static jbyte GetStaticByteField(JNIEnv* env, jclass, jfieldID fid) {
GET_PRIMITIVE_FIELD(GetByte, NULL);
}
- static jchar GetStaticCharField(JNIEnv* env, jclass clazz, jfieldID fid) {
+ static jchar GetStaticCharField(JNIEnv* env, jclass, jfieldID fid) {
GET_PRIMITIVE_FIELD(GetChar, NULL);
}
- static jshort GetStaticShortField(JNIEnv* env, jclass clazz, jfieldID fid) {
+ static jshort GetStaticShortField(JNIEnv* env, jclass, jfieldID fid) {
GET_PRIMITIVE_FIELD(GetShort, NULL);
}
- static jint GetStaticIntField(JNIEnv* env, jclass clazz, jfieldID fid) {
+ static jint GetStaticIntField(JNIEnv* env, jclass, jfieldID fid) {
GET_PRIMITIVE_FIELD(GetInt, NULL);
}
- static jlong GetStaticLongField(JNIEnv* env, jclass clazz, jfieldID fid) {
+ static jlong GetStaticLongField(JNIEnv* env, jclass, jfieldID fid) {
GET_PRIMITIVE_FIELD(GetLong, NULL);
}
- static jfloat GetStaticFloatField(JNIEnv* env, jclass clazz, jfieldID fid) {
+ static jfloat GetStaticFloatField(JNIEnv* env, jclass, jfieldID fid) {
GET_PRIMITIVE_FIELD(GetFloat, NULL);
}
- static jdouble GetStaticDoubleField(JNIEnv* env, jclass clazz, jfieldID fid) {
+ static jdouble GetStaticDoubleField(JNIEnv* env, jclass, jfieldID fid) {
GET_PRIMITIVE_FIELD(GetDouble, NULL);
}
@@ -1640,7 +1632,7 @@ class JNI {
SET_PRIMITIVE_FIELD(SetShort, NULL, v);
}
- static jobject CallStaticObjectMethod(JNIEnv* env, jclass clazz, jmethodID mid, ...) {
+ static jobject CallStaticObjectMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1650,19 +1642,19 @@ class JNI {
return local_result;
}
- static jobject CallStaticObjectMethodV(JNIEnv* env, jclass clazz, jmethodID mid, va_list args) {
+ static jobject CallStaticObjectMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
JValue result = InvokeWithVarArgs(env, NULL, mid, args);
return AddLocalReference<jobject>(env, result.l);
}
- static jobject CallStaticObjectMethodA(JNIEnv* env, jclass clazz, jmethodID mid, jvalue* args) {
+ static jobject CallStaticObjectMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
JValue result = InvokeWithJValues(env, NULL, mid, args);
return AddLocalReference<jobject>(env, result.l);
}
- static jboolean CallStaticBooleanMethod(JNIEnv* env, jclass clazz, jmethodID mid, ...) {
+ static jboolean CallStaticBooleanMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1671,17 +1663,17 @@ class JNI {
return result.z;
}
- static jboolean CallStaticBooleanMethodV(JNIEnv* env, jclass clazz, jmethodID mid, va_list args) {
+ static jboolean CallStaticBooleanMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, NULL, mid, args).z;
}
- static jboolean CallStaticBooleanMethodA(JNIEnv* env, jclass clazz, jmethodID mid, jvalue* args) {
+ static jboolean CallStaticBooleanMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, NULL, mid, args).z;
}
- static jbyte CallStaticByteMethod(JNIEnv* env, jclass clazz, jmethodID mid, ...) {
+ static jbyte CallStaticByteMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1690,17 +1682,17 @@ class JNI {
return result.b;
}
- static jbyte CallStaticByteMethodV(JNIEnv* env, jclass clazz, jmethodID mid, va_list args) {
+ static jbyte CallStaticByteMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, NULL, mid, args).b;
}
- static jbyte CallStaticByteMethodA(JNIEnv* env, jclass clazz, jmethodID mid, jvalue* args) {
+ static jbyte CallStaticByteMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, NULL, mid, args).b;
}
- static jchar CallStaticCharMethod(JNIEnv* env, jclass clazz, jmethodID mid, ...) {
+ static jchar CallStaticCharMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1709,17 +1701,17 @@ class JNI {
return result.c;
}
- static jchar CallStaticCharMethodV(JNIEnv* env, jclass clazz, jmethodID mid, va_list args) {
+ static jchar CallStaticCharMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, NULL, mid, args).c;
}
- static jchar CallStaticCharMethodA(JNIEnv* env, jclass clazz, jmethodID mid, jvalue* args) {
+ static jchar CallStaticCharMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, NULL, mid, args).c;
}
- static jshort CallStaticShortMethod(JNIEnv* env, jclass clazz, jmethodID mid, ...) {
+ static jshort CallStaticShortMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1728,17 +1720,17 @@ class JNI {
return result.s;
}
- static jshort CallStaticShortMethodV(JNIEnv* env, jclass clazz, jmethodID mid, va_list args) {
+ static jshort CallStaticShortMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, NULL, mid, args).s;
}
- static jshort CallStaticShortMethodA(JNIEnv* env, jclass clazz, jmethodID mid, jvalue* args) {
+ static jshort CallStaticShortMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, NULL, mid, args).s;
}
- static jint CallStaticIntMethod(JNIEnv* env, jclass clazz, jmethodID mid, ...) {
+ static jint CallStaticIntMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1747,17 +1739,17 @@ class JNI {
return result.i;
}
- static jint CallStaticIntMethodV(JNIEnv* env, jclass clazz, jmethodID mid, va_list args) {
+ static jint CallStaticIntMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, NULL, mid, args).i;
}
- static jint CallStaticIntMethodA(JNIEnv* env, jclass clazz, jmethodID mid, jvalue* args) {
+ static jint CallStaticIntMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, NULL, mid, args).i;
}
- static jlong CallStaticLongMethod(JNIEnv* env, jclass clazz, jmethodID mid, ...) {
+ static jlong CallStaticLongMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1766,17 +1758,17 @@ class JNI {
return result.j;
}
- static jlong CallStaticLongMethodV(JNIEnv* env, jclass clazz, jmethodID mid, va_list args) {
+ static jlong CallStaticLongMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, NULL, mid, args).j;
}
- static jlong CallStaticLongMethodA(JNIEnv* env, jclass clazz, jmethodID mid, jvalue* args) {
+ static jlong CallStaticLongMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, NULL, mid, args).j;
}
- static jfloat CallStaticFloatMethod(JNIEnv* env, jclass cls, jmethodID mid, ...) {
+ static jfloat CallStaticFloatMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1785,17 +1777,17 @@ class JNI {
return result.f;
}
- static jfloat CallStaticFloatMethodV(JNIEnv* env, jclass clazz, jmethodID mid, va_list args) {
+ static jfloat CallStaticFloatMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, NULL, mid, args).f;
}
- static jfloat CallStaticFloatMethodA(JNIEnv* env, jclass clazz, jmethodID mid, jvalue* args) {
+ static jfloat CallStaticFloatMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, NULL, mid, args).f;
}
- static jdouble CallStaticDoubleMethod(JNIEnv* env, jclass cls, jmethodID mid, ...) {
+ static jdouble CallStaticDoubleMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1804,17 +1796,17 @@ class JNI {
return result.d;
}
- static jdouble CallStaticDoubleMethodV(JNIEnv* env, jclass clazz, jmethodID mid, va_list args) {
+ static jdouble CallStaticDoubleMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
return InvokeWithVarArgs(env, NULL, mid, args).d;
}
- static jdouble CallStaticDoubleMethodA(JNIEnv* env, jclass clazz, jmethodID mid, jvalue* args) {
+ static jdouble CallStaticDoubleMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
return InvokeWithJValues(env, NULL, mid, args).d;
}
- static void CallStaticVoidMethod(JNIEnv* env, jclass cls, jmethodID mid, ...) {
+ static void CallStaticVoidMethod(JNIEnv* env, jclass, jmethodID mid, ...) {
ScopedJniThreadState ts(env);
va_list ap;
va_start(ap, mid);
@@ -1822,12 +1814,12 @@ class JNI {
va_end(ap);
}
- static void CallStaticVoidMethodV(JNIEnv* env, jclass cls, jmethodID mid, va_list args) {
+ static void CallStaticVoidMethodV(JNIEnv* env, jclass, jmethodID mid, va_list args) {
ScopedJniThreadState ts(env);
InvokeWithVarArgs(env, NULL, mid, args);
}
- static void CallStaticVoidMethodA(JNIEnv* env, jclass cls, jmethodID mid, jvalue* args) {
+ static void CallStaticVoidMethodA(JNIEnv* env, jclass, jmethodID mid, jvalue* args) {
ScopedJniThreadState ts(env);
InvokeWithJValues(env, NULL, mid, args);
}
@@ -1890,7 +1882,7 @@ class JNI {
return chars->GetData() + s->GetOffset();
}
- static void ReleaseStringChars(JNIEnv* env, jstring java_string, const jchar* chars) {
+ static void ReleaseStringChars(JNIEnv* env, jstring java_string, const jchar*) {
ScopedJniThreadState ts(env);
UnpinPrimitiveArray(ts, Decode<String*>(ts, java_string)->GetCharArray());
}
@@ -2028,7 +2020,7 @@ class JNI {
return array->GetRawData(array->GetClass()->GetComponentSize());
}
- static void ReleasePrimitiveArrayCritical(JNIEnv* env, jarray array, void* data, jint mode) {
+ static void ReleasePrimitiveArrayCritical(JNIEnv* env, jarray array, void*, jint mode) {
ScopedJniThreadState ts(env);
ReleasePrimitiveArray(ts, array, mode);
}
@@ -2073,42 +2065,42 @@ class JNI {
return GetPrimitiveArray<jshortArray, jshort*, ShortArray>(ts, array, is_copy);
}
- static void ReleaseBooleanArrayElements(JNIEnv* env, jbooleanArray array, jboolean* data, jint mode) {
+ static void ReleaseBooleanArrayElements(JNIEnv* env, jbooleanArray array, jboolean*, jint mode) {
ScopedJniThreadState ts(env);
ReleasePrimitiveArray(ts, array, mode);
}
- static void ReleaseByteArrayElements(JNIEnv* env, jbyteArray array, jbyte* data, jint mode) {
+ static void ReleaseByteArrayElements(JNIEnv* env, jbyteArray array, jbyte*, jint mode) {
ScopedJniThreadState ts(env);
ReleasePrimitiveArray(ts, array, mode);
}
- static void ReleaseCharArrayElements(JNIEnv* env, jcharArray array, jchar* data, jint mode) {
+ static void ReleaseCharArrayElements(JNIEnv* env, jcharArray array, jchar*, jint mode) {
ScopedJniThreadState ts(env);
ReleasePrimitiveArray(ts, array, mode);
}
- static void ReleaseDoubleArrayElements(JNIEnv* env, jdoubleArray array, jdouble* data, jint mode) {
+ static void ReleaseDoubleArrayElements(JNIEnv* env, jdoubleArray array, jdouble*, jint mode) {
ScopedJniThreadState ts(env);
ReleasePrimitiveArray(ts, array, mode);
}
- static void ReleaseFloatArrayElements(JNIEnv* env, jfloatArray array, jfloat* data, jint mode) {
+ static void ReleaseFloatArrayElements(JNIEnv* env, jfloatArray array, jfloat*, jint mode) {
ScopedJniThreadState ts(env);
ReleasePrimitiveArray(ts, array, mode);
}
- static void ReleaseIntArrayElements(JNIEnv* env, jintArray array, jint* data, jint mode) {
+ static void ReleaseIntArrayElements(JNIEnv* env, jintArray array, jint*, jint mode) {
ScopedJniThreadState ts(env);
ReleasePrimitiveArray(ts, array, mode);
}
- static void ReleaseLongArrayElements(JNIEnv* env, jlongArray array, jlong* data, jint mode) {
+ static void ReleaseLongArrayElements(JNIEnv* env, jlongArray array, jlong*, jint mode) {
ScopedJniThreadState ts(env);
ReleasePrimitiveArray(ts, array, mode);
}
- static void ReleaseShortArrayElements(JNIEnv* env, jshortArray array, jshort* data, jint mode) {
+ static void ReleaseShortArrayElements(JNIEnv* env, jshortArray array, jshort*, jint mode) {
ScopedJniThreadState ts(env);
ReleasePrimitiveArray(ts, array, mode);
}
@@ -2617,7 +2609,8 @@ void JNIEnvExt::DumpReferenceTables() {
monitors.Dump();
}
-void JNIEnvExt::PushFrame(int capacity) {
+void JNIEnvExt::PushFrame(int /*capacity*/) {
+ // TODO: take 'capacity' into account.
stacked_local_ref_cookies.push_back(local_ref_cookie);
local_ref_cookie = locals.GetSegmentState();
}
@@ -2663,7 +2656,7 @@ extern "C" jint JNI_GetCreatedJavaVMs(JavaVM** vms, jsize, jsize* vm_count) {
}
// Historically unsupported.
-extern "C" jint JNI_GetDefaultJavaVMInitArgs(void* vm_args) {
+extern "C" jint JNI_GetDefaultJavaVMInitArgs(void* /*vm_args*/) {
return JNI_ERR;
}
@@ -2797,7 +2790,7 @@ bool JavaVMExt::LoadNativeLibrary(const std::string& path, ClassLoader* class_lo
}
VLOG(jni) << "[Shared library \"" << path << "\" already loaded in "
<< "ClassLoader " << class_loader << "]";
- if (!library->CheckOnLoadResult(this)) {
+ if (!library->CheckOnLoadResult()) {
StringAppendF(&detail, "JNI_OnLoad failed on a previous attempt "
"to load \"%s\"", path.c_str());
return false;
@@ -2854,7 +2847,7 @@ bool JavaVMExt::LoadNativeLibrary(const std::string& path, ClassLoader* class_lo
if (library != NULL) {
LOG(INFO) << "WOW: we lost a race to add shared library: "
<< "\"" << path << "\" ClassLoader=" << class_loader;
- return library->CheckOnLoadResult(this);
+ return library->CheckOnLoadResult();
}
library = new SharedLibrary(path, handle, class_loader);
libraries->Put(path, library);
diff --git a/src/mem_map.cc b/src/mem_map.cc
index 885389d2db..93f60c431e 100644
--- a/src/mem_map.cc
+++ b/src/mem_map.cc
@@ -152,7 +152,7 @@ void CheckMapRequest(byte* addr, size_t length) {
}
#else
-static void CheckMapRequest(byte* addr, size_t length) { }
+static void CheckMapRequest(byte*, size_t) { }
#endif
MemMap* MemMap::MapAnonymous(const char* name, byte* addr, size_t length, int prot) {
diff --git a/src/mutex.cc b/src/mutex.cc
index 340a075a73..01aeff495b 100644
--- a/src/mutex.cc
+++ b/src/mutex.cc
@@ -27,7 +27,8 @@
namespace art {
-static inline void CheckSafeToLockOrUnlock(MutexRank rank, bool is_locking) {
+static inline void CheckSafeToLockOrUnlock(MutexRank __attribute__((unused)) rank,
+ bool __attribute__((unused)) is_locking) {
#ifndef NDEBUG
if (rank == -1) {
return;
@@ -39,7 +40,7 @@ static inline void CheckSafeToLockOrUnlock(MutexRank rank, bool is_locking) {
#endif
}
-static inline void CheckSafeToWait(MutexRank rank) {
+static inline void CheckSafeToWait(MutexRank __attribute__((unused)) rank) {
#ifndef NDEBUG
Thread* self = Thread::Current();
if (self != NULL) {
diff --git a/src/oat_writer.cc b/src/oat_writer.cc
index 1ac247eebe..a1b0f9deb9 100644
--- a/src/oat_writer.cc
+++ b/src/oat_writer.cc
@@ -198,10 +198,12 @@ size_t OatWriter::InitOatCodeClassDef(size_t offset,
return offset;
}
-size_t OatWriter::InitOatCodeMethod(size_t offset, size_t oat_class_index, size_t class_def_index,
- size_t class_def_method_index, bool is_native, bool is_static,
- bool is_direct, uint32_t method_idx, const DexFile* dex_file) {
-
+size_t OatWriter::InitOatCodeMethod(size_t offset, size_t oat_class_index,
+ size_t __attribute__((unused)) class_def_index,
+ size_t class_def_method_index,
+ bool __attribute__((unused)) is_native,
+ bool is_static, bool is_direct,
+ uint32_t method_idx, const DexFile* dex_file) {
#if !defined(ART_USE_LLVM_COMPILER)
// derived from CompiledMethod if available
uint32_t code_offset = 0;
diff --git a/src/oatexec.cc b/src/oatexec.cc
index f4cf2f12a1..2de355b790 100644
--- a/src/oatexec.cc
+++ b/src/oatexec.cc
@@ -56,7 +56,7 @@ static bool IsMethodPublic(JNIEnv* env, jclass clazz, jmethodID method_id) {
return true;
}
-static int InvokeMain(JNIEnv* env, int argc, char** argv) {
+static int InvokeMain(JNIEnv* env, char** argv) {
// We want to call main() with a String array with our arguments in
// it. Create an array and populate it. Note argv[0] is not
// included.
@@ -171,7 +171,7 @@ int oatexec(int argc, char** argv) {
return EXIT_FAILURE;
}
- int rc = InvokeMain(env, argc - arg_idx, &argv[arg_idx]);
+ int rc = InvokeMain(env, &argv[arg_idx]);
if (vm->DetachCurrentThread() != JNI_OK) {
fprintf(stderr, "Warning: unable to detach main thread\n");
diff --git a/src/object.h b/src/object.h
index ae435c699f..0a670ee4c5 100644
--- a/src/object.h
+++ b/src/object.h
@@ -2332,7 +2332,7 @@ inline uint32_t Method::GetDexMethodIndex() const {
return GetField32(OFFSET_OF_OBJECT_MEMBER(Method, method_dex_index_), false);
}
-inline void Method::AssertPcIsWithinCode(uintptr_t pc) const {
+inline void Method::AssertPcIsWithinCode(uintptr_t __attribute__((unused)) pc) const {
#ifndef NDEBUG
if (IsNative() || IsRuntimeMethod() || IsProxyMethod()) {
return;
diff --git a/src/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc b/src/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc
index 369abd4a8b..88416af9b2 100644
--- a/src/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc
+++ b/src/org_apache_harmony_dalvik_ddmc_DdmVmInternal.cc
@@ -26,15 +26,15 @@
namespace art {
-static void DdmVmInternal_enableRecentAllocations(JNIEnv* env, jclass, jboolean enable) {
+static void DdmVmInternal_enableRecentAllocations(JNIEnv*, jclass, jboolean enable) {
Dbg::SetAllocTrackingEnabled(enable);
}
-static jbyteArray DdmVmInternal_getRecentAllocations(JNIEnv* env, jclass) {
+static jbyteArray DdmVmInternal_getRecentAllocations(JNIEnv*, jclass) {
return Dbg::GetRecentAllocations();
}
-static jboolean DdmVmInternal_getRecentAllocationStatus(JNIEnv* env, jclass) {
+static jboolean DdmVmInternal_getRecentAllocationStatus(JNIEnv*, jclass) {
return Dbg::IsAllocTrackingEnabled();
}
@@ -138,15 +138,15 @@ static jbyteArray DdmVmInternal_getThreadStats(JNIEnv* env, jclass) {
return result;
}
-static jint DdmVmInternal_heapInfoNotify(JNIEnv* env, jclass, jint when) {
+static jint DdmVmInternal_heapInfoNotify(JNIEnv*, jclass, jint when) {
return Dbg::DdmHandleHpifChunk(static_cast<Dbg::HpifWhen>(when));
}
-static jboolean DdmVmInternal_heapSegmentNotify(JNIEnv* env, jclass, jint when, jint what, jboolean native) {
+static jboolean DdmVmInternal_heapSegmentNotify(JNIEnv*, jclass, jint when, jint what, jboolean native) {
return Dbg::DdmHandleHpsgNhsgChunk(static_cast<Dbg::HpsgWhen>(when), static_cast<Dbg::HpsgWhat>(what), native);
}
-static void DdmVmInternal_threadNotify(JNIEnv* env, jclass, jboolean enable) {
+static void DdmVmInternal_threadNotify(JNIEnv*, jclass, jboolean enable) {
Dbg::DdmSetThreadNotification(enable);
}
diff --git a/src/reflection.cc b/src/reflection.cc
index 6aa239ebc9..a90af0e4af 100644
--- a/src/reflection.cc
+++ b/src/reflection.cc
@@ -229,7 +229,7 @@ bool ConvertPrimitiveValue(Primitive::Type srcType, Primitive::Type dstType,
return false;
}
-void BoxPrimitive(JNIEnv* env, Primitive::Type src_class, JValue& value) {
+void BoxPrimitive(JNIEnv*, Primitive::Type src_class, JValue& value) {
if (src_class == Primitive::kPrimNot) {
return;
}
@@ -275,7 +275,7 @@ void BoxPrimitive(JNIEnv* env, Primitive::Type src_class, JValue& value) {
m->Invoke(self, NULL, args, &value);
}
-bool UnboxPrimitive(JNIEnv* env, Object* o, Class* dst_class, JValue& unboxed_value, const char* what) {
+bool UnboxPrimitive(JNIEnv*, Object* o, Class* dst_class, JValue& unboxed_value, const char* what) {
if (!dst_class->IsPrimitive()) {
if (o != NULL && !o->InstanceOf(dst_class)) {
Thread::Current()->ThrowNewExceptionF("Ljava/lang/IllegalArgumentException;",
diff --git a/src/runtime_linux.cc b/src/runtime_linux.cc
index d7b32ee92f..a604819667 100644
--- a/src/runtime_linux.cc
+++ b/src/runtime_linux.cc
@@ -41,7 +41,7 @@ std::string Demangle(const std::string& mangled_name) {
return mangled_name + "()";
}
-void Runtime::PlatformAbort(const char* file, int line) {
+void Runtime::PlatformAbort(const char* /*file*/, int /*line_number*/) {
// On the host, we don't have debuggerd to dump a stack for us.
// Get the raw stack frames.
diff --git a/src/runtime_support.cc b/src/runtime_support.cc
index 182898530b..230c24f737 100644
--- a/src/runtime_support.cc
+++ b/src/runtime_support.cc
@@ -208,7 +208,7 @@ extern void ThrowAbstractMethodErrorFromCode(Method* method, Thread* thread, Met
thread->DeliverException();
}
-extern "C" void artThrowStackOverflowFromCode(Method* method, Thread* thread, Method** sp) {
+extern "C" void artThrowStackOverflowFromCode(Method* /*method*/, Thread* thread, Method** sp) {
FinishCalleeSaveFrameSetup(thread, sp, Runtime::kSaveAll);
// Remove extra entry pushed onto second stack during method tracing
if (Runtime::Current()->IsMethodTracingActive()) {
diff --git a/src/space.cc b/src/space.cc
index 78fcdf57fb..cb8746f3ad 100644
--- a/src/space.cc
+++ b/src/space.cc
@@ -237,7 +237,7 @@ size_t AllocSpace::AllocationSize(const Object* obj) {
// Call back from mspace_inspect_all returning the start and end of chunks and the bytes used,
// if used_bytes is 0 then it indicates the range isn't in use and we madvise to the system that
// we don't need it
-static void DontNeed(void* start, void* end, size_t used_bytes, void* num_bytes) {
+static void DontNeed(void* start, void* end, size_t used_bytes, void* /*num_bytes*/) {
if (used_bytes == 0) {
start = reinterpret_cast<void*>(RoundUp((uintptr_t)start, kPageSize));
end = reinterpret_cast<void*>(RoundDown((uintptr_t)end, kPageSize));
diff --git a/src/thread.cc b/src/thread.cc
index 58ef1fee9e..d9de1cb141 100644
--- a/src/thread.cc
+++ b/src/thread.cc
@@ -436,31 +436,6 @@ void Thread::Dump(std::ostream& os, bool full) const {
}
}
-std::string GetSchedulerGroup(pid_t tid) {
- // /proc/<pid>/group looks like this:
- // 2:devices:/
- // 1:cpuacct,cpu:/
- // We want the third field from the line whose second field contains the "cpu" token.
- std::string cgroup_file;
- if (!ReadFileToString("/proc/self/cgroup", &cgroup_file)) {
- return "";
- }
- std::vector<std::string> cgroup_lines;
- Split(cgroup_file, '\n', cgroup_lines);
- for (size_t i = 0; i < cgroup_lines.size(); ++i) {
- std::vector<std::string> cgroup_fields;
- Split(cgroup_lines[i], ':', cgroup_fields);
- std::vector<std::string> cgroups;
- Split(cgroup_fields[1], ',', cgroups);
- for (size_t i = 0; i < cgroups.size(); ++i) {
- if (cgroups[i] == "cpu") {
- return cgroup_fields[2].substr(1); // Skip the leading slash.
- }
- }
- }
- return "";
-}
-
String* Thread::GetThreadName() const {
return (peer_ != NULL) ? reinterpret_cast<String*>(gThread_name->GetObject(peer_)) : NULL;
}
@@ -491,9 +466,9 @@ void Thread::DumpState(std::ostream& os) const {
sched_param sp;
CHECK_PTHREAD_CALL(pthread_getschedparam, (pthread_self(), &policy, &sp), __FUNCTION__);
- std::string scheduler_group(GetSchedulerGroup(GetTid()));
- if (scheduler_group.empty()) {
- scheduler_group = "default";
+ std::string scheduler_group_name(GetSchedulerGroupName(GetTid()));
+ if (scheduler_group_name.empty()) {
+ scheduler_group_name = "default";
}
os << '"' << *name_ << '"';
@@ -512,7 +487,7 @@ void Thread::DumpState(std::ostream& os) const {
os << " | sysTid=" << GetTid()
<< " nice=" << getpriority(PRIO_PROCESS, GetTid())
<< " sched=" << policy << "/" << sp.sched_priority
- << " cgrp=" << scheduler_group
+ << " cgrp=" << scheduler_group_name
<< " handle=" << pthread_self() << "\n";
// Grab the scheduler stats for this thread.
@@ -1068,7 +1043,7 @@ class CountStackDepthVisitor : public Thread::StackVisitor {
public:
CountStackDepthVisitor() : depth_(0), skip_depth_(0), skipping_(true) {}
- bool VisitFrame(const Frame& frame, uintptr_t pc) {
+ bool VisitFrame(const Frame& frame, uintptr_t /*pc*/) {
// We want to skip frames up to and including the exception's constructor.
// Note we also skip the frame if it doesn't have a method (namely the callee
// save frame)
diff --git a/src/thread_linux.cc b/src/thread_linux.cc
index 9578228e27..50db13c222 100644
--- a/src/thread_linux.cc
+++ b/src/thread_linux.cc
@@ -18,7 +18,7 @@
namespace art {
-void Thread::DumpNativeStack(std::ostream& os) const {
+void Thread::DumpNativeStack(std::ostream&) const {
// TODO: use glibc backtrace(3).
}
diff --git a/src/trace.cc b/src/trace.cc
index 6648b857de..61dd163b33 100644
--- a/src/trace.cc
+++ b/src/trace.cc
@@ -145,8 +145,8 @@ static bool UninstallStubsClassVisitor(Class* klass, void*) {
return true;
}
-static void TraceRestoreStack(Thread* t, void*) {
#if defined(__arm__)
+static void TraceRestoreStack(Thread* t, void*) {
uintptr_t trace_exit = reinterpret_cast<uintptr_t>(art_trace_exit_from_code);
Frame frame = t->GetTopOfStack();
@@ -164,10 +164,12 @@ static void TraceRestoreStack(Thread* t, void*) {
}
}
}
+}
#else
+static void TraceRestoreStack(Thread*, void*) {
UNIMPLEMENTED(WARNING);
-#endif
}
+#endif
void Trace::AddSavedCodeToMap(const Method* method, const void* code) {
saved_code_map_.insert(std::make_pair(method, code));
@@ -187,16 +189,18 @@ const void* Trace::GetSavedCodeFromMap(const Method* method) {
}
}
-void Trace::SaveAndUpdateCode(Method* method) {
#if defined(__arm__)
+void Trace::SaveAndUpdateCode(Method* method) {
void* trace_stub = reinterpret_cast<void*>(art_trace_entry_from_code);
CHECK(GetSavedCodeFromMap(method) == NULL);
AddSavedCodeToMap(method, method->GetCode());
method->SetCode(trace_stub);
+}
#else
+void Trace::SaveAndUpdateCode(Method*) {
UNIMPLEMENTED(WARNING);
-#endif
}
+#endif
void Trace::ResetSavedCode(Method* method) {
CHECK(GetSavedCodeFromMap(method) != NULL);
@@ -210,6 +214,11 @@ void Trace::Start(const char* trace_filename, int trace_fd, int buffer_size, int
return;
}
+ // TODO: implement alloc counting.
+ if (flags != 0) {
+ UNIMPLEMENTED(FATAL) << "trace flags";
+ }
+
ScopedThreadStateChange tsc(Thread::Current(), Thread::kRunnable);
Runtime::Current()->GetThreadList()->SuspendAll(false);
diff --git a/src/utils.cc b/src/utils.cc
index 26fe6052cb..c9a6e7e752 100644
--- a/src/utils.cc
+++ b/src/utils.cc
@@ -741,7 +741,7 @@ void SetThreadName(const char* threadName) {
void GetTaskStats(pid_t tid, int& utime, int& stime, int& task_cpu) {
utime = stime = task_cpu = 0;
std::string stats;
- if (!ReadFileToString(StringPrintf("/proc/self/task/%d/stat", GetTid()).c_str(), &stats)) {
+ if (!ReadFileToString(StringPrintf("/proc/self/task/%d/stat", tid).c_str(), &stats)) {
return;
}
// Skip the command, which may contain spaces.
@@ -754,6 +754,31 @@ void GetTaskStats(pid_t tid, int& utime, int& stime, int& task_cpu) {
task_cpu = strtoull(fields[36].c_str(), NULL, 10);
}
+std::string GetSchedulerGroupName(pid_t tid) {
+ // /proc/<pid>/cgroup looks like this:
+ // 2:devices:/
+ // 1:cpuacct,cpu:/
+ // We want the third field from the line whose second field contains the "cpu" token.
+ std::string cgroup_file;
+ if (!ReadFileToString(StringPrintf("/proc/self/task/%d/cgroup", tid), &cgroup_file)) {
+ return "";
+ }
+ std::vector<std::string> cgroup_lines;
+ Split(cgroup_file, '\n', cgroup_lines);
+ for (size_t i = 0; i < cgroup_lines.size(); ++i) {
+ std::vector<std::string> cgroup_fields;
+ Split(cgroup_lines[i], ':', cgroup_fields);
+ std::vector<std::string> cgroups;
+ Split(cgroup_fields[1], ',', cgroups);
+ for (size_t i = 0; i < cgroups.size(); ++i) {
+ if (cgroups[i] == "cpu") {
+ return cgroup_fields[2].substr(1); // Skip the leading slash.
+ }
+ }
+ }
+ return "";
+}
+
const char* GetAndroidRoot() {
const char* android_root = getenv("ANDROID_ROOT");
if (android_root == NULL) {
diff --git a/src/utils.h b/src/utils.h
index cdd8fad644..9c180935e6 100644
--- a/src/utils.h
+++ b/src/utils.h
@@ -278,6 +278,9 @@ pid_t GetTid();
// Reads data from "/proc/self/task/${tid}/stat".
void GetTaskStats(pid_t tid, int& utime, int& stime, int& task_cpu);
+// Returns the name of the scheduler group for the given thread the current process, or the empty string.
+std::string GetSchedulerGroupName(pid_t tid);
+
// Sets the name of the current thread. The name may be truncated to an
// implementation-defined limit.
void SetThreadName(const char* name);
diff --git a/test/ReferenceMap/stack_walk_refmap_jni.cc b/test/ReferenceMap/stack_walk_refmap_jni.cc
index f6d4ac3086..5a80d80ff7 100644
--- a/test/ReferenceMap/stack_walk_refmap_jni.cc
+++ b/test/ReferenceMap/stack_walk_refmap_jni.cc
@@ -280,8 +280,7 @@ struct ReferenceMap2Visitor : public Thread::StackVisitor {
// 0x0032 - 0x0033 reg=2 y Ljava/lang/Object;
// 0x0000 - 0x0033 reg=8 this LReferenceMap;
-extern "C"
-JNIEXPORT jint JNICALL Java_ReferenceMap_refmap(JNIEnv* env, jobject thisObj, jint count) {
+extern "C" JNIEXPORT jint JNICALL Java_ReferenceMap_refmap(JNIEnv*, jobject, jint count) {
// Visitor
ReferenceMap2Visitor mapper;
Thread::Current()->WalkStack(&mapper);
diff --git a/test/StackWalk/stack_walk_jni.cc b/test/StackWalk/stack_walk_jni.cc
index 65b3284b22..95f38071d4 100644
--- a/test/StackWalk/stack_walk_jni.cc
+++ b/test/StackWalk/stack_walk_jni.cc
@@ -94,8 +94,7 @@ struct ReferenceMapVisitor : public Thread::StackVisitor {
}
};
-extern "C"
-JNIEXPORT jint JNICALL Java_StackWalk_refmap(JNIEnv* env, jobject thisObj, jint count) {
+extern "C" JNIEXPORT jint JNICALL Java_StackWalk_refmap(JNIEnv*, jobject, jint count) {
CHECK_EQ(count, 0);
gJava_StackWalk_refmap_calls++;
@@ -106,8 +105,7 @@ JNIEXPORT jint JNICALL Java_StackWalk_refmap(JNIEnv* env, jobject thisObj, jint
return count + 1;
}
-extern "C"
-JNIEXPORT jint JNICALL Java_StackWalk2_refmap2(JNIEnv* env, jobject thisObj, jint count) {
+extern "C" JNIEXPORT jint JNICALL Java_StackWalk2_refmap2(JNIEnv*, jobject, jint count) {
gJava_StackWalk_refmap_calls++;
// Visitor