Geir Magnusson Jr wrote: > > Tim Ellison 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)"? 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 think the second style is more readable, so would advocate using that. >> >> As you say, the readable macros are set up using the PORT_ACCESS_FROM_* >> directives, so that you can use them if you are passed different types. >> >> PORT_ACCESS_FROM_ENV(JNIEnv) - you have a JNIEnv struct ptr >> PORT_ACCESS_FROM_JAVAVM(JavaVM) - you have a JavaVM struct ptr >> PORT_ACCESS_FROM_PORT(portlib) - you have a portlib ptr > > Except... > > 1) They aren't as Jimmy suggests, at least the one's I'm looking at. > > 2) the implementation in hymem.c just calls malloc() > > I'm confused.
Hopefully you are no longer confused after Oliver's explanation. Regards, Tim -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK. --------------------------------------------------------------------- Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]