|
View:
New views
9 Messages
—
Rating Filter:
Alert me
|
|
|
Why cannot I call method "VM.sysWriteln" in entrypoint methodWhen I try to call "VM.sysWriteln" to do some profiling in entrypoint method, e.g. Entrypoints.aastoreMethod. RVM always give me Jikes_RBoot_Exception, or even crash the GNU library.
Why does this happen? And how shall I profile in a enterpoint method? Thanks. Du Li |
|
|
Re: [rvm-research] Why cannot I call method "VM.sysWriteln" in entrypoint method From my understanding, this should work. Can you show us the code
you're using? I.e. can you show us your call to sysWriteln? -Filip On Oct 16, 2009, at 23:51 , Colin(Du Li) wrote: > > When I try to call "VM.sysWriteln" to do some profiling in > entrypoint method, > e.g. Entrypoints.aastoreMethod. RVM always give me > Jikes_RBoot_Exception, or > even crash the GNU library. > Why does this happen? > And how shall I profile in a enterpoint method? > > Thanks. > > Du Li > -- > View this message in context: http://www.nabble.com/Why-cannot-I-call-method-%22VM.sysWriteln%22-in-entrypoint-method-tp25935200p25935200.html > Sent from the jikesrvm-researchers mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Jikesrvm-researchers mailing list > Jikesrvm-researchers@... > https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Jikesrvm-researchers mailing list Jikesrvm-researchers@... https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers |
|
|
Re: [rvm-research] Why cannot I call method "VM.sysWriteln" in entrypoint methodColin(Du Li) wrote:
> When I try to call "VM.sysWriteln" to do some profiling in entrypoint method, > e.g. Entrypoints.aastoreMethod. RVM always give me Jikes_RBoot_Exception, or > even crash the GNU library. > Why does this happen? > And how shall I profile in a enterpoint method? Just a thought, but could the expressions you're using in the sysWriteln call possibly require allocation? You can't do allocation early in the boot sequence. Using the + operator on strings, etc., can do this. Someone else might be able to enumerate the restriction more precisely. I think it should work with simple constant strings, though ... Eliot Moss ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Jikesrvm-researchers mailing list Jikesrvm-researchers@... https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers |
|
|
Re: [rvm-research] Why cannot I call method "VM.sysWriteln" in entrypoint methodSorry, I should have explained my question more clearly.
I added the profiling codes to "compile" method in JNICompiler.java as follows: public static synchronized CompiledMethod compile(NativeMethod method) { JNICompiledMethod cm = (JNICompiledMethod)CompiledMethods.createCompiledMethod(method, CompiledMethod.JNI); ArchitectureSpecific.Assembler asm = new ArchitectureSpecific.Assembler(100 /*, true*/); // some size for the instruction array //added by me asm.emitCALL_Abs(Magic.getTocPointer().plus(Entrypoints.testMethod.getOffset())); ....... The profiling method is very simple like: @Entrypoint public static final void test(){ VM.sysWriteln("Tested !!!"); } But RVM give me the following error message: JikesRVM: TROUBLE. Got a signal (Segmentation fault; #11) from outside the VM's address space in thread 0xb7f066d0. JikesRVM: UNRECOVERABLE trapped signal 11 (Segmentation fault) handler stack 0x1 si->si_addr 0x1 cs 0x00000073 ds 0x0000007b es 0x0000007b fs 0x00000000 gs 0x00000033 ss 0x0000007b edi 0xa4c809f8 esi -- PR/VP 0x62130dcc ebp 0x621499e4 esp -- SP 0x621499c8 ebx 0x001146c8 edx 0x62128d04 ecx 0x00000003 eax 0x00112c20 eip 0x00000001 trapno 0x0000000e err 0x00000004 eflags 0x00010202 fpregs 0x9a49de0 oldmask 0x00020000 cr2 0x00000001 fp0 0x00000000000000000000 fp1 0x00000000000000000000 fp2 0x00000000000000000000 fp3 0x00000000000000000000 fp4 0x00000000000000000000 fp5 0x00000000000000000000 fp6 0x00000000000000000000 fp7 0x0000000000009efc4010 JikesRVM: internal error -- Stack -- at [0x62149a6c, 0x652223f2] Lorg/jikesrvm/runtime/DynamicLibrary; callOnLoad()V at line 145 at [0x62149a6c, 0x652223f2] Lorg/jikesrvm/runtime/DynamicLibrary; <init>(Ljava/lang/String;)V at line 96 at [0x62149ab8, 0x648754c3] Lorg/jikesrvm/runtime/DynamicLibrary; load(Ljava/lang/String;)I at line 223 at [0x62149b10, 0x653008fd] Ljava/lang/VMRuntime; nativeLoad(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 87 at [0x62149b10, 0x653008fd] Ljava/lang/Runtime; loadLib(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 698 at [0x62149b10, 0x653008fd] Ljava/lang/Runtime; loadLibrary(Ljava/lang/String;Ljava/lang/ClassLoader;)V at line 760 at [0x62149b60, 0x65301171] Ljava/lang/System; loadLibrary(Ljava/lang/String;)V at line 662 at [0x62149b60, 0x65301171] Lorg/jikesrvm/VM; finishBooting()V at line 341 at [0x62149b78, 0x0804f5f5] Lorg/jikesrvm/VM; boot()V at line 145 I don't figure out what's wrong. Thanks. Du Li
|
|
|
Re: [rvm-research] Why cannot I call method "VM.sysWriteln" in entrypoint methodWell, you cannot just insert CALL operations anywhere ... you have to
ensure that the stack at the time of the call is amenable to the execution of Java methods. So, we need more details to help you out. Where, exactly, in the compile() method, are you adding the call to emitCALL_Abs? And, FYI, you will notice that in the compile() method there is a lot of documentation on the state of the stack at each point. You should make sure that you understand what code generated by that method is doing to the stack, what a Java stack looks like, what a C stack looks like, and whether or not you are inserting the call to emitCALL at a point where the stack looks like a Java stack, a C stack, or something in between. -Filip On Oct 17, 2009, at 15:57 , Colin(Du Li) wrote: > > Sorry, I should have explained my question more clearly. > I added the profiling codes to "compile" method in JNICompiler.java as > follows: > > public static synchronized CompiledMethod compile(NativeMethod > method) { > JNICompiledMethod cm = > (JNICompiledMethod)CompiledMethods.createCompiledMethod(method, > CompiledMethod.JNI); > ArchitectureSpecific.Assembler asm = new > ArchitectureSpecific.Assembler(100 /*, true*/); // some size for the > instruction array > > //added by me > > asm > .emitCALL_Abs > (Magic.getTocPointer().plus(Entrypoints.testMethod.getOffset())); > > ....... > > The profiling method is very simple like: > @Entrypoint > public static final void test(){ > VM.sysWriteln("Tested !!!"); > } > > But RVM give me the following error message: > JikesRVM: TROUBLE. Got a signal (Segmentation fault; #11) from > outside the > VM's address space in thread 0xb7f066d0. > JikesRVM: UNRECOVERABLE trapped signal 11 (Segmentation fault) > handler stack 0x1 > si->si_addr 0x1 > cs 0x00000073 > ds 0x0000007b > es 0x0000007b > fs 0x00000000 > gs 0x00000033 > ss 0x0000007b > edi 0xa4c809f8 > esi -- PR/VP 0x62130dcc > ebp 0x621499e4 > esp -- SP 0x621499c8 > ebx 0x001146c8 > edx 0x62128d04 > ecx 0x00000003 > eax 0x00112c20 > eip 0x00000001 > trapno 0x0000000e > err 0x00000004 > eflags 0x00010202 > fpregs 0x9a49de0 > oldmask 0x00020000 > cr2 0x00000001 > fp0 0x00000000000000000000 > fp1 0x00000000000000000000 > fp2 0x00000000000000000000 > fp3 0x00000000000000000000 > fp4 0x00000000000000000000 > fp5 0x00000000000000000000 > fp6 0x00000000000000000000 > fp7 0x0000000000009efc4010 > JikesRVM: internal error > -- Stack -- > at [0x62149a6c, 0x652223f2] Lorg/jikesrvm/runtime/DynamicLibrary; > callOnLoad()V at line 145 > at [0x62149a6c, 0x652223f2] Lorg/jikesrvm/runtime/DynamicLibrary; > <init>(Ljava/lang/String;)V at line 96 > at [0x62149ab8, 0x648754c3] Lorg/jikesrvm/runtime/DynamicLibrary; > load(Ljava/lang/String;)I at line 223 > at [0x62149b10, 0x653008fd] Ljava/lang/VMRuntime; > nativeLoad(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 87 > at [0x62149b10, 0x653008fd] Ljava/lang/Runtime; > loadLib(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 698 > at [0x62149b10, 0x653008fd] Ljava/lang/Runtime; > loadLibrary(Ljava/lang/String;Ljava/lang/ClassLoader;)V at line 760 > at [0x62149b60, 0x65301171] Ljava/lang/System; > loadLibrary(Ljava/lang/String;)V at line 662 > at [0x62149b60, 0x65301171] Lorg/jikesrvm/VM; finishBooting()V at > line > 341 > at [0x62149b78, 0x0804f5f5] Lorg/jikesrvm/VM; boot()V at line 145 > > > I don't figure out what's wrong. > > Thanks. > > Du Li > > Eliot Moss wrote: >> >> Colin(Du Li) wrote: >>> When I try to call "VM.sysWriteln" to do some profiling in >>> entrypoint >>> method, >>> e.g. Entrypoints.aastoreMethod. RVM always give me >>> Jikes_RBoot_Exception, >>> or >>> even crash the GNU library. >>> Why does this happen? >>> And how shall I profile in a enterpoint method? >> >> Just a thought, but could the expressions you're using in the >> sysWriteln >> call possibly require allocation? You can't do allocation early in >> the >> boot sequence. Using the + operator on strings, etc., can do this. >> Someone else might be able to enumerate the restriction more >> precisely. >> I think it should work with simple constant strings, though ... >> >> Eliot Moss >> >> ------------------------------------------------------------------------------ >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart >> your >> developing skills, take BlackBerry mobile applications to market >> and stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> _______________________________________________ >> Jikesrvm-researchers mailing list >> Jikesrvm-researchers@... >> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers >> >> > > -- > View this message in context: http://www.nabble.com/Why-cannot-I-call-method-%22VM.sysWriteln%22-in-entrypoint-method-tp25935200p25941327.html > Sent from the jikesrvm-researchers mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Jikesrvm-researchers mailing list > Jikesrvm-researchers@... > https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Jikesrvm-researchers mailing list Jikesrvm-researchers@... https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers |
|
|
Re: [rvm-research] Why cannot I call method "VM.sysWriteln" in entrypoint methodMaybe you can't add a call to a Java from a C method without ensuring that
the stacks are set up as required. I am sure others know better, can you show you entire code? Suriya On Sat, Oct 17, 2009 at 12:57:13PM -0700, Colin(Du Li) wrote: > > > Sorry, I should have explained my question more clearly. > I added the profiling codes to "compile" method in JNICompiler.java as > follows: > > public static synchronized CompiledMethod compile(NativeMethod method) { > JNICompiledMethod cm = > (JNICompiledMethod)CompiledMethods.createCompiledMethod(method, > CompiledMethod.JNI); > ArchitectureSpecific.Assembler asm = new > ArchitectureSpecific.Assembler(100 /*, true*/); // some size for the > instruction array > > //added by me > > asm.emitCALL_Abs(Magic.getTocPointer().plus(Entrypoints.testMethod.getOffset())); > > ....... > > The profiling method is very simple like: > @Entrypoint > public static final void test(){ > VM.sysWriteln("Tested !!!"); > } > > But RVM give me the following error message: > JikesRVM: TROUBLE. Got a signal (Segmentation fault; #11) from outside the > VM's address space in thread 0xb7f066d0. > JikesRVM: UNRECOVERABLE trapped signal 11 (Segmentation fault) > handler stack 0x1 > si->si_addr 0x1 > cs 0x00000073 > ds 0x0000007b > es 0x0000007b > fs 0x00000000 > gs 0x00000033 > ss 0x0000007b > edi 0xa4c809f8 > esi -- PR/VP 0x62130dcc > ebp 0x621499e4 > esp -- SP 0x621499c8 > ebx 0x001146c8 > edx 0x62128d04 > ecx 0x00000003 > eax 0x00112c20 > eip 0x00000001 > trapno 0x0000000e > err 0x00000004 > eflags 0x00010202 > fpregs 0x9a49de0 > oldmask 0x00020000 > cr2 0x00000001 > fp0 0x00000000000000000000 > fp1 0x00000000000000000000 > fp2 0x00000000000000000000 > fp3 0x00000000000000000000 > fp4 0x00000000000000000000 > fp5 0x00000000000000000000 > fp6 0x00000000000000000000 > fp7 0x0000000000009efc4010 > JikesRVM: internal error > -- Stack -- > at [0x62149a6c, 0x652223f2] Lorg/jikesrvm/runtime/DynamicLibrary; > callOnLoad()V at line 145 > at [0x62149a6c, 0x652223f2] Lorg/jikesrvm/runtime/DynamicLibrary; > <init>(Ljava/lang/String;)V at line 96 > at [0x62149ab8, 0x648754c3] Lorg/jikesrvm/runtime/DynamicLibrary; > load(Ljava/lang/String;)I at line 223 > at [0x62149b10, 0x653008fd] Ljava/lang/VMRuntime; > nativeLoad(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 87 > at [0x62149b10, 0x653008fd] Ljava/lang/Runtime; > loadLib(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 698 > at [0x62149b10, 0x653008fd] Ljava/lang/Runtime; > loadLibrary(Ljava/lang/String;Ljava/lang/ClassLoader;)V at line 760 > at [0x62149b60, 0x65301171] Ljava/lang/System; > loadLibrary(Ljava/lang/String;)V at line 662 > at [0x62149b60, 0x65301171] Lorg/jikesrvm/VM; finishBooting()V at line > 341 > at [0x62149b78, 0x0804f5f5] Lorg/jikesrvm/VM; boot()V at line 145 > > > I don't figure out what's wrong. > > Thanks. > > Du Li > > Eliot Moss wrote: > > > > Colin(Du Li) wrote: > >> When I try to call "VM.sysWriteln" to do some profiling in entrypoint > >> method, > >> e.g. Entrypoints.aastoreMethod. RVM always give me Jikes_RBoot_Exception, > >> or > >> even crash the GNU library. > >> Why does this happen? > >> And how shall I profile in a enterpoint method? > > > > Just a thought, but could the expressions you're using in the sysWriteln > > call possibly require allocation? You can't do allocation early in the > > boot sequence. Using the + operator on strings, etc., can do this. > > Someone else might be able to enumerate the restriction more precisely. > > I think it should work with simple constant strings, though ... > > > > Eliot Moss > > > > ------------------------------------------------------------------------------ > > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > > is the only developer event you need to attend this year. Jumpstart your > > developing skills, take BlackBerry mobile applications to market and stay > > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > > http://p.sf.net/sfu/devconference > > _______________________________________________ > > Jikesrvm-researchers mailing list > > Jikesrvm-researchers@... > > https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers > > > > > > -- > View this message in context: http://www.nabble.com/Why-cannot-I-call-method-%22VM.sysWriteln%22-in-entrypoint-method-tp25935200p25941327.html > Sent from the jikesrvm-researchers mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart your > developing skills, take BlackBerry mobile applications to market and stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Jikesrvm-researchers mailing list > Jikesrvm-researchers@... > https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Jikesrvm-researchers mailing list Jikesrvm-researchers@... https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers |
|
|
Re: [rvm-research] Why cannot I call method "VM.sysWriteln" in entrypoint methodThanks for prompt reply.
Actually, I just tried a very simple method "test", which doesn't have parameters or return value, so I assume this method won't get involved with stack. Is that right? The method is as follows: @Entrypoint public static final void test(){ VM.sysWriteln("Tested !!!"); } I insert the one line of code, which is in bold font in the following codes, to invoke the "test" method at the beginning of JNICompiler.Compile() method as follows: public static synchronized CompiledMethod compile(NativeMethod method) { JNICompiledMethod cm = (JNICompiledMethod)CompiledMethods.createCompiledMethod(method, CompiledMethod.JNI); ArchitectureSpecific.Assembler asm = new ArchitectureSpecific.Assembler(100 /*, true*/); // some size for the instruction array //added by me asm.emitCALL_Abs(Magic.getTocPointer().plus(Entrypoints.testMethod.getOffset())); Address nativeIP = method.getNativeIP(); final Offset lastParameterOffset = Offset.fromIntSignExtend(2*WORDSIZE); //final Offset firstParameterOffset = Offset.fromIntSignExtend(WORDSIZE+(method.getParameterWords() << LG_WORDSIZE)); final TypeReference[] args = method.getParameterTypes(); // (1) Set up stack frame and save non-volatile registers // TODO: check and resize stack once on the lowest Java to C transition // on the stack. Not needed if we use the thread original stack ........... } Do I explain my question clear? Thanks again. Du Li
|
|
|
Re: [rvm-research] Why cannot I call method "VM.sysWriteln" in entrypoint method> Thanks for prompt reply.
> > Actually, I just tried a very simple method "test", which doesn't have > parameters or return value, so I assume this method won't get > involved with > stack. Is that right? No. That's not right. Every method no matter how simple can only be called with the right stack setup. > > The method is as follows: > @Entrypoint > public static final void test(){ > VM.sysWriteln("Tested !!!"); > } > > I insert the one line of code, which is in bold font in the > following codes, > to invoke the "test" method at the beginning of > JNICompiler.Compile() method > as follows: > > public static synchronized CompiledMethod compile(NativeMethod > method) { > JNICompiledMethod cm = > (JNICompiledMethod)CompiledMethods.createCompiledMethod(method, > CompiledMethod.JNI); > ArchitectureSpecific.Assembler asm = new > ArchitectureSpecific.Assembler(100 /*, true*/); // some size > for the > instruction array > > //added by me > > asm > .emitCALL_Abs > (Magic.getTocPointer().plus(Entrypoints.testMethod.getOffset())); > > Address nativeIP = method.getNativeIP(); > final Offset lastParameterOffset = > Offset.fromIntSignExtend(2*WORDSIZE); > //final Offset firstParameterOffset = > Offset.fromIntSignExtend(WORDSIZE+(method.getParameterWords() << > LG_WORDSIZE)); > final TypeReference[] args = method.getParameterTypes(); > > // (1) Set up stack frame and save non-volatile registers > > // TODO: check and resize stack once on the lowest Java to C > transition > // on the stack. Not needed if we use the thread original stack > ........... > } > > Do I explain my question clear? > Thanks again. You're inserting the call at the wrong place. You're putting the call before the stack frame gets setup, and the call then clobbers some registers which screws up the machine code following the call. You might want to look at where the call to jniEntry is ... or you might just want to have jniEntry call your method. -Filip > > Du Li > > Suriya Subramanian wrote: >> >> Maybe you can't add a call to a Java from a C method without >> ensuring that >> the stacks are set up as required. I am sure others know better, >> can you >> show you entire code? >> >> Suriya >> >> On Sat, Oct 17, 2009 at 12:57:13PM -0700, Colin(Du Li) wrote: >>> >>> >>> Sorry, I should have explained my question more clearly. >>> I added the profiling codes to "compile" method in >>> JNICompiler.java as >>> follows: >>> >>> public static synchronized CompiledMethod compile(NativeMethod >>> method) { >>> JNICompiledMethod cm = >>> (JNICompiledMethod)CompiledMethods.createCompiledMethod(method, >>> CompiledMethod.JNI); >>> ArchitectureSpecific.Assembler asm = new >>> ArchitectureSpecific.Assembler(100 /*, true*/); // some size for >>> the >>> instruction array >>> >>> //added by me >>> >>> asm >>> .emitCALL_Abs >>> (Magic.getTocPointer().plus(Entrypoints.testMethod.getOffset())); >>> >>> ....... >>> >>> The profiling method is very simple like: >>> @Entrypoint >>> public static final void test(){ >>> VM.sysWriteln("Tested !!!"); >>> } >>> >>> But RVM give me the following error message: >>> JikesRVM: TROUBLE. Got a signal (Segmentation fault; #11) from >>> outside >>> the >>> VM's address space in thread 0xb7f066d0. >>> JikesRVM: UNRECOVERABLE trapped signal 11 (Segmentation fault) >>> handler stack 0x1 >>> si->si_addr 0x1 >>> cs 0x00000073 >>> ds 0x0000007b >>> es 0x0000007b >>> fs 0x00000000 >>> gs 0x00000033 >>> ss 0x0000007b >>> edi 0xa4c809f8 >>> esi -- PR/VP 0x62130dcc >>> ebp 0x621499e4 >>> esp -- SP 0x621499c8 >>> ebx 0x001146c8 >>> edx 0x62128d04 >>> ecx 0x00000003 >>> eax 0x00112c20 >>> eip 0x00000001 >>> trapno 0x0000000e >>> err 0x00000004 >>> eflags 0x00010202 >>> fpregs 0x9a49de0 >>> oldmask 0x00020000 >>> cr2 0x00000001 >>> fp0 0x00000000000000000000 >>> fp1 0x00000000000000000000 >>> fp2 0x00000000000000000000 >>> fp3 0x00000000000000000000 >>> fp4 0x00000000000000000000 >>> fp5 0x00000000000000000000 >>> fp6 0x00000000000000000000 >>> fp7 0x0000000000009efc4010 >>> JikesRVM: internal error >>> -- Stack -- >>> at [0x62149a6c, 0x652223f2] Lorg/jikesrvm/runtime/DynamicLibrary; >>> callOnLoad()V at line 145 >>> at [0x62149a6c, 0x652223f2] Lorg/jikesrvm/runtime/DynamicLibrary; >>> <init>(Ljava/lang/String;)V at line 96 >>> at [0x62149ab8, 0x648754c3] Lorg/jikesrvm/runtime/DynamicLibrary; >>> load(Ljava/lang/String;)I at line 223 >>> at [0x62149b10, 0x653008fd] Ljava/lang/VMRuntime; >>> nativeLoad(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 87 >>> at [0x62149b10, 0x653008fd] Ljava/lang/Runtime; >>> loadLib(Ljava/lang/String;Ljava/lang/ClassLoader;)I at line 698 >>> at [0x62149b10, 0x653008fd] Ljava/lang/Runtime; >>> loadLibrary(Ljava/lang/String;Ljava/lang/ClassLoader;)V at line 760 >>> at [0x62149b60, 0x65301171] Ljava/lang/System; >>> loadLibrary(Ljava/lang/String;)V at line 662 >>> at [0x62149b60, 0x65301171] Lorg/jikesrvm/VM; finishBooting()V >>> at line >>> 341 >>> at [0x62149b78, 0x0804f5f5] Lorg/jikesrvm/VM; boot()V at line 145 >>> >>> >>> I don't figure out what's wrong. >>> >>> Thanks. >>> >>> Du Li >>> >>> Eliot Moss wrote: >>>> >>>> Colin(Du Li) wrote: >>>>> When I try to call "VM.sysWriteln" to do some profiling in >>>>> entrypoint >>>>> method, >>>>> e.g. Entrypoints.aastoreMethod. RVM always give me >>> Jikes_RBoot_Exception, >>>>> or >>>>> even crash the GNU library. >>>>> Why does this happen? >>>>> And how shall I profile in a enterpoint method? >>>> >>>> Just a thought, but could the expressions you're using in the >>> sysWriteln >>>> call possibly require allocation? You can't do allocation early >>>> in the >>>> boot sequence. Using the + operator on strings, etc., can do this. >>>> Someone else might be able to enumerate the restriction more >>>> precisely. >>>> I think it should work with simple constant strings, though ... >>>> >>>> Eliot Moss >>>> >>>> >>> ------------------------------------------------------------------------------ >>>> Come build with us! The BlackBerry(R) Developer Conference in SF, >>>> CA >>>> is the only developer event you need to attend this year. Jumpstart >>> your >>>> developing skills, take BlackBerry mobile applications to market >>>> and >>> stay >>>> ahead of the curve. Join us from November 9 - 12, 2009. Register >>>> now! >>>> http://p.sf.net/sfu/devconference >>>> _______________________________________________ >>>> Jikesrvm-researchers mailing list >>>> Jikesrvm-researchers@... >>>> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers >>>> >>>> >>> >>> -- >>> View this message in context: >>> http://www.nabble.com/Why-cannot-I-call-method-%22VM.sysWriteln%22-in-entrypoint-method-tp25935200p25941327.html >>> Sent from the jikesrvm-researchers mailing list archive at >>> Nabble.com. >>> >>> >>> ------------------------------------------------------------------------------ >>> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >>> is the only developer event you need to attend this year. >>> Jumpstart your >>> developing skills, take BlackBerry mobile applications to market >>> and stay >>> ahead of the curve. Join us from November 9 - 12, 2009. Register >>> now! >>> http://p.sf.net/sfu/devconference >>> _______________________________________________ >>> Jikesrvm-researchers mailing list >>> Jikesrvm-researchers@... >>> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers >> >> ------------------------------------------------------------------------------ >> Come build with us! The BlackBerry(R) Developer Conference in SF, CA >> is the only developer event you need to attend this year. Jumpstart >> your >> developing skills, take BlackBerry mobile applications to market >> and stay >> ahead of the curve. Join us from November 9 - 12, 2009. Register now! >> http://p.sf.net/sfu/devconference >> _______________________________________________ >> Jikesrvm-researchers mailing list >> Jikesrvm-researchers@... >> https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers >> >> > > -- > View this message in context: http://www.nabble.com/Why-cannot-I-call-method-%22VM.sysWriteln%22-in-entrypoint-method-tp25935200p25941478.html > Sent from the jikesrvm-researchers mailing list archive at Nabble.com. > > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference in SF, CA > is the only developer event you need to attend this year. Jumpstart > your > developing skills, take BlackBerry mobile applications to market and > stay > ahead of the curve. Join us from November 9 - 12, 2009. Register now! > http://p.sf.net/sfu/devconference > _______________________________________________ > Jikesrvm-researchers mailing list > Jikesrvm-researchers@... > https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Jikesrvm-researchers mailing list Jikesrvm-researchers@... https://lists.sourceforge.net/lists/listinfo/jikesrvm-researchers |
|
|
Re: [rvm-research] Why cannot I call method "VM.sysWriteln" in entrypoint methodIt makes sense.
Thanks a lot! Colin
|
| Free embeddable forum powered by Nabble | Forum Help |