You can subscribe to this list here.
2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(29) |
Aug
(75) |
Sep
(32) |
Oct
(147) |
Nov
(31) |
Dec
(49) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2010 |
Jan
(46) |
Feb
(35) |
Mar
(148) |
Apr
(33) |
May
(53) |
Jun
(46) |
Jul
(60) |
Aug
(44) |
Sep
(135) |
Oct
(23) |
Nov
(68) |
Dec
(42) |
2011 |
Jan
(94) |
Feb
(55) |
Mar
(114) |
Apr
(78) |
May
(64) |
Jun
(10) |
Jul
(31) |
Aug
(2) |
Sep
(25) |
Oct
(13) |
Nov
(8) |
Dec
(24) |
2012 |
Jan
(5) |
Feb
(33) |
Mar
(31) |
Apr
(19) |
May
(24) |
Jun
(23) |
Jul
(14) |
Aug
(15) |
Sep
(12) |
Oct
(3) |
Nov
(4) |
Dec
(19) |
2013 |
Jan
(8) |
Feb
(20) |
Mar
(4) |
Apr
(2) |
May
(1) |
Jun
(2) |
Jul
|
Aug
(1) |
Sep
(2) |
Oct
(1) |
Nov
(4) |
Dec
|
2014 |
Jan
|
Feb
|
Mar
(6) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
(7) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(6) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Arno P. <ar...@pu...> - 2009-12-10 16:03:33
|
I might as well share a funny story that I didn't mention in my previous message. If you dig deep enough in the XMLVM code repository, you will notice that Xokoban has slightly changed over the last few months. Originally, Xokoban's splash screen read "Written for Android and cross-compiled to the iPhone". The little guy you have to move through each game level of Xokoban used to be the official Android logo (Android pushing Apples, get it?). Three months into the reviewing of Xokoban, an Apple employee from the AppStore review team actually called me (yes, I talked to someone from Cupertino!). He basically told me "Thou shall not have Gods beside me" (well, he phrased it a little differently) and we removed all references to Android from Xokoban. The splash screen now reads "Smartphone cross-compilation framework; write once, run anywhere". Two months of more reviewing and Apple approved Xokoban. Well, the story is funny, but it was always important to us that Apple knows what we do. There is no point in disguising what we do. But again, the good news is that Apple does not seem to object to XMLVM. Arno On 12/10/09 4:23 PM, Kevin Glass wrote: > The security that the application being XMLVM based won't be one of the > bizarre and random reasons Apple come up with to reject you mean :D > > 2009/12/10 Sascha Haeberling <sa...@xm... <mailto:sa...@xm...>> > > Indeed, we're very excited about this. XMLVM developers should now > have the security of knowing that XMLVM apps will be accepted in the > AppStore. > > > On Thu, Dec 10, 2009 at 2:11 PM, Jochen Hiller > <jo....@go... <mailto:jo....@go...>> wrote: > > Cool. This is an important step to accept XMLVM as technology > for cross platform development. > > Congratulations, Jochen > > > On Thu, Dec 10, 2009 at 10:58 AM, Arno Puder <ar...@pu... > <mailto:ar...@pu...>> wrote: > > > Guys, > > we have been waiting for this news for a long time. Waiting > for 5 months > in fact. Some of you may know that there is a little game > part of XMLVM: > Xokoban, an Android implementation of the old Sokoban game. > You can find > its source code in xmlvm/demo/android/xokoban. This > application is > developed in Java only making use of Android's API. Using > XMLVM we > cross-compiled Xokoban to the iPhone. > > We have been quite provocative with this application. The > splash screen > of Xokoban explicitly mentions that this application is > cross-compiled > from a different smartphone platform. That was probably the > reason it > took Apple 5 months to review it. > > As of today, Xokoban is in the AppStore! We have also > published Xokoban > on the Android Market. So, you iPhone and Android users, > look for > "Xokoban" on your respective app markets. > > Xokoban is only a simple game; we are not game developers > but tool > developers. The important thing is that Apple is not > blocking XMLVM as a > technology. Considering Apple's behavior in the past this > should be good > news to everyone who considers using XMLVM. > > We at XMLVM are quite happy about this news. > > The XMLVM team. > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > <mailto:xml...@li...> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > <mailto:xml...@li...> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > <mailto:xml...@li...> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Kevin G. <ke...@co...> - 2009-12-10 15:23:21
|
The security that the application being XMLVM based won't be one of the bizarre and random reasons Apple come up with to reject you mean :D 2009/12/10 Sascha Haeberling <sa...@xm...> > Indeed, we're very excited about this. XMLVM developers should now have the > security of knowing that XMLVM apps will be accepted in the AppStore. > > > On Thu, Dec 10, 2009 at 2:11 PM, Jochen Hiller <jo....@go...>wrote: > >> Cool. This is an important step to accept XMLVM as technology for cross >> platform development. >> >> Congratulations, Jochen >> >> >> On Thu, Dec 10, 2009 at 10:58 AM, Arno Puder <ar...@pu...> wrote: >> >>> >>> Guys, >>> >>> we have been waiting for this news for a long time. Waiting for 5 months >>> in fact. Some of you may know that there is a little game part of XMLVM: >>> Xokoban, an Android implementation of the old Sokoban game. You can find >>> its source code in xmlvm/demo/android/xokoban. This application is >>> developed in Java only making use of Android's API. Using XMLVM we >>> cross-compiled Xokoban to the iPhone. >>> >>> We have been quite provocative with this application. The splash screen >>> of Xokoban explicitly mentions that this application is cross-compiled >>> from a different smartphone platform. That was probably the reason it >>> took Apple 5 months to review it. >>> >>> As of today, Xokoban is in the AppStore! We have also published Xokoban >>> on the Android Market. So, you iPhone and Android users, look for >>> "Xokoban" on your respective app markets. >>> >>> Xokoban is only a simple game; we are not game developers but tool >>> developers. The important thing is that Apple is not blocking XMLVM as a >>> technology. Considering Apple's behavior in the past this should be good >>> news to everyone who considers using XMLVM. >>> >>> We at XMLVM are quite happy about this news. >>> >>> The XMLVM team. >>> >>> >>> ------------------------------------------------------------------------------ >>> Return on Information: >>> Google Enterprise Search pays you back >>> Get the facts. >>> http://p.sf.net/sfu/google-dev2dev >>> _______________________________________________ >>> xmlvm-users mailing list >>> xml...@li... >>> https://lists.sourceforge.net/lists/listinfo/xmlvm-users >>> >> >> >> >> ------------------------------------------------------------------------------ >> Return on Information: >> Google Enterprise Search pays you back >> Get the facts. >> http://p.sf.net/sfu/google-dev2dev >> >> _______________________________________________ >> xmlvm-users mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlvm-users >> >> > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > |
From: Sascha H. <sa...@xm...> - 2009-12-10 13:59:55
|
Indeed, we're very excited about this. XMLVM developers should now have the security of knowing that XMLVM apps will be accepted in the AppStore. On Thu, Dec 10, 2009 at 2:11 PM, Jochen Hiller <jo....@go...>wrote: > Cool. This is an important step to accept XMLVM as technology for cross > platform development. > > Congratulations, Jochen > > > On Thu, Dec 10, 2009 at 10:58 AM, Arno Puder <ar...@pu...> wrote: > >> >> Guys, >> >> we have been waiting for this news for a long time. Waiting for 5 months >> in fact. Some of you may know that there is a little game part of XMLVM: >> Xokoban, an Android implementation of the old Sokoban game. You can find >> its source code in xmlvm/demo/android/xokoban. This application is >> developed in Java only making use of Android's API. Using XMLVM we >> cross-compiled Xokoban to the iPhone. >> >> We have been quite provocative with this application. The splash screen >> of Xokoban explicitly mentions that this application is cross-compiled >> from a different smartphone platform. That was probably the reason it >> took Apple 5 months to review it. >> >> As of today, Xokoban is in the AppStore! We have also published Xokoban >> on the Android Market. So, you iPhone and Android users, look for >> "Xokoban" on your respective app markets. >> >> Xokoban is only a simple game; we are not game developers but tool >> developers. The important thing is that Apple is not blocking XMLVM as a >> technology. Considering Apple's behavior in the past this should be good >> news to everyone who considers using XMLVM. >> >> We at XMLVM are quite happy about this news. >> >> The XMLVM team. >> >> >> ------------------------------------------------------------------------------ >> Return on Information: >> Google Enterprise Search pays you back >> Get the facts. >> http://p.sf.net/sfu/google-dev2dev >> _______________________________________________ >> xmlvm-users mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlvm-users >> > > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > |
From: Jochen H. <jo....@go...> - 2009-12-10 13:11:56
|
Cool. This is an important step to accept XMLVM as technology for cross platform development. Congratulations, Jochen On Thu, Dec 10, 2009 at 10:58 AM, Arno Puder <ar...@pu...> wrote: > > Guys, > > we have been waiting for this news for a long time. Waiting for 5 months > in fact. Some of you may know that there is a little game part of XMLVM: > Xokoban, an Android implementation of the old Sokoban game. You can find > its source code in xmlvm/demo/android/xokoban. This application is > developed in Java only making use of Android's API. Using XMLVM we > cross-compiled Xokoban to the iPhone. > > We have been quite provocative with this application. The splash screen > of Xokoban explicitly mentions that this application is cross-compiled > from a different smartphone platform. That was probably the reason it > took Apple 5 months to review it. > > As of today, Xokoban is in the AppStore! We have also published Xokoban > on the Android Market. So, you iPhone and Android users, look for > "Xokoban" on your respective app markets. > > Xokoban is only a simple game; we are not game developers but tool > developers. The important thing is that Apple is not blocking XMLVM as a > technology. Considering Apple's behavior in the past this should be good > news to everyone who considers using XMLVM. > > We at XMLVM are quite happy about this news. > > The XMLVM team. > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > |
From: Björn C. <bj...@ca...> - 2009-12-10 11:33:42
|
Clever move to state that it was crosscompiled. Hope this means you have paved the way for others that use the xmlvm for iPhone development. /Björn Arno Puder skrev: > Guys, > > we have been waiting for this news for a long time. Waiting for 5 months > in fact. Some of you may know that there is a little game part of XMLVM: > Xokoban, an Android implementation of the old Sokoban game. You can find > its source code in xmlvm/demo/android/xokoban. This application is > developed in Java only making use of Android's API. Using XMLVM we > cross-compiled Xokoban to the iPhone. > > We have been quite provocative with this application. The splash screen > of Xokoban explicitly mentions that this application is cross-compiled > from a different smartphone platform. That was probably the reason it > took Apple 5 months to review it. > > As of today, Xokoban is in the AppStore! We have also published Xokoban > on the Android Market. So, you iPhone and Android users, look for > "Xokoban" on your respective app markets. > > Xokoban is only a simple game; we are not game developers but tool > developers. The important thing is that Apple is not blocking XMLVM as a > technology. Considering Apple's behavior in the past this should be good > news to everyone who considers using XMLVM. > > We at XMLVM are quite happy about this news. > > The XMLVM team. > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > |
From: Panayotis K. <pan...@pa...> - 2009-12-10 10:32:43
|
On 10 Δεκ 2009, at 11:58 ΠΜ, Arno Puder wrote: ... > As of today, Xokoban is in the AppStore! We have also published > Xokoban > on the Android Market. So, you iPhone and Android users, look for > "Xokoban" on your respective app markets. > .... Congratulations! That's a good start! |
From: Kevin G. <ke...@co...> - 2009-12-10 10:20:29
|
That is awesome news. Great job guys! 2009/12/10 Arno Puder <ar...@pu...> > > Guys, > > we have been waiting for this news for a long time. Waiting for 5 months > in fact. Some of you may know that there is a little game part of XMLVM: > Xokoban, an Android implementation of the old Sokoban game. You can find > its source code in xmlvm/demo/android/xokoban. This application is > developed in Java only making use of Android's API. Using XMLVM we > cross-compiled Xokoban to the iPhone. > > We have been quite provocative with this application. The splash screen > of Xokoban explicitly mentions that this application is cross-compiled > from a different smartphone platform. That was probably the reason it > took Apple 5 months to review it. > > As of today, Xokoban is in the AppStore! We have also published Xokoban > on the Android Market. So, you iPhone and Android users, look for > "Xokoban" on your respective app markets. > > Xokoban is only a simple game; we are not game developers but tool > developers. The important thing is that Apple is not blocking XMLVM as a > technology. Considering Apple's behavior in the past this should be good > news to everyone who considers using XMLVM. > > We at XMLVM are quite happy about this news. > > The XMLVM team. > > > ------------------------------------------------------------------------------ > Return on Information: > Google Enterprise Search pays you back > Get the facts. > http://p.sf.net/sfu/google-dev2dev > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > |
From: Arno P. <ar...@pu...> - 2009-12-10 10:04:56
|
Guys, we have been waiting for this news for a long time. Waiting for 5 months in fact. Some of you may know that there is a little game part of XMLVM: Xokoban, an Android implementation of the old Sokoban game. You can find its source code in xmlvm/demo/android/xokoban. This application is developed in Java only making use of Android's API. Using XMLVM we cross-compiled Xokoban to the iPhone. We have been quite provocative with this application. The splash screen of Xokoban explicitly mentions that this application is cross-compiled from a different smartphone platform. That was probably the reason it took Apple 5 months to review it. As of today, Xokoban is in the AppStore! We have also published Xokoban on the Android Market. So, you iPhone and Android users, look for "Xokoban" on your respective app markets. Xokoban is only a simple game; we are not game developers but tool developers. The important thing is that Apple is not blocking XMLVM as a technology. Considering Apple's behavior in the past this should be good news to everyone who considers using XMLVM. We at XMLVM are quite happy about this news. The XMLVM team. |
From: Gergely K. <ger...@ma...> - 2009-11-27 10:14:47
|
Hi, 2009/11/27 Arno Puder <ar...@pu...> > > certainly an interesting idea. I would caution against cross-compiling > everything from Harmony. I haven't looked at their implementation but I > would suspect that classes like String, ArrayList, HashMap are completely > written in Java. Cross-compiling these would result in a severe performance > penalty, that is why we currently map them (via categories) to their > Objective-C counterparts (NSString, NSArray, NSDictionary). But I'm sure > there are many other cases where cross-compiling Harmony would make a lot of > sense. > > I agree completely. In the original mail I mentioned NSThread as an example. In fact I am planning to change the code generation process to only include the classes from Harmony in the output that have no manually written counterparts. Also, while as a first step I just copied all of Harmony, I will most probably remove a large chunk of it that we don't use currently to minimize the overhead. > Lets begin by discussing a JNI-like interface for Objective-C. That is > something we need anyways at some point. Once we have that, we can discuss > which parts of Harmony we cross-compile. > > > Anyone want to chip in with ideas regarding JNI for XMLVM? > My suggestion (as I wrote in the original mail) is to just use Objective-C categories to write the necessary methods. A similar method is used in GWT with JSNI. Of course there you write the Javascript code in comments inside the Java classes, but here we have the power of ObjC and can separate the native methods from the cross-compiled methods into separate files easily. Best Regards, Gergely -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 |
From: Gergely K. <ger...@ma...> - 2009-11-27 10:03:26
|
Hi, Thank you for the pointer. Best Regards, Gergely 2009/11/27 Markus Heberling <ma...@ti...> > Hi, > > I have written a patch for the " escapes. You can find it somewhere on this > list, or here: > http://github.com/tisoft/xmlvm/commit/ce1e5b0880cdbabb54506bd9426570260e852ebf > > Maybe you can adopt it to escape \0 properly, too. > > Markus > > Am 27.11.2009 um 02:42 schrieb Gergely Kis: > > Hi, > > In our software there are strings which contain \0 and " characters. > > We found 2 issues when compiling android -> iphone: > 1. \0 characters cannot be simply included in an XML attribute, JDOM chokes > on it. > 2. " characters are not escaped properly. > > Is this a known issue? > Do you have a suggestion how to fix these problems? > > Best Regards, > Gergely > > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. > http://p.sf.net/sfu/bobj-july_______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 |
From: Gergely K. <ger...@ma...> - 2009-11-27 10:01:13
|
Hi, 2009/11/27 Markus Heberling <ma...@ti...> > I would be interested in such a solution. > > Combined with this: http://code.google.com/p/jnaerator/ we would have a > full java environment with full access to all Objective/C frameworks. > > This seems like a good idea to get high coverage of Objective-C frameworks quickly. I don't see currently how much has to be changed in the jnaerator code, and how will the performance compare to the manually written bindings. Best Regards, Gergely -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 |
From: Arno P. <ar...@pu...> - 2009-11-27 07:48:38
|
Markus Heberling wrote: > I would be interested in such a solution. > > Combined with this: http://code.google.com/p/jnaerator/ we would have a > full java environment with full access to all Objective/C frameworks. I looked at jnaerator a while ago. Again I'm personally a little divided over such an approach. The big appeal is certainly to get complete coverage very quickly. However, I find the jnaerator-generated Java binding "ugly". To be a little more specific what I mean by that: right now we take the (labor intensive) approach of custom-designing the Java API from the Objective-C counterpart. The benefit is a natural looking Java interface that you can still relate very easily to its original (which makes it easy to consult Apple's documentation). In some cases we have also made use of Java's strong-typedness: instead of passing an arbitrary selector for a delegate we have introduced strongly-typed Java interfaces which is much more in the spirit of the Java programming language. Again there are pros and cons for either approach. Perhaps we can achieve the best of both worlds: first use jnaerator to generate the Java API and then create custom APIs for certain parts. Anyone interested in doing a proof-of-concept with jnaerator? Ideally I would like to see a patch to XMLVM that integrates jnaerator and creates the Java API for a selected UIKit class. Any contenders? Arno |
From: Arno P. <ar...@pu...> - 2009-11-27 07:37:54
|
certainly an interesting idea. I would caution against cross-compiling everything from Harmony. I haven't looked at their implementation but I would suspect that classes like String, ArrayList, HashMap are completely written in Java. Cross-compiling these would result in a severe performance penalty, that is why we currently map them (via categories) to their Objective-C counterparts (NSString, NSArray, NSDictionary). But I'm sure there are many other cases where cross-compiling Harmony would make a lot of sense. Lets begin by discussing a JNI-like interface for Objective-C. That is something we need anyways at some point. Once we have that, we can discuss which parts of Harmony we cross-compile. Anyone want to chip in with ideas regarding JNI for XMLVM? Arno Gergely Kis wrote: > Hi, > > We are porting a fairly complex J2ME / Android application to IPhone > using XMLVM, and I had an idea to speed up the process. Instead of > implementing every necessary class from the Java Runtime by hand, I > pulled in the Apache Harmony runtime implementation from the Android > platform and got to the point where it compiles to Java Bytecode. Now > XMLVM happily produces cross-compiled Objective C code from it, but of > course there are a number of native methods that need to be implemented. > XMLVM treats native methods simply as abstract methods. > > The idea is to change the XSL, so it generates a dummy body for the > native methods, probably throwing an UnsupportedOperationException() or > something similar. > Then for those classes that are actually used by us, we can go ahead and > implement the native methods using the nice "Categories" feature of > Objective-C, without the need to touch the generated source code. > > Of course, we plan to use the hand optimized versions of those classes > that are available. For low-level classes, like threads, we plan to > implement the Thread class directly using NSThread. But there are many > classes, that are seldom used (exceptions) or are only interfaces, or > simply they are not yet available in a hand optimized version. In these > cases we are able to fall back to the cross-compiled version. > > What do you think? > > Would you be interested in this solution? > > Best Regards, > Gergely > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... <mailto:ger...@ma...> > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > > > ------------------------------------------------------------------------ > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Markus H. <ma...@ti...> - 2009-11-27 07:20:25
|
I would be interested in such a solution. Combined with this: http://code.google.com/p/jnaerator/ we would have a full java environment with full access to all Objective/C frameworks. Markus Am 27.11.2009 um 02:38 schrieb Gergely Kis: > Hi, > > We are porting a fairly complex J2ME / Android application to IPhone using XMLVM, and I had an idea to speed up the process. Instead of implementing every necessary class from the Java Runtime by hand, I pulled in the Apache Harmony runtime implementation from the Android platform and got to the point where it compiles to Java Bytecode. Now XMLVM happily produces cross-compiled Objective C code from it, but of course there are a number of native methods that need to be implemented. XMLVM treats native methods simply as abstract methods. > > The idea is to change the XSL, so it generates a dummy body for the native methods, probably throwing an UnsupportedOperationException() or something similar. > Then for those classes that are actually used by us, we can go ahead and implement the native methods using the nice "Categories" feature of Objective-C, without the need to touch the generated source code. > > Of course, we plan to use the hand optimized versions of those classes that are available. For low-level classes, like threads, we plan to implement the Thread class directly using NSThread. But there are many classes, that are seldom used (exceptions) or are only interfaces, or simply they are not yet available in a hand optimized version. In these cases we are able to fall back to the cross-compiled version. > > What do you think? > > Would you be interested in this solution? > > Best Regards, > Gergely > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july_______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Markus H. <ma...@ti...> - 2009-11-27 07:10:10
|
Hi, I have written a patch for the " escapes. You can find it somewhere on this list, or here: http://github.com/tisoft/xmlvm/commit/ce1e5b0880cdbabb54506bd9426570260e852ebf Maybe you can adopt it to escape \0 properly, too. Markus Am 27.11.2009 um 02:42 schrieb Gergely Kis: > Hi, > > In our software there are strings which contain \0 and " characters. > > We found 2 issues when compiling android -> iphone: > 1. \0 characters cannot be simply included in an XML attribute, JDOM chokes on it. > 2. " characters are not escaped properly. > > Is this a known issue? > Do you have a suggestion how to fix these problems? > > Best Regards, > Gergely > > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july_______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Gergely K. <ger...@ma...> - 2009-11-27 02:39:33
|
Hi, We are porting a fairly complex J2ME / Android application to IPhone using XMLVM, and I had an idea to speed up the process. Instead of implementing every necessary class from the Java Runtime by hand, I pulled in the Apache Harmony runtime implementation from the Android platform and got to the point where it compiles to Java Bytecode. Now XMLVM happily produces cross-compiled Objective C code from it, but of course there are a number of native methods that need to be implemented. XMLVM treats native methods simply as abstract methods. The idea is to change the XSL, so it generates a dummy body for the native methods, probably throwing an UnsupportedOperationException() or something similar. Then for those classes that are actually used by us, we can go ahead and implement the native methods using the nice "Categories" feature of Objective-C, without the need to touch the generated source code. Of course, we plan to use the hand optimized versions of those classes that are available. For low-level classes, like threads, we plan to implement the Thread class directly using NSThread. But there are many classes, that are seldom used (exceptions) or are only interfaces, or simply they are not yet available in a hand optimized version. In these cases we are able to fall back to the cross-compiled version. What do you think? Would you be interested in this solution? Best Regards, Gergely -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 |
From: Gergely K. <ger...@ma...> - 2009-11-27 02:36:07
|
Hi, In our software there are strings which contain \0 and " characters. We found 2 issues when compiling android -> iphone: 1. \0 characters cannot be simply included in an XML attribute, JDOM chokes on it. 2. " characters are not escaped properly. Is this a known issue? Do you have a suggestion how to fix these problems? Best Regards, Gergely -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 |
From: Panayotis K. <pan...@pa...> - 2009-11-24 21:22:59
|
On 24 Νοε 2009, at 2:01 μ.μ., Drayton Brown wrote: > Hi all > > I checked out XMLVM a while ago and I've been watching it grow over the last few months. I've been quite impressed with the development! (Infact I find the whole idea quite ingenious!) > Anyway's I've now decided to dip my feet in the water and give it a go! Although, as this is going to be more than testing a proof of concept, there's something I would like to clear up before I start. > > The problem I'm having is probably due to my development environment, which at the moment is Netbeans 6.7.1 When I import the XMLVM project into Netbeans and try and run the iFireworks example I get error: One easy solution is to create a skeleton project and add iFireworks files (or whatever) in it. If you want to do it manually by yourself, click on Project -> Properties -> Libraries -> Add Jar/folder and add the xmlvm.jar file All required files (including the images) are inside xmlvm is working perfectly with Netbeans 6.7.1 |
From: Arno P. <ar...@pu...> - 2009-11-24 12:40:54
|
you already found out the core of the problem: in order to launch an application you need to set the classpath properly. Under Eclipse you can define a launch configuration where you have to set this once. I'm not a Netbeans user, so I don't know what you have to do there. In most cases it might be sufficient to include xmlvm.jar to the classpath. Here are a few shell commands to get you going: java -jar xmlvm.jar --skeleton=iphone --app-name=HelloWorld mkdir bin javac -classpath xmlvm.jar -sourcepath src -d bin src/xmlvm/Main.java java -cp xmlvm.jar:bin xmlvm.Main Notice that the --skeleton option will also generate Netbeans project files. I've never tried that but I think/assume that it will have all necessary paths configured correctly. Arno Drayton Brown wrote: > Hi all > > I checked out XMLVM a while ago and I've been watching it grow over the > last few months. I've been quite impressed with the development! (Infact > I find the whole idea quite ingenious!) > Anyway's I've now decided to dip my feet in the water and give it a go! > Although, as this is going to be more than testing a proof of concept, > there's something I would like to clear up before I start. > > The problem I'm having is probably due to my development environment, > which at the moment is Netbeans 6.7.1 When I import the XMLVM project > into Netbeans and try and run the iFireworks example I get error: > > Unable to load image with name battery.png > Unable to load image with name wifi.png > Unable to load image with name chassis.png > java.lang.NullPointerException > at javax.swing.ImageIcon.<init>(ImageIcon.java:161) > at org.xmlvm.iphone.internal.Device.addChassis(Device.java:101) > at org.xmlvm.iphone.internal.Device.<init>(Device.java:68) > at > org.xmlvm.iphone.internal.SimulatorGUI.addDevice(SimulatorGUI.java:36) > at > org.xmlvm.iphone.internal.SimulatorGUI.<init>(SimulatorGUI.java:27) > at > org.xmlvm.iphone.internal.SimulatorDesktop.<init>(SimulatorDesktop.java:54) > at org.xmlvm.iphone.UIApplication.<init>(UIApplication.java:24) > at org.xmlvm.demo.ifireworks.Main.<init>(Main.java:8) > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) > at java.lang.reflect.Constructor.newInstance(Constructor.java:513) > at java.lang.Class.newInstance0(Class.java:355) > at java.lang.Class.newInstance(Class.java:308) > at org.xmlvm.iphone.UIApplication.main(UIApplication.java:78) > at org.xmlvm.demo.ifireworks.Main.main(Main.java:48) > > Now I know this is because the images are not being found by the > getResource() method in ImageLoader class (ln: 13). When I was just > playing about with the code I would just hard code the appropriate path > to get it to work. However I would now like to be able to just run the > application and have it run without having to change this line. (As you > can expect this gets frustrating quite quickly, also I would rather use > the code as I get it from you :) ) > > I've tried using Eclipse, which seems to work, but I'm not familiar with > the IDE, so I'd rather stick to what I know. I've also found this folder: > > xmlvm/var/iphone/netbeans > > which seems to have a netbeans project skeleton, however I cann't open > this project. What version of netbeans is being used for this? > > I've tried compiling the source in Eclipse and then using the xmlvm.jar > in a newly created NB project (both with and without copying over the > relevent files with ones from the skeleton project) however the > exceptions persist. > > I would greatly appreciate any sort of help with regards to this problem. > > Besides this I think the project is fantastic, and I'm looking forward > to tapping out my first iPhone app with it! > > Regards > Drayton > > -- > http://www.facebook.com/DraytonBrown > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > > > ------------------------------------------------------------------------ > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Drayton B. <dra...@gm...> - 2009-11-24 12:01:51
|
Hi all I checked out XMLVM a while ago and I've been watching it grow over the last few months. I've been quite impressed with the development! (Infact I find the whole idea quite ingenious!) Anyway's I've now decided to dip my feet in the water and give it a go! Although, as this is going to be more than testing a proof of concept, there's something I would like to clear up before I start. The problem I'm having is probably due to my development environment, which at the moment is Netbeans 6.7.1 When I import the XMLVM project into Netbeans and try and run the iFireworks example I get error: Unable to load image with name battery.png Unable to load image with name wifi.png Unable to load image with name chassis.png java.lang.NullPointerException at javax.swing.ImageIcon.<init>(ImageIcon.java:161) at org.xmlvm.iphone.internal.Device.addChassis(Device.java:101) at org.xmlvm.iphone.internal.Device.<init>(Device.java:68) at org.xmlvm.iphone.internal.SimulatorGUI.addDevice(SimulatorGUI.java:36) at org.xmlvm.iphone.internal.SimulatorGUI.<init>(SimulatorGUI.java:27) at org.xmlvm.iphone.internal.SimulatorDesktop.<init>(SimulatorDesktop.java:54) at org.xmlvm.iphone.UIApplication.<init>(UIApplication.java:24) at org.xmlvm.demo.ifireworks.Main.<init>(Main.java:8) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:355) at java.lang.Class.newInstance(Class.java:308) at org.xmlvm.iphone.UIApplication.main(UIApplication.java:78) at org.xmlvm.demo.ifireworks.Main.main(Main.java:48) Now I know this is because the images are not being found by the getResource() method in ImageLoader class (ln: 13). When I was just playing about with the code I would just hard code the appropriate path to get it to work. However I would now like to be able to just run the application and have it run without having to change this line. (As you can expect this gets frustrating quite quickly, also I would rather use the code as I get it from you :) ) I've tried using Eclipse, which seems to work, but I'm not familiar with the IDE, so I'd rather stick to what I know. I've also found this folder: xmlvm/var/iphone/netbeans which seems to have a netbeans project skeleton, however I cann't open this project. What version of netbeans is being used for this? I've tried compiling the source in Eclipse and then using the xmlvm.jar in a newly created NB project (both with and without copying over the relevent files with ones from the skeleton project) however the exceptions persist. I would greatly appreciate any sort of help with regards to this problem. Besides this I think the project is fantastic, and I'm looking forward to tapping out my first iPhone app with it! Regards Drayton -- http://www.facebook.com/DraytonBrown |
From: Arno P. <ar...@pu...> - 2009-11-22 23:01:29
|
which of the demos did you try to run? Arno Scott Wells wrote: > I'm sure I'm missing something pretty simple, but I've pulled the latest > xmlvm out from SVN and built it successfully using "ant all" and "ant > all-cc". I can see that the latter created a series of XCode projects, > but when I open those in XCode, something definitely doesn't seem quite > right. The project doesn't seem to have any references to the source > code at all, so "Build and Go" doesn't really do much and there's > nothing to install on the simulator. > > I did manage to bring up a project successfully by following the > instructions in the xmlvm manual, though I had to remove everything > related to GL because that framework isn't added to a project as > described in those instructions. > > Am I doing something wrong here, or are those projects just not working > yet? I saw that they're a very recent addition. > > Thanks for all the great work on this project! > Scott Wells > |
From: Scott W. <sco...@gm...> - 2009-11-22 22:47:26
|
I'm sure I'm missing something pretty simple, but I've pulled the latest xmlvm out from SVN and built it successfully using "ant all" and "ant all-cc". I can see that the latter created a series of XCode projects, but when I open those in XCode, something definitely doesn't seem quite right. The project doesn't seem to have any references to the source code at all, so "Build and Go" doesn't really do much and there's nothing to install on the simulator. I did manage to bring up a project successfully by following the instructions in the xmlvm manual, though I had to remove everything related to GL because that framework isn't added to a project as described in those instructions. Am I doing something wrong here, or are those projects just not working yet? I saw that they're a very recent addition. Thanks for all the great work on this project! Scott Wells |
From: Markus H. <ma...@ti...> - 2009-11-20 11:47:38
|
Thanks, will try that out. Actually I fixed it somewhat for me: If I change the Configuration from Debug to Release, it works on the device, too... Markus Am 20.11.2009 um 08:04 schrieb Arno Puder: > > can you please send the original Java source as well? > > Generally, the NSAutoReleasePool on the device is more aggressive in reclaiming memory than the one on the desktop. That in my experience sometimes explains the different behavior on the desktop and the device. What most likely happens is that an object is dealloced but later still being referenced. These are called zombie objects. You can track those in Objective-C by setting a certain property. In Xcode, go to Project > Edit Active Executable. Then add another variable. Call it 'NSZombieEnabled' and set its value to 'YES'. That should give you a clue which object it is trying to access that has already been destroyed (assuming that this is the problem). > > Arno > > > Markus Heberling wrote: >> Hi again, >> got another crash. This time it's really weird I think. It works on the Simulator, but crashes on the device. Problem is, I can't construct an easy Test case that demonstrates it... >> //_stack has a size of 6 >> _stack[_sp++].i = _op1.i; >> //sp==6 here >> _stack[_sp++].o = _locals[0].o; >> //sp==7 here on simulator, but on the iPhone its some value like 3390961 >> _op1.o = _stack[--_sp].o; >> //crash here on the device obviously. If I put a breakpoint here and change _sp to 7, all is fine. >> If I change the size of _stack to 7, its also not crashing. But changing it to >> _stack[_sp++].i = _op1.i; >> _stack[_sp].o = _locals[0].o; >> _op1.o = _stack[_sp].o; >> does crash. >> I have no clue what is causing it. Maybe you can see something or have an idea. As I daid I couldn't construct a simple test, so I here is the complete generated method: >> - (void) run__ >> { >> XMLVMElem _stack[6]; >> XMLVMElem _locals[4]; >> int _sp = 0; >> XMLVMElem _op1, _op2, _op3; >> NSAutoreleasePool* _pool = [[NSAutoreleasePool alloc] init]; >> _locals[0].o = self; >> label4:; >> _stack[_sp++].o = _locals[0].o; >> _op1.o = _stack[--_sp].o; >> _op2.o = [((javax_microedition_lcdui_Display_TickerPaintTask*) _op1.o) _GET_this_0]; >> _stack[_sp++].o = _op2.o; >> _sp -= 1; >> _op1.o = [javax_microedition_lcdui_Display access$000___javax_microedition_lcdui_Display:_stack[_sp + 0].o]; >> [_op1.o autorelease]; >> _stack[_sp++].o = _op1.o; >> _op1.o = _stack[--_sp].o; >> if (_op1.o == [NSNull null]) goto label0; >> _stack[_sp++].o = _locals[0].o; >> _op1.o = _stack[--_sp].o; >> _op2.o = [((javax_microedition_lcdui_Display_TickerPaintTask*) _op1.o) _GET_this_0]; >> _stack[_sp++].o = _op2.o; >> _sp -= 1; >> _op1.o = [javax_microedition_lcdui_Display access$000___javax_microedition_lcdui_Display:_stack[_sp + 0].o]; >> [_op1.o autorelease]; >> _stack[_sp++].o = _op1.o; >> _sp -= 1; >> _op1.o = [((javax_microedition_lcdui_Displayable*) _stack[_sp].o) getTicker__]; >> [_op1.o autorelease]; >> _stack[_sp++].o = _op1.o; >> _op1.o = _stack[--_sp].o; >> _locals[1].o = _op1.o; >> label6:; >> _stack[_sp++].o = _locals[1].o; >> _op1.o = _stack[--_sp].o; >> if (_op1.o == [NSNull null]) goto label0; >> _stack[_sp++].o = _locals[1].o; >> _op1 = _stack[_sp - 1]; >> _stack[_sp++] = _op1; >> _op1.o = _stack[--_sp].o; >> _locals[2].o = _op1.o; >> _op1.o = _stack[--_sp].o; >> @synchronized(_op1.o) { >> } >> @try { >> _stack[_sp++].o = _locals[1].o; >> _op1.o = _stack[--_sp].o; >> _op2.i = [((javax_microedition_lcdui_Ticker*) _op1.o) _GET_resetTextPosTo]; >> _stack[_sp++].i = _op2.i; >> _stack[_sp++].i = -1; >> _op2.i = _stack[--_sp].i; >> _op1.i = _stack[--_sp].i; >> if (_op1.i == _op2.i) goto label2; >> _stack[_sp++].o = _locals[1].o; >> _stack[_sp++].o = _locals[1].o; >> _op1.o = _stack[--_sp].o; >> _op2.i = [((javax_microedition_lcdui_Ticker*) _op1.o) _GET_resetTextPosTo]; >> _stack[_sp++].i = _op2.i; >> _op1.i = _stack[--_sp].i; >> _op2.o = _stack[--_sp].o; >> [((javax_microedition_lcdui_Ticker*) _op2.o) _PUT_textPos: _op1.i]; >> _stack[_sp++].o = _locals[1].o; >> _stack[_sp++].i = -1; >> _op1.i = _stack[--_sp].i; >> _op2.o = _stack[--_sp].o; >> [((javax_microedition_lcdui_Ticker*) _op2.o) _PUT_resetTextPosTo: _op1.i]; >> label2:; >> _stack[_sp++].o = _locals[1].o; >> _op1 = _stack[_sp - 1]; >> _stack[_sp++] = _op1; >> _op1.o = _stack[--_sp].o; >> _op2.i = [((javax_microedition_lcdui_Ticker*) _op1.o) _GET_textPos]; >> _stack[_sp++].i = _op2.i; >> _op1.i = [javax_microedition_lcdui_Ticker _GET_PAINT_MOVE]; >> _stack[_sp++].i = _op1.i; >> _op2.i = _stack[--_sp].i; >> _op1.i = _stack[--_sp].i; >> _stack[_sp++].i = _op1.i - _op2.i; _op1.i = _stack[--_sp].i; >> _op2.o = _stack[--_sp].o; >> [((javax_microedition_lcdui_Ticker*) _op2.o) _PUT_textPos: _op1.i]; >> _stack[_sp++].o = _locals[2].o; >> } @catch (java_lang_Exception* _ex) { >> _stack[_sp++].o = _ex; >> goto label8; >> } >> goto label3; >> label8:; >> @try { >> _op1.o = _stack[--_sp].o; >> _locals[3].o = _op1.o; >> _stack[_sp++].o = _locals[2].o; >> } @catch (java_lang_Exception* _ex) { >> _stack[_sp++].o = _ex; >> goto label8; >> } >> _stack[_sp++].o = _locals[3].o; >> _op1.o = _stack[--_sp].o; >> @throw _op1.o; >> label3:; >> _stack[_sp++].o = _locals[0].o; >> _op1.o = _stack[--_sp].o; >> _op2.o = [((javax_microedition_lcdui_Display_TickerPaintTask*) _op1.o) _GET_this_0]; >> _stack[_sp++].o = _op2.o; >> _stack[_sp++].o = _locals[0].o; >> _op1.o = _stack[--_sp].o; >> _op2.o = [((javax_microedition_lcdui_Display_TickerPaintTask*) _op1.o) _GET_this_0]; >> _stack[_sp++].o = _op2.o; >> _sp -= 1; >> _op1.o = [javax_microedition_lcdui_Display access$000___javax_microedition_lcdui_Display:_stack[_sp + 0].o]; >> [_op1.o autorelease]; >> _stack[_sp++].o = _op1.o; >> _stack[_sp++].i = 0; >> _stack[_sp++].i = 0; >> _stack[_sp++].o = _locals[0].o; >> _op1.o = _stack[--_sp].o; >> _op2.o = [((javax_microedition_lcdui_Display_TickerPaintTask*) _op1.o) _GET_this_0]; >> _stack[_sp++].o = _op2.o; >> _sp -= 1; >> _op1.o = [javax_microedition_lcdui_Display access$000___javax_microedition_lcdui_Display:_stack[_sp + 0].o]; >> [_op1.o autorelease]; >> _stack[_sp++].o = _op1.o; >> _sp -= 1; >> _op1.i = [((javax_microedition_lcdui_Displayable*) _stack[_sp].o) getWidth__]; >> //start >> _stack[_sp++].i = _op1.i; >> _stack[_sp++].o = _locals[0].o; >> _op1.o = _stack[--_sp].o; >> //end >> _op2.o = [((javax_microedition_lcdui_Display_TickerPaintTask*) _op1.o) _GET_this_0]; >> _stack[_sp++].o = _op2.o; >> _sp -= 1; >> _op1.o = [javax_microedition_lcdui_Display access$000___javax_microedition_lcdui_Display:_stack[_sp + 0].o]; >> [_op1.o autorelease]; >> _stack[_sp++].o = _op1.o; >> _sp -= 1; >> _op1.i = [((javax_microedition_lcdui_Displayable*) _stack[_sp].o) getHeight__]; >> _stack[_sp++].i = _op1.i; >> _sp -= 6; >> [((javax_microedition_lcdui_Display*) _stack[_sp].o) repaint___javax_microedition_lcdui_Displayable_int_int_int_int:_stack[_sp + 1].o:_stack[_sp + 2].i:_stack[_sp + 3].i:_stack[_sp + 4].i:_stack[_sp + 5].i]; >> label0:; >> [_pool release]; >> return; >> } >> ------------------------------------------------------------------------ >> ------------------------------------------------------------------------------ >> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with >> Crystal Reports now. http://p.sf.net/sfu/bobj-july >> ------------------------------------------------------------------------ >> _______________________________________________ >> xmlvm-users mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Arno P. <ar...@pu...> - 2009-11-20 09:23:32
|
Remember that we use JVM instructions as a canonical representation within XMLVM. We can convert CLR and YARV (Ruby byte code) to JVM instructions. It would be nice if we could transform this canonical representation of JVM instructions to something like DEX instructions. The result would be an XML document representing a register-based version of the stack-based program. Remember that XMLVM has various backends and we already have a prototype that emits JavaScript for the Palm Pre. We would need this XML representation of register-machine instructions for all the code generating backends of XMLVM. I don't know if DEX offers any libraries with which we can do this. Another byte code optimization framework that might be suitable for such a task is Soot: http://www.sable.mcgill.ca/soot/ Either way, no small feat... Arno Gergely Kis wrote: > Hi, > > Would it makes sense to add DEX, the Android bytecode format as a new > "source language" to xmlvm? > Since it is already designed to execute on a register machine, it might > be easier to implement. > > Best Regards, > Gergely > > 2009/11/19 Arno Puder <ar...@pu... <mailto:ar...@pu...>> > > > that is a known bug. Flow control in the JVM is represented by absolute > jumps which we simply map to gotos in Objective-C. Exceptions sometimes > cause the problems you are experiencing. We have discussed for a long > time to convert the stack machine to register machine that would also > reverse engineer flow control by removing the gotos. This is no easy > matter and is further down on our to-do list. In the meantime you can > probably get around the problem by inserting a dummy statement just > before the try. Something like: > > } else { > int x = 42; > try { > > Arno > > > Markus Heberling wrote: > > Hi, > > > > I have the following java code: > > > > if(args==null){ > > System.out.println(1); > > }else{ > > try{ > > System.out.println(2); > > > > } catch(Exception e){ > > System.out.println(3); > > > > } > > } > > > > It gets converted to the following ObjectiveC code (only relevant > part here) > > > > if (_op1.o != [NSNull null]) goto label0; > > _op1.o = [java_lang_System _GET_out]; > > _stack[_sp++].o = _op1.o; > > _stack[_sp++].i = 1; > > _sp -= 2; > > [((java_io_PrintStream*) _stack[_sp].o) > println___int:_stack[_sp + 1].i]; > > goto label1; > > @try { > > label0:; > > _op1.o = [java_lang_System _GET_out]; > > _stack[_sp++].o = _op1.o; > > _stack[_sp++].i = 2; > > _sp -= 2; > > [((java_io_PrintStream*) _stack[_sp].o) > println___int:_stack[_sp + 1].i]; > > } @catch (java_lang_Exception* _ex) { > > _stack[_sp++].o = _ex; > > goto label7; > > } > > > > This code crashes. The label0 is inside the try and the code > jumps into it from the outside. This seems not to be allowed in > ObjectiveC. if I move the label0:; before the try manually, it > works. The xsl would need to be changed, so that if there is a > jvm:label directly after a jvm:catch, they have to be swapped. I > tried but wasn't able to do this myself. Don't know if it has any > side effects, too :/ > > > > Markus > > > > > > > ------------------------------------------------------------------------ > > > > > ------------------------------------------------------------------------------ > > Let Crystal Reports handle the reporting - Free Crystal Reports > 2008 30-Day > > trial. Simplify your report design, integration and deployment - > and focus on > > what you do best, core application coding. Discover what's new with > > Crystal Reports now. http://p.sf.net/sfu/bobj-july > > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > xmlvm-users mailing list > > xml...@li... > <mailto:xml...@li...> > > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > trial. Simplify your report design, integration and deployment - and > focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > xmlvm-users mailing list > xml...@li... > <mailto:xml...@li...> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > > -- > Kis Gergely > MattaKis Consulting > Email: ger...@ma... <mailto:ger...@ma...> > Web: http://www.mattakis.com > Phone: +36 70 408 1723 > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > > > ------------------------------------------------------------------------ > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users |
From: Gergely K. <ger...@ma...> - 2009-11-20 09:12:05
|
Hi, Would it makes sense to add DEX, the Android bytecode format as a new "source language" to xmlvm? Since it is already designed to execute on a register machine, it might be easier to implement. Best Regards, Gergely 2009/11/19 Arno Puder <ar...@pu...> > > that is a known bug. Flow control in the JVM is represented by absolute > jumps which we simply map to gotos in Objective-C. Exceptions sometimes > cause the problems you are experiencing. We have discussed for a long > time to convert the stack machine to register machine that would also > reverse engineer flow control by removing the gotos. This is no easy > matter and is further down on our to-do list. In the meantime you can > probably get around the problem by inserting a dummy statement just > before the try. Something like: > > } else { > int x = 42; > try { > > Arno > > > Markus Heberling wrote: > > Hi, > > > > I have the following java code: > > > > if(args==null){ > > System.out.println(1); > > }else{ > > try{ > > System.out.println(2); > > > > } catch(Exception e){ > > System.out.println(3); > > > > } > > } > > > > It gets converted to the following ObjectiveC code (only relevant part > here) > > > > if (_op1.o != [NSNull null]) goto label0; > > _op1.o = [java_lang_System _GET_out]; > > _stack[_sp++].o = _op1.o; > > _stack[_sp++].i = 1; > > _sp -= 2; > > [((java_io_PrintStream*) _stack[_sp].o) println___int:_stack[_sp + > 1].i]; > > goto label1; > > @try { > > label0:; > > _op1.o = [java_lang_System _GET_out]; > > _stack[_sp++].o = _op1.o; > > _stack[_sp++].i = 2; > > _sp -= 2; > > [((java_io_PrintStream*) _stack[_sp].o) println___int:_stack[_sp + > 1].i]; > > } @catch (java_lang_Exception* _ex) { > > _stack[_sp++].o = _ex; > > goto label7; > > } > > > > This code crashes. The label0 is inside the try and the code jumps into > it from the outside. This seems not to be allowed in ObjectiveC. if I move > the label0:; before the try manually, it works. The xsl would need to be > changed, so that if there is a jvm:label directly after a jvm:catch, they > have to be swapped. I tried but wasn't able to do this myself. Don't know if > it has any side effects, too :/ > > > > Markus > > > > > > ------------------------------------------------------------------------ > > > > > ------------------------------------------------------------------------------ > > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 > 30-Day > > trial. Simplify your report design, integration and deployment - and > focus on > > what you do best, core application coding. Discover what's new with > > Crystal Reports now. http://p.sf.net/sfu/bobj-july > > > > > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > xmlvm-users mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > ------------------------------------------------------------------------------ > Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day > trial. Simplify your report design, integration and deployment - and focus > on > what you do best, core application coding. Discover what's new with > Crystal Reports now. http://p.sf.net/sfu/bobj-july > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > -- Kis Gergely MattaKis Consulting Email: ger...@ma... Web: http://www.mattakis.com Phone: +36 70 408 1723 |