[vmkit-commits] [vmkit] r60021 - in /vmkit/trunk/lib/JnJVM/VMCore: JnjvmModule.cpp JnjvmModule.h JnjvmModuleProvider.cpp JnjvmModuleProvider.h
Nicolas Geoffray
nicolas.geoffray at lip6.fr
Tue Nov 25 06:09:43 PST 2008
Author: geoffray
Date: Tue Nov 25 08:09:35 2008
New Revision: 60021
URL: http://llvm.org/viewvc/llvm-project?rev=60021&view=rev
Log:
Functions for printing compilation statistics.
Modified:
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp
vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.h
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp?rev=60021&r1=60020&r2=60021&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.cpp Tue Nov 25 08:09:35 2008
@@ -20,6 +20,7 @@
#include "JnjvmModule.h"
#include "JnjvmModuleProvider.h"
+#include <cstdio>
using namespace jnjvm;
using namespace llvm;
@@ -1013,6 +1014,19 @@
func->setLinkage(llvm::GlobalValue::ExternalLinkage);
}
+void JnjvmModule::printStats() {
+ fprintf(stderr, "----------------- Info from the module -----------------\n");
+ fprintf(stderr, "Number of native classes : %d\n", nativeClasses.size());
+ fprintf(stderr, "Number of Java classes : %d\n", javaClasses.size());
+ fprintf(stderr, "Number of virtual tables : %d\n", virtualTables.size());
+ fprintf(stderr, "Number of static instances : %d\n", staticInstances.size());
+ fprintf(stderr, "Number of constant pools : %d\n", constantPools.size());
+ fprintf(stderr, "Number of strings : %d\n", strings.size());
+ fprintf(stderr, "Number of enveloppes : %d\n", enveloppes.size());
+ fprintf(stderr, "Number of native functions : %d\n", nativeFunctions.size());
+}
+
+
void* JnjvmModule::getMethod(JavaMethod* meth) {
return getMethodInfo(meth)->getMethod();
}
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h?rev=60021&r1=60020&r2=60021&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModule.h Tue Nov 25 08:09:35 2008
@@ -373,6 +373,7 @@
explicit JnjvmModule(const std::string &ModuleID, bool sc = false);
void initialise();
+ void printStats();
llvm::Value* getNativeClass(CommonClass* cl);
llvm::Value* getJavaClass(CommonClass* cl);
@@ -391,7 +392,7 @@
llvm::Value* getIsolate(Jnjvm* vm);
#endif
-
+
private:
static llvm::Module* initialModule;
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp?rev=60021&r1=60020&r2=60021&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.cpp Tue Nov 25 08:09:35 2008
@@ -158,6 +158,7 @@
TheModule);
}
+ ++nbCallbacks;
CallbackInfo* A = new CallbackInfo(cl, index);
func->addAnnotation(A);
@@ -192,6 +193,7 @@
JavaFunctionPasses->add(mvm::createEscapeAnalysisPass(func));
JavaFunctionPasses->add(mvm::createLowerConstantCallsPass());
JavaFunctionPasses->add(mvm::createLowerForcedCallsPass());
+ nbCallbacks = 0;
}
JnjvmModuleProvider::~JnjvmModuleProvider() {
@@ -202,3 +204,8 @@
delete JavaNativeFunctionPasses;
delete JavaFunctionPasses;
}
+
+void JnjvmModuleProvider::printStats() {
+ fprintf(stderr, "------------ Info from the module provider -------------\n");
+ fprintf(stderr, "Number of callbacks : %d\n", nbCallbacks);
+}
Modified: vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.h
URL: http://llvm.org/viewvc/llvm-project/vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.h?rev=60021&r1=60020&r2=60021&view=diff
==============================================================================
--- vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.h (original)
+++ vmkit/trunk/lib/JnJVM/VMCore/JnjvmModuleProvider.h Tue Nov 25 08:09:35 2008
@@ -28,6 +28,8 @@
llvm::FunctionPassManager* JavaFunctionPasses;
llvm::FunctionPassManager* JavaNativeFunctionPasses;
+
+ uint32 nbCallbacks;
public:
@@ -42,6 +44,8 @@
llvm::Function* parseFunction(JavaMethod* meth);
Module* materializeModule(std::string *ErrInfo = 0) { return TheModule; }
+
+ void printStats();
};
} // End jnjvm namespace
More information about the vmkit-commits
mailing list