Geir Magnusson Jr wrote:
Jimmy, Jing Lv wrote:
Geir Magnusson Jr wrote:
Why would I use
portLib->mem_allocate_memory(portLib....)
over just calling
hymem_allocate_memory(portlib, ....)
Hi Geir:
Not sure if the later is "hymem_allocate_memory(int size)"?
Well, the one I'm looking at is
hymem.c
void *VMCALL
hymem_allocate_memory (struct HyPortLibrary *portLibrary,
UDATA byteAmount)
If so,
they are the same indeed, and the later is the a macro. Everytime before
we use the macro, call "PORT_ACCESS_FROM_ENV (env)"
e.g.:
somemethod(JNIEnv * env, ...){
PORT_ACCESS_FROM_ENV (env);
...
hymem_allocate_memory(sizeof(something));
...
}
And they are defined in hyport.h. :)
I've heard this rumor before, but I don't ever see how.
PORT_ACCESS_FROM_* is a simple little macro that just returns *portLib.
yeah, that's right - the PORT_ACCESS_FROM_* macro (defined
in hyport.h) sets the pointer privatePortLibrary to address the relevant
port library.
Also defined in hyport.h is hymem_allocate_memory(param1) (the single param
function Jimmy was talking about) which is a macro defined to be:
privatePortLibrary->mem_allocate_memory(privatePortLibrary, param1).
So the call to PORT_ACCESS_FROM_* sets up a port library pointer, and the
macro versions of the hymem calls automatically add it in as the first
parameter
to the relevant function call.
Regards,
Oliver
geir
geir
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
--
Oliver Deakin
IBM United Kingdom Limited
---------------------------------------------------------------------
Terms of use : http://incubator.apache.org/harmony/mailing.html
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]