NetRexx 3.08 BETA

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

NetRexx 3.08 BETA

rvjansen
A small update on 3.08. The beta is available online at netrexx.org . There was a delay because the Pipelines compiler had an - intermittent - bug that caused 1 in 10 compiles to fail because it failed to dynamically load the classes needed in a pipeline specification. This was a minor nuisance for some time now (actually as long as I can remember) but it turned out that on slower platforms it was much more severe. I have taken out all ‘performance enhancing’ JIT-caches - we are an order of magnitude faster than in 1999 when the last work on the pipes compiler was done - including the configuration file that it read before resolving the class names - and this seems to solve it. At least, I did not see it occur once after the fix was in.

With this working, there is now a dependable way of including pipes in NetRexx programs, which looks a lot like how it is done with Classic Rexx and CMS Pipelines on z/VM. At least, I am happy with this new perspective. Because the VM people I showed it to were not particularly happy with the ! (exclamation marks) as default stage separator, I have decided to change this to |, the pipe symbol also used on CMS. You can still switch it to anything you want with the ‘sep’ option.

The last slowdown was the class persistence mechanism in the NetRexx compiler itself. When fixing the Eclipse compiler class generation bug for 3.07, an error was introduced, that meant that classes with names that were substrings of other classes, could end up in the wrong classfile. For example, console.class and xconsole.class were sometimes mixed up, as were literal.class and strliteral.class. This now has been fixed conclusively.

The 3.08 version will include the following changes:

- restore OS/2 and Java 6 compatibility
- suppress generics-related warnings by adding a @SuppressWarnings annotation
- default stage separator is now | like on zVM
- cleaned up pipes examples to make sure they all compile
- fixed C2X function on specs pipe stage
- added listzip stage
- added zip stage
- added unzip stage
- pipes compiler command is now called pipc
- the pipe command now (compiles and) runs a pipeline
- added Pipes for NetRexx docs to distribution
- display failed summaries last - Jason Martin
- substr classname persistence problem fixed

I encourage you to download this beta when it is available and test it, so it can be released somewhere in August. After this is out of the way, serious attention will be needed to get NetRexx to run with the Java 9 module system; although it still is in good company of some major software products in requiring Java 8 or less.

Some aspects of the beta package will change, like the documentation, examples or batch files. The code however, except for bug fixes for the beta period, is fixed.
Given the nature of the last bugfix, I advise to move the NetRexx jars, after some testing, quickly to your production environments.

best regards,

René Jansen.


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx 3.08 BETA

Jason Martin
I have a special version of NetRexxC that cleans the code as I build in
my path.

A "git clone https://urldefense.proofpoint.com/v2/url?u=https-3A__git.code.sf.net_p_netrexx_code&d=DwICaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=NCQ7c-olm3eD6HZSoG93XAjKlBAEHKPCBOtq8hqDWyM&s=gbLXlezV74iFxRciIqpY3KuMckDyW_LhJjVfbwVeoQE&e=  netrexx-code"

cd netrexx-code

ant

Is picking up my cleaning tool

It should not be right?

It should be using what you shipped.


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx 3.08 BETA

Jason Martin
In reply to this post by rvjansen
RxMethod.nrx
line 778
rxt.program.streamer.out('@SuppressWarnings("unchecked")')

Would adding a line feed here break things?

Looks OK in some small files using -format.

Runs together with method name in large files.

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx 3.08 BETA

rvjansen
In reply to this post by Jason Martin
Hi Jason,

It picks up what it finds first in classpath. The build should run without set classpath; maybe do an export CLASSPATH= first and see what you get.

Best regards,

René.

> On 17 Jul 2019, at 18:02, Jason Martin <[hidden email]> wrote:
>
> I have a special version of NetRexxC that cleans the code as I build in my path.
>
> A "git clone https://urldefense.proofpoint.com/v2/url?u=https-3A__git.code.sf.net_p_netrexx_code&d=DwICaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=NCQ7c-olm3eD6HZSoG93XAjKlBAEHKPCBOtq8hqDWyM&s=gbLXlezV74iFxRciIqpY3KuMckDyW_LhJjVfbwVeoQE&e=  netrexx-code"
>
> cd netrexx-code
>
> ant
>
> Is picking up my cleaning tool
>
> It should not be right?
>
> It should be using what you shipped.
>
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : https://urldefense.proofpoint.com/v2/url?u=http-3A__ibm-2Dnetrexx.215625.n3.nabble.com_&d=DwIFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=OBLiqOrHc8yYawX_JjAEClWtDj4NVcyc1nPCfrSyNuE&s=uhoSV-uexXrDVrBrGcxJF7CUTYZSKZP-wMavDK4j2zw&e= 
>


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx 3.08 BETA

rvjansen
In reply to this post by Jason Martin
Hi,

It probably will not. Let me put one in.

René.

> On 17 Jul 2019, at 19:02, Jason Martin <[hidden email]> wrote:
>
> RxMethod.nrx
> line 778
> rxt.program.streamer.out('@SuppressWarnings("unchecked")')
>
> Would adding a line feed here break things?
>
> Looks OK in some small files using -format.
>
> Runs together with method name in large files.
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : https://urldefense.proofpoint.com/v2/url?u=http-3A__ibm-2Dnetrexx.215625.n3.nabble.com_&d=DwIFaQ&c=jf_iaSHvJObTbx-siA1ZOg&r=_6rXNpPJ1fYV-3bV1za02NiR4PUelvicfHXwtnTXpXE&m=9kSX--3rlAwz0NcU-h0dU389V_9d8dsFk6RTjmii6aE&s=obnGRvtMHFuG5JTHQi_NDt-fei0n9YS2X0BMcVmlPZs&e= 
>


_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx 3.08 BETA

Jason Martin
In reply to this post by rvjansen
Setting these to true on build

   <property name="ant.netrexxc.format" value="true"/>
   <property name="ant.netrexxc.keep" value="true"/>
   <property name="ant.netrexxc.keepasjava" value="true"/>

Does not change Rexx.java with commit a few minutes ago.

But most all the other files look good.

/* ----- Constructors ----- */

/** Make a Rexx object from a char  */
/* 96.05.29 -- this is much more common than before */
@SuppressWarnings("unchecked")public Rexx(char inchar){
super();char $new[];netrexx.lang.Rexx r;$new=new char[1];
$new[0]=inchar;
r=new netrexx.lang.Rexx($new,true); // we need to test numericality
chars=r.chars;ind=r.ind;mant=r.mant;exp=r.exp;
dig=r.dig;form=r.form;
return;}

/** Make a Rexx object from an array of chars.  This copies the
    character array.  */
@SuppressWarnings("unchecked")public Rexx(char in[]){super();char
$new[];netrexx.lang.Rexx r;
$new=new char[in.length];
java.lang.System.arraycopy((java.lang.Object)in,0,(java.lang.Object)$new,0,in.length);




_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx 3.08 BETA

Jason Martin
In reply to this post by rvjansen
About 1500 methods right.

About 300 with no line break.

Not sure?

Still did not hurt to add.

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: NetRexx 3.08 BETA

Jason Martin
In reply to this post by rvjansen
René,  the fix with \n on RxMethod.nrx works.

I was not updating NetRexxC.jar before next build.

It has been awhile since I have been through all this.

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/