Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] SWT on 64-bit platforms

There are just too many places to go wrong with a strategy like this.

On Windows, you get called back with 64-bit WM_ parameters that need to be
mapped to 32-bits before calling into Java.  It means you need C code that
knows about every WM_ so it knows which ones to map (some WM_'s pass
addresses, some don't).  Allocation has to stack.  You can get called back
from inside a callback and the same address gets passed so that only the
last callback could free the 32-bit address from the table.

If you want to interface with any 3rd party code, they will be using 64-bit
pointers, we will be mapping pointers to the mapping table will have to be
API.

I think we can safely throw away this idea instead of wasting more time
exploring all the bad possibilities ... it's just a mess.

Steve



                                                                                                                                           
                      Tom Tromey                                                                                                           
                      <tromey@xxxxxxxxxx>             To:      "Steve Northover" <Steve_Northover@xxxxxxx>                                 
                      Sent by:                        cc:      platform-swt-dev@xxxxxxxxxxx                                                
                      platform-swt-dev-admin@         Subject: Re: [platform-swt-dev] SWT on 64-bit platforms                              
                      eclipse.org                                                                                                          
                                                                                                                                           
                                                                                                                                           
                      09/12/02 02:16 PM                                                                                                    
                      Please respond to                                                                                                    
                      platform-swt-dev                                                                                                     
                                                                                                                                           
                                                                                                                                           



>>>>> "Steve" == Steve Northover <Steve_Northover@xxxxxxx> writes:

Steve> Pointer math also produces addresses that can't be collected.

I still don't understand.

I don't see when such memory can ever be collected in the java sense.
It seems to me that it must always be explicitly freed according to
the usual C rules.  So if one of these `int' handles represents
C-style memory, then you have to pass in the original value in order
to free the memory.

Mapping int->pointer is a problem in the presence of pointer
arithmetic.  But this could be addressed by putting object size
information into the lookaside table.

Tom
_______________________________________________
platform-swt-dev mailing list
platform-swt-dev@xxxxxxxxxxx
http://dev.eclipse.org/mailman/listinfo/platform-swt-dev






Back to the top