[652] in java-interest

home help back first fref pref prev next nref lref last post

native methods question: bodyof() and execute_method

daemon@ATHENA.MIT.EDU (Ian Smith)
Tue Jul 11 21:32:11 1995

From: Ian Smith <iansmith@parc.xerox.com>
To: java-interest@java.sun.com
Reply-To: Ian Smith <iansmith@parc.xerox.com>
Date: Tue, 11 Jul 1995 16:54:44 PDT

I guess I'm missing something but I can't seem to find any discussion
of my problems in the mail archives so here goes...

If one looks at :

doc:///doc/rpi/rpi_13.html#HEADING21

One sees references to some C functions and macros...In particular I'm
interested in : execute_method() and bodyof(). (bodyof() is supposed
to be a macro.) I can't seem to find these at run-time link (I get a
'relocation error:symbol not found') which I supposed is because java
is using RTLD_LAZY . Does anyone have any clues?

I did an nm on the binary of hotjava and found neither but did find
what appear to be some relatives of execute_method():

<SOMEMACHINE>:<SOMEDIR>/ (107) >nm java | grep execute
[666]	|    125096|      68|FUNC |GLOB |0    |8      |execute_java_static_method
[670]	|    125400|      60|FUNC |GLOB |0    |8      |do_execute_java_method
[730]	|    125584|    1592|FUNC |GLOB |0    |8      |do_execute_java_method_vararg
[766]	|    192296|     104|FUNC |GLOB |0    |8      |execute_finalizer
[1000]	|    125184|     196|FUNC |GLOB |0    |8      |execute_java_constructor
[1053]	|    125008|      68|FUNC |GLOB |0    |8      |execute_java_dynamic_method

Further, these are the names that appear in the .h files
(include/interpreter.h), so I assumed the interfaces had changed and
the doc had not been updated. However, the call interface to
execute_java_dynamic_method() is different from execute_method... should
this worry me? I did figure out that it eppars you just separate out 
the signature and the method to get execute_java_dynamic_method() to
work a little bit...

Now, as for bodyof() this sybmol is not in the binary, but I expected
this since the documentation indicated that this was a macro. I was
unable to find any references to it in the include directory or its
subdirs. This makes me wonder what I should use to get at an array
from C? Further, in looking at the demo Makefile it appears to want to
reference a directory caled "CClassHeaders" but I was unable to locate
this in either of the 2 java installations I had access to. I also
looked around some in the include files for the source distribution,
and also was unable to locate this directory...

Has anyone else discovered/fixed these problems?

thanks a lot,

ian



------------------------------------------------------------------------------
3:5  : Ratio of the number of people under 30 who believe they will get social 
       security to the number of people under 30 who believe in UFOs. 
                                                -from the Harper's Index
Ian Smith, PARC Intern=iansmith@parc.xerox.com, Normal=iansmith@cc.gatech.edu

-
Note to Sun employees: this is an EXTERNAL mailing list!
Info: send 'help' to java-interest-request@java.sun.com

home help back first fref pref prev next nref lref last post