[llvm-commits] [vmkit] r50812 - /vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Wed May 7 06:16:03 PDT 2008
Author: geoffray
Date: Wed May 7 08:15:51 2008
New Revision: 50812
URL: http://llvm.org/viewvc/llvm-project?rev=50812&view=rev
Log:
Do not trace an object when we are sure someone else already traced
it.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp
Modified: vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp?rev=50812&r1=50811&r2=50812&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/VirtualTables.cpp Wed May 7 08:15:51 2008
@@ -113,7 +113,6 @@
void Attribut::TRACER {
- name->MARK_AND_TRACE;
}
#define TRACE_VECTOR(type,alloc,name) { \
@@ -122,23 +121,10 @@
(*i)->MARK_AND_TRACE; }}
void CommonClass::TRACER {
- name->MARK_AND_TRACE;
- super->MARK_AND_TRACE;
- superUTF8->MARK_AND_TRACE;
- TRACE_VECTOR(const UTF8*, std::allocator, interfacesUTF8);
- TRACE_VECTOR(Class*, std::allocator, interfaces);
- //lockVar->MARK_AND_TRACE;
- //condVar->MARK_AND_TRACE;
- TRACE_VECTOR(JavaMethod*, std::allocator, virtualMethods);
- TRACE_VECTOR(JavaMethod*, std::allocator, staticMethods);
- TRACE_VECTOR(JavaField*, std::allocator, virtualFields);
- TRACE_VECTOR(JavaField*, std::allocator, staticFields);
classLoader->MARK_AND_TRACE;
#ifndef MULTIPLE_VM
delegatee->MARK_AND_TRACE;
#endif
- TRACE_VECTOR(CommonClass*, std::allocator, display);
- isolate->MARK_AND_TRACE;
}
void Class::TRACER {
@@ -150,49 +136,35 @@
virtualInstance->MARK_AND_TRACE;
ctpInfo->MARK_AND_TRACE;
TRACE_VECTOR(Attribut*, gc_allocator, attributs);
- TRACE_VECTOR(Class*, std::allocator, innerClasses);
- outerClass->MARK_AND_TRACE;
codeStaticTracer->MARK_AND_TRACE;
codeVirtualTracer->MARK_AND_TRACE;
}
void ClassArray::TRACER {
CommonClass::PARENT_TRACER;
- _baseClass->MARK_AND_TRACE;
- _funcs->MARK_AND_TRACE;
-
}
void JavaMethod::TRACER {
- signature->MARK_AND_TRACE;
TRACE_VECTOR(Attribut*, gc_allocator, attributs);
TRACE_VECTOR(Enveloppe*, gc_allocator, caches);
- classDef->MARK_AND_TRACE;
- name->MARK_AND_TRACE;
- type->MARK_AND_TRACE;
code->MARK_AND_TRACE;
}
void JavaField::TRACER {
- name->MARK_AND_TRACE;
- signature->MARK_AND_TRACE;
- type->MARK_AND_TRACE;
TRACE_VECTOR(Attribut*, gc_allocator, attributs);
- classDef->MARK_AND_TRACE;
}
void JavaCtpInfo::TRACER {
- classDef->MARK_AND_TRACE;
// Everything is hashed in the constant pool,
// do not trace them here
}
void JavaCond::TRACER {
+ // FIXME: do I need this?
TRACE_VECTOR(JavaThread*, std::allocator, threads);
}
void LockObj::TRACER {
- //lock->MARK_AND_TRACE;
varcond->MARK_AND_TRACE;
}
@@ -203,27 +175,18 @@
void JavaThread::TRACER {
javaThread->MARK_AND_TRACE;
+ // FIXME: do I need this?
isolate->MARK_AND_TRACE;
- //lock->MARK_AND_TRACE;
- //varcond->MARK_AND_TRACE;
pendingException->MARK_AND_TRACE;
}
void AssessorDesc::TRACER {
- classType->MARK_AND_TRACE;
}
void Typedef::TRACER {
- keyName->MARK_AND_TRACE;
- pseudoAssocClassName->MARK_AND_TRACE;
- funcs->MARK_AND_TRACE;
- isolate->MARK_AND_TRACE;
}
void Signdef::TRACER {
- Typedef::PARENT_TRACER;
- TRACE_VECTOR(Typedef*, std::allocator, args);
- ret->MARK_AND_TRACE;
_staticCallBuf->MARK_AND_TRACE;
_virtualCallBuf->MARK_AND_TRACE;
_staticCallAP->MARK_AND_TRACE;
@@ -231,8 +194,6 @@
}
void ThreadSystem::TRACER {
- //nonDaemonLock->MARK_AND_TRACE;
- //nonDaemonVar->MARK_AND_TRACE;
}
void Jnjvm::TRACER {
@@ -284,7 +245,6 @@
void Enveloppe::TRACER {
firstCache->MARK_AND_TRACE;
- ctpInfo->MARK_AND_TRACE;
//cacheLock->MARK_AND_TRACE;
}
@@ -345,14 +305,12 @@
void StaticInstanceMap::TRACER {
for (iterator i = map.begin(), e = map.end(); i!= e; ++i) {
- i->first->MARK_AND_TRACE;
i->second->second->MARK_AND_TRACE;
}
}
void DelegateeMap::TRACER {
for (iterator i = map.begin(), e = map.end(); i!= e; ++i) {
- i->first->MARK_AND_TRACE;
i->second->MARK_AND_TRACE;
}
}
More information about the llvm-commits
mailing list