Thread: [Aegisvm-devel] Introducing a JFile structure for JPR
Status: Pre-Alpha
Brought to you by:
pwlfong
From: Gildas B. <gb...@al...> - 2002-09-21 17:30:56
Attachments:
aegisvm_jfile.diff
jpr_jfile.diff
|
Hi Philip, I've got a few more patches to propose you :) Recently I've been working on a Win32 port of AegisVM. In the process, I had to make one change to the API of JPR which does break compatibility with older versions. I introduced a new JFile structure: struct JFile { void *data; /* pointer to the mmap area */ size_t size; /* size of mmap data */ #ifdef WIN32 HANDLE hmmap; /* handle of file mapping object */ HANDLE hfile; /* handle of file */ #endif }; This change is needed on Win32 because we need to know "hmmap", "hfile" and "data" when freeing a mmapped file. I think hidding the platform specific details in a structure like this does make aegisvm more platform independant. So here is the patch for JPR and AegisVM. The patch for JPR also includes some Win32 specific bits which touched the io.[hc] files, but I'll send you the rest of the win32 port in a separate patch. Regards, -- Gildas |
From: Philip F. <pw...@us...> - 2002-09-26 20:43:41
|
Hi Gildas, On Sat, 21 Sep 2002, Gildas Bazin wrote: > I've got a few more patches to propose you :) Thanks for contributing again. I just got back from a vacation. Will look at your patches asap. > Recently I've been working on a Win32 port of AegisVM. In the process, I had > to make one change to the API of JPR which does break compatibility with > older versions. This is great. Don't feel bad about breaking the JPR API. I do that all the time. :-) I don't think the JPR API will be stable until we get AegisVM and the coming Prelude package are more mature. > I introduced a new JFile structure: > struct JFile { > void *data; /* pointer to the mmap area */ > size_t size; /* size of mmap data */ > #ifdef WIN32 > HANDLE hmmap; /* handle of file mapping object */ > HANDLE hfile; /* handle of file */ > #endif > }; > > This change is needed on Win32 because we need to know "hmmap", "hfile" and > "data" when freeing a mmapped file. Perfect. > I think hidding the platform specific details in a structure like this does > make aegisvm more platform independant. You are right. > So here is the patch for JPR and AegisVM. The patch for JPR also includes > some Win32 specific bits which touched the io.[hc] files, but I'll send you > the rest of the win32 port in a separate patch. I'll look at the other patches asap. Thanks for your effort. BTW, how do you get GNU Classpath running on win32? Have they already ported it to win32, or did you do it single-handedly? If you did it yourself, it must have been a lot of work! Philip -- Philip W. L. Fong pw...@us... The Aegis VM Project http://aegisvm.sourceforge.net The Aegis VM Project is an on-going effort to implement a lightweight, secure JVM. It will eventually feature a modular architecture, Proof Linking, that supports pluggable verification modules. |
From: Gildas B. <gb...@al...> - 2002-09-26 21:49:22
|
On Thursday 26 September 2002 22:43, Philip Fong wrote: > > Thanks for contributing again. I just got back from a vacation. Ah, lucky you ;) > Will look at your patches asap. > Ok, thanks. > > BTW, how do you get GNU Classpath running on win32? Have they already > ported it to win32, or did you do it single-handedly? If you did it > yourself, it must have been a lot of work! > Well, actually it could have been worse because I made use of ansi functions provided by Microsoft's standard C runtime library (MSVCRT.DLL). That means that I basically had to port only the bits that are not ansi conformant. But not everything is tested, for instance the network stuff isn't so it may not work at all. Cheers, -- Gildas |
From: Philip F. <pw...@us...> - 2002-09-28 05:49:16
|
Hi Gildas, Just committed your patch to the cvs repository, with the following log entry: A new JFile abstraction, contributed by Gildas Bazin (gb...@al...), that supports file mapping on win32 platforms. I also update the doxygen documentation accordingly. Philip -- Philip W. L. Fong pw...@us... The Aegis VM Project http://aegisvm.sourceforge.net The Aegis VM Project is an on-going effort to implement a lightweight, secure JVM. It will eventually feature a modular architecture, Proof Linking, that supports pluggable verification modules. |