Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 96548 Details for
Bug 148629
Support Java 6 Class File Format Changes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read
this important communication.
[patch]
This patch introduces java6 support in Martini allowing work of agents with Java6 binaries
runtime.patch (text/plain), 41.12 KB, created by
Vasily v. Levchenko
on 2008-04-18 01:26:29 EDT
(
hide
)
Description:
This patch introduces java6 support in Martini allowing work of agents with Java6 binaries
Filename:
MIME Type:
Creator:
Vasily v. Levchenko
Created:
2008-04-18 01:26:29 EDT
Size:
41.12 KB
patch
obsolete
>Index: src-native/src/Martini/Include/JIE.h >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Include/JIE.h,v >retrieving revision 1.5 >diff -U3 -p -r1.5 JIE.h >--- src-native/src/Martini/Include/JIE.h 20 Feb 2007 12:00:33 -0000 1.5 >+++ src-native/src/Martini/Include/JIE.h 7 Apr 2008 01:36:47 -0000 >@@ -584,6 +584,9 @@ namespace JIE > */ > virtual IJavaClass *GetClassInterface(const unsigned char *pucClassFile, > unsigned int uiClassSize) const = 0; >+ >+ virtual void EnableStackMapCalculation() const = 0; >+ > }; > > /** >Index: src-native/src/Martini/Infrastructure/CGAdaptor/.cvsignore >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/CGAdaptor/.cvsignore,v >retrieving revision 1.1 >diff -U3 -p -r1.1 .cvsignore >--- src-native/src/Martini/Infrastructure/CGAdaptor/.cvsignore 27 Jan 2008 19:59:04 -0000 1.1 >+++ src-native/src/Martini/Infrastructure/CGAdaptor/.cvsignore 7 Apr 2008 01:36:47 -0000 >@@ -1 +1,2 @@ > debug >+CGAdaptor.plg >Index: src-native/src/Martini/Infrastructure/CGAdaptor/CGAdaptor.cpp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/CGAdaptor/CGAdaptor.cpp,v >retrieving revision 1.13 >diff -U3 -p -r1.13 CGAdaptor.cpp >--- src-native/src/Martini/Infrastructure/CGAdaptor/CGAdaptor.cpp 29 Feb 2008 15:37:54 -0000 1.13 >+++ src-native/src/Martini/Infrastructure/CGAdaptor/CGAdaptor.cpp 7 Apr 2008 01:36:47 -0000 >@@ -17,6 +17,7 @@ > #include "HeapProxy.h" > #include "ThreadProxy.h" > #include "ValidityChecks.h" >+#include "MRTEInfrastructureDefinitions.h" > > #include <assert.h> > #include <string.h> >@@ -378,7 +379,8 @@ TResult CCGAdaptor::DoCallGraphInstrumen > // If no methods were instrumented, modify the return code to indicate this > if (MRTE_SUCCEEDED(res) && instrMethodCount == 0) > { >- LOG_INFORMATIVE1("CGAdaptor", 3, false, "Class %s was not instrumented because all its methods were excluded", >+ LOG_INFORMATIVE1("CGAdaptor", 3, false, >+ "Class %s was not instrumented because all its methods were excluded", > classInfo.szClassName); > res = MRTE_ERROR_INSTRUMENTATION_NOT_NEEDED; > } >@@ -681,7 +683,12 @@ TResult CCGAdaptor::InstrumentMethod(IJa > } > > res = InjectEpilogCode(pMethod, pInstructionsIter, pOriginalFirstInstr, isJVMInitVar, >- cpMethodId, cpLeaveCallback, bJVMInitDone); >+ cpMethodId, cpLeaveCallback, bJVMInitDone, >+ IsConstructor(pInfo->szName)); >+ if (MRTE_RESULT_OK != res) >+ { >+ return res; >+ } > > pInstructionsIter->Free(); > res = pMethod->ApplyInstrumentation(); >@@ -837,7 +844,8 @@ TResult CCGAdaptor::InjectEpilogCode(IJa > TVariableID isJVMInitVar, > TConstantPoolIndex cpiMethodId, > TConstantPoolIndex cpiLeaveCallback, >- bool bJVMInitDone) >+ bool bJVMInitDone, >+ bool bIsConstructor) > { > TResult res; > >@@ -899,8 +907,55 @@ TResult CCGAdaptor::InjectEpilogCode(IJa > // whether the method terminates normally or abnormally > > IInstruction *pStartTry; >- pInstructionsIter->GetFirst(); >- pStartTry = pOriginalFirstMethodInst; >+ if (bIsConstructor) >+ { >+ // The instrumented method is a constructor. The protected block should start >+ // only after the call to the constructor of the superclass to prevent >+ // verification issues (see https://bugs.eclipse.org/170075) >+ pStartTry = pInstructionsIter->GetFirst(); >+ while (pStartTry != pOriginalFirstMethodInst && pStartTry != NULL) >+ { >+ pStartTry = pInstructionsIter->GetNext(); >+ } >+ if (NULL == pStartTry) >+ { >+ LOG_INFORMATIVE("CGAdaptor", 0, false, >+ "Cannot find the first instruction of the method"); >+ return MRTE_ERROR_FAIL; >+ } >+ >+ // Since this is a constructor, it is expected to start with an invocation of the >+ // super-constructor, i.e., : >+ // aload_0 ; load 'this' to stack >+ // invokespecial <ctor> ; invoke super-constructor >+ // >+ // If this is not the case (may happen for generated or instrumented code) the >+ // constructor will not be instrumented >+ bool ok = false; >+ if (pStartTry->GetMnemonic() == MNM_ALOAD_0) >+ { >+ pStartTry = pInstructionsIter->GetNext(); >+ if (pStartTry->GetMnemonic() == MNM_INVOKESPECIAL) >+ { >+ // Assume this is the construction invocation >+ pStartTry = pInstructionsIter->GetNext(); >+ ok = true; >+ } >+ } >+ if (!ok) >+ { >+ LOG_INFORMATIVE("CGAdaptor", 0, false, >+ "Constructor method does not start with invocation of super-constructor. " >+ "Method will not be instrumented"); >+ return MRTE_ERROR_UNABLE_TO_INSTRUMENT; >+ } >+ >+ } >+ else >+ { >+ // Regular method. The protected block spans the entire (original) method code >+ pStartTry = pOriginalFirstMethodInst; >+ } > res = pMethod->BindTryFinallyBlock(pStartTry, pLastMethodInstruction, > pFirstInstInFinally, pLastInstInFinally); > >@@ -953,12 +1008,10 @@ TResult CCGAdaptor::AddAlreadyInvokedFie > return MRTE_RESULT_OK; > } > >-/* >-bool CCGAdaptor::IsConstructor(const SJavaMethodInfo &methodInfo) >+bool CCGAdaptor::IsConstructor(const char *szMethodName) > { > bool bIsCtor; >- char *szName = CWideStringUtils::WideStringToCString(methodInfo.methodName); >- if (strcmp(szName, JAVA_INSTANCE_CONSTRUCTOR_NAME) == 0) >+ if (strcmp(szMethodName, JAVA_INSTANCE_CONSTRUCTOR_NAME) == 0) > { > bIsCtor = true; > } >@@ -966,10 +1019,8 @@ bool CCGAdaptor::IsConstructor(const SJa > { > bIsCtor = false; > } >- delete szName; > return bIsCtor; > } >-*/ > > bool CCGAdaptor::IsProblematicMethod(const char *szClassName, > const char *szMethodName) >Index: src-native/src/Martini/Infrastructure/CGAdaptor/CGAdaptor.dsp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/CGAdaptor/CGAdaptor.dsp,v >retrieving revision 1.4 >diff -U3 -p -r1.4 CGAdaptor.dsp >--- src-native/src/Martini/Infrastructure/CGAdaptor/CGAdaptor.dsp 24 Oct 2006 14:34:22 -0000 1.4 >+++ src-native/src/Martini/Infrastructure/CGAdaptor/CGAdaptor.dsp 18 Apr 2008 03:28:17 -0000 >@@ -75,7 +75,7 @@ LINK32=link.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CGADAPTOR_EXPORTS" /YX /FD /GZ /c >-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "WIN32" /D "_DEBUG" /D "IA32_ARCH" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CGADAPTOR_EXPORTS" /D "MARTINI_JIE" /FR /YX /FD /GZ /c >+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "WIN32" /D "_DEBUG" /D "IA32_ARCH" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "CGADAPTOR_EXPORTS" /D "MARTINI_JIE" /FR /YX /FD /GZ /c > # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD BASE RSC /l 0x409 /d "_DEBUG" >Index: src-native/src/Martini/Infrastructure/Include/CGAdaptor.h >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/Include/CGAdaptor.h,v >retrieving revision 1.6 >diff -U3 -p -r1.6 CGAdaptor.h >--- src-native/src/Martini/Infrastructure/Include/CGAdaptor.h 20 Feb 2007 12:00:34 -0000 1.6 >+++ src-native/src/Martini/Infrastructure/Include/CGAdaptor.h 7 Apr 2008 01:36:47 -0000 >@@ -125,7 +125,8 @@ namespace Martini { namespace CGAdaptor > MIE::TVariableID isJVMInitVar, > JIE::TConstantPoolIndex cpiMethodId, > JIE::TConstantPoolIndex cpiLeaveCallback, >- bool bJVMInitDone); >+ bool bJVMInitDone, >+ bool bIsConstructor); > > // Adds a static private boolean field to the specified Java class > // which is used to determine whether a method was called for the first time >@@ -134,7 +135,7 @@ namespace Martini { namespace CGAdaptor > MPI::TId methodMPIId); > > bool IsProblematicMethod(const char *szClassName, const char *szMethodName); >- //bool IsConstructor(const JIE::SJavaMethodInfo &methodInfo); >+ bool IsConstructor(const char *szMethodName); > > }; // class CCGAdaptor > >Index: src-native/src/Martini/Infrastructure/Include/JPI.H >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/Include/JPI.H,v >retrieving revision 1.4 >diff -U3 -p -r1.4 JPI.H >--- src-native/src/Martini/Infrastructure/Include/JPI.H 4 Apr 2007 06:19:33 -0000 1.4 >+++ src-native/src/Martini/Infrastructure/Include/JPI.H 7 Apr 2008 01:36:47 -0000 >@@ -16,7 +16,7 @@ > > #include <iostream> > #include "OSA.h" >-#include "jvmpi.h" >+#include "jvmti.h" > #include "MPI.h" > > #ifdef JPI_EXPORTS >Index: src-native/src/Martini/Infrastructure/JIE/JIE.cpp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JIE/JIE.cpp,v >retrieving revision 1.3 >diff -U3 -p -r1.3 JIE.cpp >--- src-native/src/Martini/Infrastructure/JIE/JIE.cpp 16 Apr 2007 09:02:52 -0000 1.3 >+++ src-native/src/Martini/Infrastructure/JIE/JIE.cpp 7 Apr 2008 01:36:47 -0000 >@@ -13,12 +13,17 @@ > #pragma warning (disable:4786) > > #include "JIEImpl.h" >+#include "JIEUtils.h" > #include "JavaClass.h" > >+#include "LibraryLoader.h" >+#include "OSA.h" >+ > // first ids are reserved for threads in the prf resolution > #define JIE_FIRST_METHOD_ID 0x10000 > > using namespace Martini::JIE; >+using namespace Martini::OSA; > > extern "C" JIE_API IJIE *GetJIEInstance() > { >@@ -26,6 +31,7 @@ extern "C" JIE_API IJIE *GetJIEInstance( > return (IJIE*)&s_jie; > } > >+ > ////////////////////////////////////////////////////////////////////////// > // class CJIE implementation > >@@ -51,3 +57,39 @@ IJavaClass *CJIE::GetClassInterface(cons > } > return pClass; > } >+ >+void CJIE::EnableStackMapCalculation() const >+{ >+ TResult res = BindJpiFunctions(); >+ if (MRTE_SUCCEEDED(res)) >+ { >+ CJieGlobals::Instance()->isStackMapCalcEnabled = true; >+ } >+} >+ >+TResult CJIE::BindJpiFunctions() const >+{ >+ ILibraryLoader *pJpiLoader = LoadBistroLibrary("JPI"); >+ if (!pJpiLoader) >+ { >+ return MRTE_ERROR_FAIL; >+ } >+ >+ CJieGlobals::Instance()->pfnJPI_AttachCurrentThread = >+ (TJpiAttachCurrentThread)pJpiLoader->GetEntry("JPI_AttachCurrentThread"); >+ if (!CJieGlobals::Instance()->pfnJPI_AttachCurrentThread) >+ { >+ return MRTE_ERROR_FAIL; >+ } >+ >+ CJieGlobals::Instance()->pfnJPI_DetachCurrentThread = >+ (TJpiDetachCurrentThread)pJpiLoader->GetEntry("JPI_DetachCurrentThread"); >+ if (!CJieGlobals::Instance()->pfnJPI_DetachCurrentThread) >+ { >+ return MRTE_ERROR_FAIL; >+ } >+ >+ pJpiLoader->Destroy(); >+ >+ return MRTE_RESULT_OK; >+} >Index: src-native/src/Martini/Infrastructure/JIE/JIE.dsp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JIE/JIE.dsp,v >retrieving revision 1.2 >diff -U3 -p -r1.2 JIE.dsp >--- src-native/src/Martini/Infrastructure/JIE/JIE.dsp 14 Feb 2007 11:48:50 -0000 1.2 >+++ src-native/src/Martini/Infrastructure/JIE/JIE.dsp 18 Apr 2008 05:20:35 -0000 >@@ -49,7 +49,7 @@ RSC=rc.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "..\Include" /I "..\..\Include" /I "..\..\..\Include" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /FD /c >-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /D "NDEBUG" /D "IA32_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /FD /c >+# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "..\..\..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEngJ" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "NDEBUG" /D "IA32_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /D "STATIC_BUILD" /FD /c > # SUBTRACT CPP /Fr > # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 >@@ -60,7 +60,7 @@ BSC32=bscmake.exe > # ADD BSC32 /nologo > LINK32=link.exe > # ADD BASE LINK32 kernel32.lib /nologo /dll /machine:I386 >-# ADD LINK32 kernel32.lib MartiniOSA.lib /nologo /dll /debug /machine:I386 /libpath:"..\..\..\..\bin\windows\release\IA-32" >+# ADD LINK32 kernel32.lib MartiniOSA.lib verifier-ext.lib /nologo /dll /debug /machine:I386 /libpath:"..\..\..\..\bin\windows\release\IA-32" /libpath:"..\..\..\..\..\..\org.apache.harmony_vmcore_verifier\lib\win\IA-32" > # SUBTRACT LINK32 /incremental:yes > > !ELSEIF "$(CFG)" == "JIE - Win32 IA32 Debug" >@@ -79,7 +79,7 @@ LINK32=link.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\Include" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /FR /FD /GZ /c >-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /D "_DEBUG" /D "IA32_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /FR /FD /GZ /c >+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /I "..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEngJ" /I "..\..\..\..\..\..\org.apache.harmony_vmcore_verifier\include" /D "_DEBUG" /D "IA32_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /D "STATIC_BUILD" /FR /FD /LDd /GZ /c > # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD BASE RSC /l 0x409 /d "_DEBUG" >@@ -89,8 +89,8 @@ BSC32=bscmake.exe > # ADD BSC32 /nologo > LINK32=link.exe > # ADD BASE LINK32 kernel32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept >-# ADD LINK32 kernel32.lib MartiniOSA.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\bin\windows\debug\IA-32" >-# SUBTRACT LINK32 /incremental:no >+# ADD LINK32 kernel32.lib MartiniOSA.lib verifier-ext.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\bin\windows\debug\IA-32" /libpath:"..\..\..\..\..\..\org.apache.harmony_vmcore_verifier\lib\win\IA-32" >+# SUBTRACT LINK32 /incremental:no /nodefaultlib > > !ELSEIF "$(CFG)" == "JIE - Win32 EM64T Debug" > >@@ -108,7 +108,7 @@ LINK32=link.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\Include" /I "..\Include\win" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /FR /FD /GZ /c >-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /D "_DEBUG" /D "EM64T_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /FD /GZ /c >+# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I "..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEngJ" /I "..\..\..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "_DEBUG" /D "EM64T_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /D "STATIC_BUILD" /FD /GZ /c > # SUBTRACT CPP /Fr > # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 >@@ -119,7 +119,7 @@ BSC32=bscmake.exe > # ADD BSC32 /nologo > LINK32=link.exe > # ADD BASE LINK32 kernel32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\IA32Debug" >-# ADD LINK32 kernel32.lib MartiniOSA.lib /nologo /dll /incremental:no /debug /machine:I386 /libpath:"..\..\..\..\bin\windows\debug\EM64T" >+# ADD LINK32 kernel32.lib MartiniOSA.lib verifier-ext.lib /nologo /dll /incremental:no /debug /machine:I386 /include:"../../.../../" /libpath:"..\..\..\..\bin\windows\debug\EM64T" > # SUBTRACT LINK32 /pdb:none > > !ELSEIF "$(CFG)" == "JIE - Win32 EM64T Release" >@@ -138,7 +138,7 @@ LINK32=link.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "..\Include" /I "..\..\Include" /I "..\..\..\Include" /I "..\Include\win" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /FD /c >-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /D "NDEBUG" /D "EM64T_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /FD /c >+# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEngJ" /I "..\..\..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "NDEBUG" /D "EM64T_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /D "STATIC_BUILD" /FD /c > # SUBTRACT CPP /Fr > # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 >@@ -149,7 +149,7 @@ BSC32=bscmake.exe > # ADD BSC32 /nologo > LINK32=link.exe > # ADD BASE LINK32 kernel32.lib /nologo /dll /machine:I386 /libpath:"..\..\..\..\IA32Release" >-# ADD LINK32 kernel32.lib MartiniOSA.lib /nologo /dll /debug /machine:I386 /libpath:"..\..\..\..\bin\windows\release\EM64T" >+# ADD LINK32 kernel32.lib MartiniOSA.lib verifier-ext.lib /nologo /dll /debug /machine:I386 /include:"../../.../../" /libpath:"..\..\..\..\bin\windows\release\EM64T" > # SUBTRACT LINK32 /incremental:yes > > !ELSEIF "$(CFG)" == "JIE - Win32 IPF Release" >@@ -168,7 +168,7 @@ LINK32=link.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MT /W3 /GX /O2 /I "..\Include" /I "..\..\Include" /I "..\..\..\Include" /I "..\Include\win" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /FD /c >-# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /D "NDEBUG" /D "IPF_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /FD /c >+# ADD CPP /nologo /MT /W3 /GX /Zi /O2 /I "..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEngJ" /I "..\..\..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "NDEBUG" /D "IPF_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /D "STATIC_BUILD" /FD /c > # SUBTRACT CPP /Fr > # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 >@@ -179,7 +179,7 @@ BSC32=bscmake.exe > # ADD BSC32 /nologo > LINK32=link.exe > # ADD BASE LINK32 kernel32.lib /nologo /dll /machine:I386 /libpath:"..\..\..\..\IA32Release" >-# ADD LINK32 kernel32.lib MartiniOSA.lib /nologo /dll /debug /machine:I386 /libpath:"..\..\..\..\IA64Release" /libpath:"..\..\..\..\bin\windows\release\IPF" >+# ADD LINK32 kernel32.lib MartiniOSA.lib verifier-ext.lib /nologo /dll /debug /machine:I386 /include:"../../.../../" /libpath:"..\..\..\..\IA64Release" /libpath:"..\..\..\..\bin\windows\release\IPF" > # SUBTRACT LINK32 /pdb:none /incremental:yes > > !ELSEIF "$(CFG)" == "JIE - Win32 IPF Debug" >@@ -198,7 +198,7 @@ LINK32=link.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\Include" /I "..\Include\win" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /FR /FD /GZ /c >-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /D "_DEBUG" /D "IPF_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /FD /GZ /c >+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng" /I "..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\JClass" /I "..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEngJ" /I "..\..\..\..\..\..\org.apache.harmony_vmcore_verifier\include" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "_DEBUG" /D "IPF_ARCH" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JIE_EXPORTS" /D "MARTINI_JIE" /D "STATIC_BUILD" /FD /GZ /c > # SUBTRACT CPP /Fr > # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 >@@ -209,7 +209,7 @@ BSC32=bscmake.exe > # ADD BSC32 /nologo > LINK32=link.exe > # ADD BASE LINK32 kernel32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\IA32Debug" >-# ADD LINK32 kernel32.lib MartiniOSA.lib /nologo /dll /incremental:no /debug /machine:I386 /pdbtype:sept /libpath:"..\..\..\..\bin\windows\debug\IPF" >+# ADD LINK32 kernel32.lib MartiniOSA.lib verifier-ext.lib /nologo /dll /incremental:no /debug /machine:I386 /include:"../../.../../" /pdbtype:sept /libpath:"..\..\..\..\bin\windows\debug\IPF" > # SUBTRACT LINK32 /pdb:none > > !ENDIF >@@ -235,6 +235,10 @@ SOURCE=.\BciUtils.cpp > # End Source File > # Begin Source File > >+SOURCE="..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\BCIEng\BCIEngJ\class_interface.cpp" >+# End Source File >+# Begin Source File >+ > SOURCE="..\..\..\..\..\..\org.eclipse.hyades.probekit\src-native\BCI\Common\Command.cpp" > # End Source File > # Begin Source File >Index: src-native/src/Martini/Infrastructure/JIE/JIEImpl.h >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JIE/JIEImpl.h,v >retrieving revision 1.2 >diff -U3 -p -r1.2 JIEImpl.h >--- src-native/src/Martini/Infrastructure/JIE/JIEImpl.h 20 Feb 2007 12:00:32 -0000 1.2 >+++ src-native/src/Martini/Infrastructure/JIE/JIEImpl.h 7 Apr 2008 01:36:47 -0000 >@@ -27,6 +27,10 @@ namespace Martini { namespace JIE { > // IJIE methods > virtual IJavaClass *GetClassInterface(const unsigned char *pucClassFile, > unsigned int uiClassSize) const; >+ virtual void EnableStackMapCalculation() const; >+ >+ private: >+ TResult BindJpiFunctions() const; > > }; // class CJIE > >Index: src-native/src/Martini/Infrastructure/JIE/JIEUtils.cpp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JIE/JIEUtils.cpp,v >retrieving revision 1.3 >diff -U3 -p -r1.3 JIEUtils.cpp >--- src-native/src/Martini/Infrastructure/JIE/JIEUtils.cpp 20 Feb 2007 12:00:32 -0000 1.3 >+++ src-native/src/Martini/Infrastructure/JIE/JIEUtils.cpp 7 Apr 2008 01:36:47 -0000 >@@ -221,4 +221,7 @@ U16 CharToUtf8(U8 *pDest, unsigned int u > return ret; > } > >+////////////////////////////////////////////////////////////////////////// >+// CJieGlobals implementation > >+Martini::JIE::CJieGlobals* Martini::JIE::CJieGlobals::s_pInstance = NULL; >Index: src-native/src/Martini/Infrastructure/JIE/JIEUtils.h >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JIE/JIEUtils.h,v >retrieving revision 1.2 >diff -U3 -p -r1.2 JIEUtils.h >--- src-native/src/Martini/Infrastructure/JIE/JIEUtils.h 20 Feb 2007 12:00:32 -0000 1.2 >+++ src-native/src/Martini/Infrastructure/JIE/JIEUtils.h 7 Apr 2008 01:36:47 -0000 >@@ -20,6 +20,8 @@ > #include "MString.h" > #include "JavaHelpers.h" > >+#include "jni.h" >+ > /////////////////////////////////////////////////////////////////////////////// > // Global constants > >@@ -35,4 +37,38 @@ TResult Utf8ToChar(U8 *bytes, U16 length > U16 WCharToUtf8(U8 *pDest, unsigned int uiDesBufferSize, const WCHAR *pSource); > U16 CharToUtf8(U8 *pDest, unsigned int uiDesBufferSize, const char *pSource); > >+typedef TResult (*TJpiAttachCurrentThread) (JNIEnv **ppJNIEnv, bool *bAttached); >+typedef void (*TJpiDetachCurrentThread) (); >+ >+namespace Martini { namespace JIE { >+ >+ class CJieGlobals >+ { >+ public: >+ >+ static CJieGlobals* Instance() >+ { >+ if (0 == s_pInstance) >+ { >+ s_pInstance = new CJieGlobals(); >+ } >+ return s_pInstance; >+ } >+ >+ TJpiAttachCurrentThread pfnJPI_AttachCurrentThread; >+ TJpiDetachCurrentThread pfnJPI_DetachCurrentThread; >+ >+ bool isStackMapCalcEnabled; >+ >+ protected: >+ static CJieGlobals* s_pInstance; >+ >+ CJieGlobals(): >+ pfnJPI_AttachCurrentThread(0), pfnJPI_DetachCurrentThread(0), >+ isStackMapCalcEnabled(false) >+ {} >+ >+ }; >+}} // namespace Martini::JIE >+ > #endif // MRTE_JIEUTILS >Index: src-native/src/Martini/Infrastructure/JIE/JavaClass.cpp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JIE/JavaClass.cpp,v >retrieving revision 1.3 >diff -U3 -p -r1.3 JavaClass.cpp >--- src-native/src/Martini/Infrastructure/JIE/JavaClass.cpp 20 Feb 2007 12:00:32 -0000 1.3 >+++ src-native/src/Martini/Infrastructure/JIE/JavaClass.cpp 7 Apr 2008 01:36:47 -0000 >@@ -29,6 +29,7 @@ > #include "JStream.h" > #include "JMemStream.h" > #include "JVMInsSet.h" >+#include "class_inerface_int.h" > #include "MIEInstructionFactory.h" > #include "BciUtils.h" > >@@ -40,6 +41,28 @@ using namespace Martini::Infrastructure; > ////////////////////////////////////////////////////////////////////////// > // class CJavaClass implementation > >+static void* g_pJniEnv = NULL; >+ >+static void * >+get_vm_pointer(void **pJniEnv) >+{ >+ *pJniEnv = g_pJniEnv; >+ return g_pJniEnv; >+/* >+ bool attached = false; >+ TResult res = CJieGlobals::Instance()->pfnJPI_AttachCurrentThread( >+ (JNIEnv **)pJniEnv, &attached); >+ if (MRTE_SUCCEEDED(res)) >+ { >+ return *pJniEnv; >+ } >+ else >+ { >+ return NULL; >+ } >+*/ >+} >+ > // constructs a CJavaClass object > CJavaClass::CJavaClass(const unsigned char *pubClassFile, unsigned int uiClassSize) > : m_pStaticInitializer(NULL), m_bModuleParsed(false), m_bMethodListCreated(false), >@@ -50,6 +73,23 @@ CJavaClass::CJavaClass(const unsigned ch > //_CrtSetBreakAlloc(2189); > #endif > >+ if (CJieGlobals::Instance()->isStackMapCalcEnabled) >+ { >+ TResult res = CJieGlobals::Instance()->pfnJPI_AttachCurrentThread( >+ &m_pJniEnv, &m_isThreadAttached); >+ if (MRTE_SUCCEEDED(res)) >+ { >+ g_pJniEnv = m_pJniEnv; >+ initialize_dynamic(get_vm_pointer); >+ } >+ else >+ { >+ CJieGlobals::Instance()->isStackMapCalcEnabled = false; >+ m_isThreadAttached = false; >+ m_pJniEnv = NULL; >+ } >+ } >+ > CJMemStream memStream; // Memory stream > CJStream jsIn(&memStream); // Java input stream > // read class file >@@ -62,6 +102,7 @@ CJavaClass::CJavaClass(const unsigned ch > // is deleted. > m_pModule->Open(m_pClassBuilder, true); > m_pModule->SetAccessFlags(m_pClassBuilder->GetAccessFlags()); >+ m_pModule->UseStackMapCalculation(CJieGlobals::Instance()->isStackMapCalcEnabled); > } > > // destructor >@@ -100,6 +141,12 @@ void CJavaClass::Free() > // deallocate the instruction factory > CMIEInstructionFactory::Free(); > >+ // detach the current thread from the JVM (if needed) >+ if (CJieGlobals::Instance()->isStackMapCalcEnabled && m_isThreadAttached) >+ { >+ CJieGlobals::Instance()->pfnJPI_DetachCurrentThread(); >+ } >+ > // deallocate the JavaClass object > delete this; > } >Index: src-native/src/Martini/Infrastructure/JIE/JavaClass.h >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JIE/JavaClass.h,v >retrieving revision 1.3 >diff -U3 -p -r1.3 JavaClass.h >--- src-native/src/Martini/Infrastructure/JIE/JavaClass.h 20 Feb 2007 12:00:32 -0000 1.3 >+++ src-native/src/Martini/Infrastructure/JIE/JavaClass.h 7 Apr 2008 01:36:47 -0000 >@@ -20,6 +20,8 @@ > #include "JavaFields.h" > #include "ModuleJ.h" > >+#include "jni.h" >+ > namespace Martini { namespace JIE { > > class CJavaClass : public IJavaClass >@@ -108,6 +110,13 @@ namespace Martini { namespace JIE { > // create a new field > IJavaField* InternalAddField(u2 uiFlags, const char *szName, CJavaType fieldType); > >+ // JNI environment pointer for Java 6 StackMap calculation >+ JNIEnv* m_pJniEnv; >+ >+ // Whether the current thread was actively attached to the JVM during instantiation of >+ // this class >+ bool m_isThreadAttached; >+ > }; // class CJavaClass > > }} // namespace JIE >Index: src-native/src/Martini/Infrastructure/JPI/JPI.dsp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JPI/JPI.dsp,v >retrieving revision 1.7 >diff -U3 -p -r1.7 JPI.dsp >--- src-native/src/Martini/Infrastructure/JPI/JPI.dsp 20 Nov 2007 09:12:24 -0000 1.7 >+++ src-native/src/Martini/Infrastructure/JPI/JPI.dsp 18 Apr 2008 03:28:18 -0000 >@@ -80,7 +80,7 @@ LINK32=link.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\Include" /D "_DEBUG" /D "MPI_EXPORTS" /D "JPI_EXPORTS" /D "JVMPI" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /YX /FD /GZ /c >-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "DUMP_CLASS" /D "_DEBUG" /D "IA32_ARCH" /D "MPI_EXPORTS" /D "JPI_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /YX /FD /GZ /c >+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "DUMP_CLASS" /D "_DEBUG" /D "IA32_ARCH" /D "MPI_EXPORTS" /D "JPI_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /YX /FD /GZ /c > # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD BASE RSC /l 0x409 /d "_DEBUG" >Index: src-native/src/Martini/Infrastructure/JPIBootLoader/JPIBootLoader.dsp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/JPIBootLoader/JPIBootLoader.dsp,v >retrieving revision 1.2 >diff -U3 -p -r1.2 JPIBootLoader.dsp >--- src-native/src/Martini/Infrastructure/JPIBootLoader/JPIBootLoader.dsp 15 May 2006 13:50:36 -0000 1.2 >+++ src-native/src/Martini/Infrastructure/JPIBootLoader/JPIBootLoader.dsp 18 Apr 2008 03:28:18 -0000 >@@ -80,7 +80,7 @@ LINK32=link.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\..\Include" /D "_DEBUG" /D "JPIBOOTLOADER_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "JVMPI" /FR /YX /FD /GZ /c >-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "_DEBUG" /D "IA32_ARCH" /D "JPIBOOTLOADER_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /YX /FD /GZ /c >+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\Include" /I "..\..\Include" /I "..\..\..\..\include\Martini" /I "$(JAVA_HOME)\include" /I "$(JAVA_HOME)\include\win32" /D "_DEBUG" /D "IA32_ARCH" /D "JPIBOOTLOADER_EXPORTS" /D "WIN32" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /FR /YX /FD /GZ /c > # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD BASE RSC /l 0x409 /d "_DEBUG" >Index: src-native/src/Martini/Infrastructure/LibraryLoader/LibraryLoader.dsp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/LibraryLoader/LibraryLoader.dsp,v >retrieving revision 1.1 >diff -U3 -p -r1.1 LibraryLoader.dsp >--- src-native/src/Martini/Infrastructure/LibraryLoader/LibraryLoader.dsp 1 May 2006 09:53:29 -0000 1.1 >+++ src-native/src/Martini/Infrastructure/LibraryLoader/LibraryLoader.dsp 18 Apr 2008 03:28:18 -0000 >@@ -69,7 +69,7 @@ LIB32=link.exe -lib > # PROP Intermediate_Dir "debug\IA-32" > # PROP Target_Dir "" > # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\InstrumentorEngine" /I "..\..\Include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c >-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\include\Martini" /I "..\..\Include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "IA32_ARCH" /YX /FD /GZ /c >+# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\..\include\Martini" /I "..\..\Include" /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /D "IA32_ARCH" /YX /FD /GZ /c > # ADD BASE RSC /l 0x409 /d "_DEBUG" > # ADD RSC /l 0x409 /d "_DEBUG" > BSC32=bscmake.exe >Index: src-native/src/Martini/Infrastructure/OSA/Windows/MartiniOSA.dsp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/OSA/Windows/MartiniOSA.dsp,v >retrieving revision 1.1 >diff -U3 -p -r1.1 MartiniOSA.dsp >--- src-native/src/Martini/Infrastructure/OSA/Windows/MartiniOSA.dsp 1 May 2006 09:53:30 -0000 1.1 >+++ src-native/src/Martini/Infrastructure/OSA/Windows/MartiniOSA.dsp 18 Apr 2008 03:28:18 -0000 >@@ -48,8 +48,7 @@ RSC=rc.exe > # PROP Target_Dir "" > F90=df.exe > # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I ".\Common" /I ".\Win32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "OSABSTRACTION_EXPORTS" /YX /FD /GZ /c >-# ADD CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /I ".\IA32" /I ".\Common" /I "..\..\..\Include" /I "..\..\..\..\..\include\Martini" /D "_DEBUG" /D "IA32_ARCH" /D "_WINDOWS" /D "_USRDLL" /D "MARTINIOSA_EXPORTS" /D "WIN32" /D "_MBCS" /YX /FD /GZ /c >-# SUBTRACT CPP /X /Fr >+# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I ".\IA32" /I ".\Common" /I "..\..\..\Include" /I "..\..\..\..\..\include\Martini" /D "_DEBUG" /D "IA32_ARCH" /D "_WINDOWS" /D "_USRDLL" /D "MARTINIOSA_EXPORTS" /D "WIN32" /D "_MBCS" /YX /FD /GZ /c > # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 > # ADD BASE RSC /l 0x409 /d "_DEBUG" >Index: src-native/src/Martini/Infrastructure/common/InstrumentationAdaptorBase.cpp >=================================================================== >RCS file: /cvsroot/tptp/platform/org.eclipse.tptp.platform.jvmti.runtime/src-native/src/Martini/Infrastructure/common/InstrumentationAdaptorBase.cpp,v >retrieving revision 1.3 >diff -U3 -p -r1.3 InstrumentationAdaptorBase.cpp >--- src-native/src/Martini/Infrastructure/common/InstrumentationAdaptorBase.cpp 20 Feb 2007 12:00:34 -0000 1.3 >+++ src-native/src/Martini/Infrastructure/common/InstrumentationAdaptorBase.cpp 7 Apr 2008 01:36:47 -0000 >@@ -65,11 +65,13 @@ TResult CInstrumentationAdaptorBase::Ini > { > return MRTE_ERROR_FAIL; > } >+ > return MRTE_RESULT_OK; > } > > void CInstrumentationAdaptorBase::JvmInitDone() > { >+ m_pJIE->EnableStackMapCalculation(); > m_bJVMInitDone = true; > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 148629
:
88758
|
96544
|
96545
|
96546
|
96547
|
96548
|
96761
|
96986
|
97124
|
97125
|
97938
|
98002
|
98071
|
98143
|
98144
|
98393
|
98824
|
98844
|
98845
|
98935
|
99809
|
103085