Re: [DOTNET-ROTOR] gc heap structure for rotor

2002-12-19 Thread Barry Bond
no rights. -Original Message- From: Archana Ravindar [mailto:[EMAIL PROTECTED]] Sent: Wednesday, December 18, 2002 10:13 PM To: [EMAIL PROTECTED] Subject: Re: [DOTNET-ROTOR] gc heap structure for rotor Barry Bond wrote: For example, take a look at GCHeap::IsHeapPointer() in sscli/src

Re: [DOTNET-ROTOR] implementation of pinning objects

2003-01-22 Thread Barry Bond
Pinned objects fall into two categories. First, all arguments passed via P/Invoke (also called NDirect) are implicitly pinned. Second, objects can be explicitly allocated as pinned via the managed System.Runtime.InteropServices.GCHandle.Alloc(Object, GCHandleType) method, which adds entries to

Re: [DOTNET-ROTOR] using the go_through_object macro

2003-06-27 Thread Barry Bond
The cgcDesc and gcdDescSeries classes are wrappers laid on top of an object's MethodTable to simplify access. The MethodTable is laid out in class.cpp's EEClass::BuildMethodTable(). For most objects, EEClass::PlaceInstanceFields() lays out the object's fields, and is responsible for creating the

Re: [DOTNET-ROTOR] Accessing the class in different source folder

2003-07-01 Thread Barry Bond
The fjit directory builds mscorejt.dll, while clr\src\vm builds cee_wks.lib, which is consumed by clr\src\dlls\mscoree to build sscoree.dll. On Windows, each DLL has its own private namespace for types and functions, with .def files controlling what names are made available to other DLLs. In

Re: [DOTNET-ROTOR] How redirect LOG macro to Debugger

2003-07-01 Thread Barry Bond
Take a look at sscli/docs/techinfo/logging.html - if you set COMPLUS_LogToDebugger=1 in your environment, the Execution Engine will route its debug messages to OutputDebugString. The PALs use a different logging mechanism, but the Win32 PAL can also log via OutputDebugString. Barry This posting

Re: [DOTNET-ROTOR] Build problem (again)

2003-08-20 Thread Barry Bond
Can you check two things? 1) Check that your new machine has a working Perl installation: the SSCLI build process depends on it. 2) Open c:\users\yuan\proj\rotor\sscli\clr\builddf.log and search for assemblyattributes.cspp. Hopefully, there will be an error message nearby that will help

Re: [DOTNET-ROTOR] Build problem (again)

2003-08-21 Thread Barry Bond
: Discussion of the Rotor Shared Source CLI implementation [mailto:[EMAIL PROTECTED] On Behalf Of Barry Bond Sent: Wednesday, August 20, 2003 2:19 PM To: [EMAIL PROTECTED] Subject: Re: [DOTNET-ROTOR] Build problem (again) Can you check two things? 1) Check that your new machine has a working Perl

Re: [DOTNET-ROTOR] Another Rotor build problem.

2003-08-22 Thread Barry Bond
Files under clr\src shouldn't be including the Visual Studio version of stdlib.h: the SSCLI tree provides its own version, in palrt\inc. Can you confirm that E:\taanders\ROTORP\palrt\inc\stdlib.h exists and is 696 bytes long? Also, please check that you don't have an INCLUDE environment

Re: [DOTNET-ROTOR] Sockets within Execution Engine

2003-10-14 Thread Barry Bond
Have you confirmed that the server_addr you created looks correct under the debugger? The typecast *(struct in_addr*)hp-h_addr looks suspicous to me. If you look at other callers of connect() in the SSCLI, you'll see code like this: /* prepare the sockaddr_in structure */

Re: [DOTNET-ROTOR] Method Entry/Return

2003-11-26 Thread Barry Bond
Take a look at the profiler, in sscli\samples\utilities\dnproprofiler. There is a dnprofiler.html that describes a bit about the profiler interface. You should be able to use the JITCOmpilationStarted() callback to instrument each method's IL as it is jitted. Barry This posting is provided AS IS

Re: [DOTNET-ROTOR] Embedding rotor w/ Platform COM?

