From: Steve H. <st...@we...> - 2013-11-12 23:46:22
|
In order to make development more productive, I'd like to be able to recompile only those Java files that have been modified since my last compile. Looking at the code, it looks like this won't be possible (for the Java to C conversion) because all of the strings are generated centrally in a file called constant_pool.m, and explicit string indexes are used in the actual generated C files when using a string constant. This means that modifying any single Java file could result in changes to all other java files, since it would change the string index of all string literals. Is there a setting for XMLVM to disable the string pool usage, and instead just use xmlvm_create_java_string("...") to create the strings. Alternatively, is there another approach that can be used to make the generated source files independent of each other? Any pointers appreciated. Steve |
From: Arno P. <ar...@pu...> - 2013-11-13 17:11:39
|
the compile times are indeed not great due to the dependency analysis. It would theoretically be possible to compile all of Harmony into a library while disabling optimizations such as constant pool and vtable. In this case you would only have to recompile the application classes. That would make a dramatic difference, but unfortunately is not easy to do. Your idea about using xmlvm_create_java_string() is a low-hanging fruit and should not be too difficult to implement, however, at this point there is no command line option for this. Arno On 11/12/13 3:17 PM, Steve Hannah wrote: > In order to make development more productive, I'd like to be able to > recompile only those Java files that have been modified since my last > compile. Looking at the code, it looks like this won't be possible (for > the Java to C conversion) because all of the strings are generated > centrally in a file called constant_pool.m, and explicit string indexes > are used in the actual generated C files when using a string constant. > This means that modifying any single Java file could result in changes > to all other java files, since it would change the string index of all > string literals. > > Is there a setting for XMLVM to disable the string pool usage, and > instead just use xmlvm_create_java_string("...") to create the strings. > Alternatively, is there another approach that can be used to make the > generated source files independent of each other? > > Any pointers appreciated. > > Steve > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > > > > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > |
From: Paul P. <bay...@gm...> - 2013-11-14 00:40:20
|
As XMLVM currently is, I avoid much of the unnecessary compilation via the "rsync -zvrc" command. I have an ANT script that does everything, but assuming "--out=build/xbin" (your target will be xbin2 though): 1. Delete everything in "build" except "xbin2" 2. Run xmlvm.jar on the Java project into build/xbin 3. Execute "rsync -zvrc build/xbin/build build/xbin/dist build/xbin2" 4. Delete build/xbin 5. Do the C compilation in xbin2, not xbin. Because xbin2 was not deleted, it will already have the previously compiled files Note that you'll occasionally want to delete "build/xbin2" when you feel that it needs to be cleaned. That of course will cause entire project C recompilation. This works for Obj-C projects using XCode as well. Thanks, Paul On Wed, Nov 13, 2013 at 10:03 AM, Arno Puder <ar...@pu...> wrote: > > the compile times are indeed not great due to the dependency analysis. > It would theoretically be possible to compile all of Harmony into a > library while disabling optimizations such as constant pool and vtable. > In this case you would only have to recompile the application classes. > That would make a dramatic difference, but unfortunately is not easy to > do. Your idea about using xmlvm_create_java_string() is a low-hanging > fruit and should not be too difficult to implement, however, at this > point there is no command line option for this. > > Arno > > > On 11/12/13 3:17 PM, Steve Hannah wrote: > > In order to make development more productive, I'd like to be able to > > recompile only those Java files that have been modified since my last > > compile. Looking at the code, it looks like this won't be possible (for > > the Java to C conversion) because all of the strings are generated > > centrally in a file called constant_pool.m, and explicit string indexes > > are used in the actual generated C files when using a string constant. > > This means that modifying any single Java file could result in changes > > to all other java files, since it would change the string index of all > > string literals. > > > > Is there a setting for XMLVM to disable the string pool usage, and > > instead just use xmlvm_create_java_string("...") to create the strings. > > Alternatively, is there another approach that can be used to make the > > generated source files independent of each other? > > > > Any pointers appreciated. > > > > Steve > > > > > > > ------------------------------------------------------------------------------ > > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > > Free app hosting. Or install the open source package on any LAMP server. > > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > > > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > > > > > > > > _______________________________________________ > > xmlvm-users mailing list > > xml...@li... > > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > |
From: Panayotis K. <pan...@pa...> - 2013-11-14 12:37:06
|
> As XMLVM currently is, I avoid much of the unnecessary compilation via the "rsync -zvrc" command. There is some code in the build scripts of the projects that avoid recompilation, if the produced code is the same. This works under Objective C - I haven't tried it under C, but it should work too. That would be probably more user friendly than the rsync method. On Thu, Nov 14, 2013 at 2:40 AM, Paul Poley <bay...@gm...> wrote: > As XMLVM currently is, I avoid much of the unnecessary compilation via the > "rsync -zvrc" command. > > I have an ANT script that does everything, but assuming "--out=build/xbin" > (your target will be xbin2 though): > > Delete everything in "build" except "xbin2" > Run xmlvm.jar on the Java project into build/xbin > Execute "rsync -zvrc build/xbin/build build/xbin/dist build/xbin2" > Delete build/xbin > Do the C compilation in xbin2, not xbin. Because xbin2 was not deleted, it > will already have the previously compiled files > > Note that you'll occasionally want to delete "build/xbin2" when you feel > that it needs to be cleaned. That of course will cause entire project C > recompilation. > > This works for Obj-C projects using XCode as well. > > Thanks, > Paul > > > On Wed, Nov 13, 2013 at 10:03 AM, Arno Puder <ar...@pu...> wrote: >> >> >> the compile times are indeed not great due to the dependency analysis. >> It would theoretically be possible to compile all of Harmony into a >> library while disabling optimizations such as constant pool and vtable. >> In this case you would only have to recompile the application classes. >> That would make a dramatic difference, but unfortunately is not easy to >> do. Your idea about using xmlvm_create_java_string() is a low-hanging >> fruit and should not be too difficult to implement, however, at this >> point there is no command line option for this. >> >> Arno >> >> >> On 11/12/13 3:17 PM, Steve Hannah wrote: >> > In order to make development more productive, I'd like to be able to >> > recompile only those Java files that have been modified since my last >> > compile. Looking at the code, it looks like this won't be possible (for >> > the Java to C conversion) because all of the strings are generated >> > centrally in a file called constant_pool.m, and explicit string indexes >> > are used in the actual generated C files when using a string constant. >> > This means that modifying any single Java file could result in changes >> > to all other java files, since it would change the string index of all >> > string literals. >> > >> > Is there a setting for XMLVM to disable the string pool usage, and >> > instead just use xmlvm_create_java_string("...") to create the strings. >> > Alternatively, is there another approach that can be used to make the >> > generated source files independent of each other? >> > >> > Any pointers appreciated. >> > >> > Steve >> > >> > >> > >> > ------------------------------------------------------------------------------ >> > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps >> > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access >> > Free app hosting. Or install the open source package on any LAMP server. >> > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! >> > >> > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk >> > >> > >> > >> > _______________________________________________ >> > xmlvm-users mailing list >> > xml...@li... >> > https://lists.sourceforge.net/lists/listinfo/xmlvm-users >> > >> >> >> ------------------------------------------------------------------------------ >> DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps >> OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access >> Free app hosting. Or install the open source package on any LAMP server. >> Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! >> >> http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk >> _______________________________________________ >> xmlvm-users mailing list >> xml...@li... >> https://lists.sourceforge.net/lists/listinfo/xmlvm-users > > > > ------------------------------------------------------------------------------ > DreamFactory - Open Source REST & JSON Services for HTML5 & Native Apps > OAuth, Users, Roles, SQL, NoSQL, BLOB Storage and External API Access > Free app hosting. Or install the open source package on any LAMP server. > Sign up and see examples for AngularJS, jQuery, Sencha Touch and Native! > http://pubads.g.doubleclick.net/gampad/clk?id=63469471&iu=/4140/ostg.clktrk > _______________________________________________ > xmlvm-users mailing list > xml...@li... > https://lists.sourceforge.net/lists/listinfo/xmlvm-users > -- Panayotis Katsaloulis |