2003-11-26 Thread Barry Bond
You could host Rotor in-process inside a native app using the same mechanism that clix.exe uses: call Win32 LoadLibrary() on mscoree.dll, then GetProcAddress for _CorExeMain2 and call it. You *might* need to first call LoadLibrary() on rotor_pal.dll and call its PAL_Initialize() before loading

Re: [DOTNET-ROTOR] [Dotnet-sscli] Stackwalk from C#

2003-11-29 Thread Barry Bond
Have you looked at System.Diagnostics.StackFrame? Sources are in clr\src\bcl\system\diagnostics\stacktrace.cs. This code uses an ECALL in stackframe.cs to call native DebugStackTrace::GetStackFramesInternal(), implemented in clr\src\vm\debugdebugger.cpp. It in turn calls StackWalkFrames().

Re: [DOTNET-ROTOR] Finding MethodTables

2003-12-11 Thread Barry Bond
The current garbage collector frequently accesses the MethodTables of all object in the heap. Can you re-use some of that code? ie. clr/src/vm/gcsmp.cpp's Object::GetMethodTable() returns a MethodTable* from an object. Alternatively, you could store newly-allocated MethodTable objects in a

Re: [DOTNET-ROTOR] About GcScanRoots

2003-12-14 Thread Barry Bond
GcScanRoots and GcScanHandles don't push object pointers onto the mark stack: they directly mark the objects as live, and for each live object, push pointers to objects referenced from that first level onto the mark stack. See GCHeap::Promote() for details: it is called from

Re: [DOTNET-ROTOR] Rotor root set enumeration question.

2003-12-30 Thread Barry Bond
clr/src/vm/appdomain.cpp pre-allocates some exceptions in SystemDomain::CreatePreallocatedExceptions() by calling CreateHandle() then StoreObjectInHandle(). They boil down into calls to clr/src/vm/objecthandle.cpp. The GC calls objecthandle.cpp's Ref_TraceNormalRoots() from within

Re: [DOTNET-ROTOR] build error after making changes

2004-01-11 Thread Barry Bond
'2' is File not found error. Try this: cd sscli/clr/src/ilasm build This should print a useful error message. If it doesn't, open builddf.log in the current directory: it contains the output from all of the tools used during the build. From the list of things that failed, my

Re: [DOTNET-ROTOR] build error after making changes

2004-01-12 Thread Barry Bond
Jan 2004, Barry Bond wrote: '2' is File not found error. Try this: cd sscli/clr/src/ilasm build This should print a useful error message. If it doesn't, open builddf.log in the current directory: it contains the output from all of the tools used during the build. From

Re: [DOTNET-ROTOR] C# compiler debugging

2004-02-12 Thread Barry Bond
It's just a native-code app, so it can be debugged with Visual Studio without needing to do any work ahead of time. From inside your Rotor build window, run devenv.exe /debugexe %TARGETCOMPLUS%\csc.exe foo.cs . That will launch Visual Studio and tell it to debug the C# compiler as it compiles

Re: [DOTNET-ROTOR] FW: Using Visusal Studio to build Rotor

2004-05-28 Thread Barry Bond
You can use VS.NET's IDE to debug the native code parts of the SSCLI. The document file://c:/sscli/docs/debugging/debugging_overview.html#DebuggingUnmanage dSSCLICodeonWindows explains how to do it. It isn't practical to build the SSCLI from within VS.NET: the SSCLI build process is very complex

Re: [DOTNET-ROTOR] Accessing the class in different source folder

2004-06-21 Thread Barry Bond
] Accessing the class in different source folder Date: Sun, 6 Jul 2003 09:50:55 -0700 From: Barry Bond [EMAIL PROTECTED] Reply-To: Discussion of the Rotor Shared Source CLI implementation === This list is hosted by DevelopMentor(r) http://www.develop.com ASP.NET

Re: [DOTNET-ROTOR] Accessing the class in different source folder

2004-06-21 Thread Barry Bond
, On Mon, 21 Jun 2004, Barry Bond wrote: A good example to follow is ildbsymbols.dll, in clr\src\tools\ildbsymbols. 1. ildbsymbols has an ildbsymbols.def file that was manually authored and is included in the tarball. The sources file in clr\src\tools\ildbsymbols references it via DLLDEF

Re: [DOTNET-ROTOR] GetThread() function

2004-06-22 Thread Barry Bond
What platform are you running on? FreeBSD? Barry -Original Message- From: Discussion of the Rotor Shared Source CLI implementation [mailto:[EMAIL PROTECTED] On Behalf Of Archana Sent: Tuesday, June 22, 2004 7:58 AM To: [EMAIL PROTECTED] Subject: [DOTNET-ROTOR] GetThread() function Hi,

Re: [DOTNET-ROTOR] Debugging (SOS)

2004-06-25 Thread Barry Bond
Things are working fine for you... the messages from the debugger just aren't clear. ERROR: Symbol file could not be found. Defaulted to export symbols for ntdll.dll tells you that the debugger cannot find symbols for ntdll.dll. That's OK... they're not needed to debug Rotor. *** WARNING:

Re: [DOTNET-ROTOR] buildall.cmd fails on PAL

2004-06-30 Thread Barry Bond
The PAL builds with /W3 /WX but you're seeing a level 4 warning, which is interesting. From your Rotor build window, can you run cl with no arguments and send back the version number from its banner? Mine reports 13.10.3077. Could you also send along sscli\pal\win32\build*.log? There might be

Re: [DOTNET-ROTOR] tracking the source of an alloc

2004-07-07 Thread Barry Bond
(ref:help needed wrt debugging, Jul24,2003, that Barry Bond helped me with). i tried the method that was suggested. but i am not able to locate the prolog here. and i dont know if i can use SOS in the Free BSD platform? i am running the application through gdb (Free BSD) and doing a backtrace

Re: [DOTNET-ROTOR] purpose of MAXALLOC?

2004-07-12 Thread Barry Bond
MAXALLOC is defined only in debug builds (checked and fastchecked), not in retail (free). The comment in utilcode.h is relevant: 00222 #ifdef MAXALLOC 00223 // these defs allow testers to specify max number of requests for an allocation before 00224 // returning outofmemory 00225 void *

Re: [DOTNET-ROTOR] DomainLocalBlock?

2004-07-12 Thread Barry Bond
A DomainLocalBlock is a collection of per-appdomain data - Assembly::Init() in clr\src\vm\assembly.cpp refers to it as DLS - Domain Local Storage. Kind of like Windows Thread Local Storage (TLS), but per-appdomain. All of its methods deal with module names and indices into a per-appdomain list

Re: [DOTNET-ROTOR] Method Entry/Exit Hooks

2004-09-17 Thread Barry Bond
Does your logging code also hook tailcalls? Search clr\src\fjit\fjit.cpp for CORINFO_HELP_PROF_FCN_TAILCALL I'm not sure if there are any tailcalls in a simple helloworld. Barry -Original Message- From: Discussion of the Rotor Shared Source CLI implementation [mailto:[EMAIL PROTECTED]

Re: [DOTNET-ROTOR] Newbie question on compiling the CLR

2004-10-04 Thread Barry Bond
1. Here are steps for rebuilding after making a change to clr\src\vm... cd \sscli\clr\src\vm build -z- rebuilds the VM directory without computing dependency information cd ..\dlls\mscoree build -z- rebuilds

Re: [DOTNET-ROTOR] Remoting Message - Help

2005-01-10 Thread Barry Bond
The code that displays the text is in fx\src\net\system\net\_connection.cs - search for Dump(). It looks like it might be called as part the GlobalLog.DebugAddRequest call in _connection.cs's SubmitRequest method. All of the code is tagged with [System.Diagnostics.Conditional(DEBUG)], so it is

Re: [DOTNET-ROTOR] _DEBUG

2005-01-16 Thread Barry Bond
Just launch env.bat with no arguments, and it will create a checked build window, which defines _DEBUG and several other macros. env.bat free creates a build window with debugging macros off. Barry -Original Message- From: Discussion of the Rotor Shared Source CLI implementation