This is the mail archive of the
java-prs@gcc.gnu.org
mailing list for the Java project.
java/3803: buggy code generation
- To: gcc-gnats at gcc dot gnu dot org
- Subject: java/3803: buggy code generation
- From: turms at web dot de
- Date: 24 Jul 2001 23:01:01 -0000
- Reply-To: turms at web dot de
>Number: 3803
>Category: java
>Synopsis: buggy code generation
>Confidential: no
>Severity: critical
>Priority: medium
>Responsible: unassigned
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Tue Jul 24 16:06:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator: Stephan Goetter
>Release: gcc-20010716
>Organization:
>Environment:
linux-x86-2.4, glibc-2.2
>Description:
Hi,
I tried to compile the rc5-version of the dnetc-client with gcj. after removing the appletcode and a litte patching
The compiler seems to produce bad code or optimize too much.
The program doesn't enter the inner loop so no output is written.
Happens of course only if I compile the java-files.
Not with the class files.
You can get it here:
http://www.hewgill.com/rc5/index.html
Here is my patch to remove the appletcode and get it working.
diff -u -r rc5java-orig/RC5demo.java rc5java/RC5demo.java
--- rc5java-orig/RC5demo.java Mon Nov 10 21:59:48 1997
+++ rc5java/RC5demo.java Sun Jul 22 15:46:36 2001
@@ -1,28 +1,8 @@
// RC5 demo applet.
-import java.applet.Applet;
-import java.awt.BorderLayout;
-import java.awt.Button;
-import java.awt.Component;
-import java.awt.Event;
-import java.awt.GridBagConstraints;
-import java.awt.GridBagLayout;
-import java.awt.Label;
-import java.awt.Panel;
-import java.awt.TextField;
-
-public class RC5demo extends Applet {
- private TextField KeysField;
- private TextField TimeField;
- private TextField RateField;
- private Component GoButton;
+public class RC5demo{
private boolean Standalone;
- public RC5demo()
- {
- Standalone = false;
- }
-
public RC5demo(boolean standalone)
{
Standalone = standalone;
@@ -30,73 +10,14 @@
public void init()
{
- setLayout(new BorderLayout());
- Panel displaypanel = new Panel();
- add(displaypanel);
-
- GridBagLayout gb = new GridBagLayout();
- displaypanel.setLayout(gb);
- GridBagConstraints c = new GridBagConstraints();
-
- c.fill = GridBagConstraints.HORIZONTAL;
- gb.setConstraints(displaypanel.add(new Label("Keys tested: ", Label.RIGHT)), c);
-
- c.gridwidth = GridBagConstraints.REMAINDER;
- KeysField = new TextField(20);
- KeysField.setEditable(false);
- gb.setConstraints(displaypanel.add(KeysField), c);
-
- c.gridwidth = 1;
- gb.setConstraints(displaypanel.add(new Label("Elapsed time: ", Label.RIGHT)), c);
-
- c.gridwidth = GridBagConstraints.REMAINDER;
- TimeField = new TextField(20);
- TimeField.setEditable(false);
- gb.setConstraints(displaypanel.add(TimeField), c);
-
- c.gridwidth = 1;
- gb.setConstraints(displaypanel.add(new Label("Keyrate: ", Label.RIGHT)), c);
-
- c.gridwidth = GridBagConstraints.REMAINDER;
- RateField = new TextField(20);
- RateField.setEditable(false);
- gb.setConstraints(displaypanel.add(RateField), c);
-
- c.fill = GridBagConstraints.NONE;
- GoButton = new Button("Go!");
- gb.setConstraints(displaypanel.add(GoButton), c);
-
- add("Center", displaypanel);
-
- add("North", new Label("RC5 Java Demo Applet (gregh@lightspeed.net)", Label.CENTER));
- }
-
- public boolean action(Event evt, Object what)
- {
- if (evt.target == GoButton) {
- GoButton.disable();
- new Thread(new RC5test(this)).start();
- } else {
- return super.action(evt, what);
- }
- return true;
}
void updateStats(long keys, long time, boolean done)
{
if (Standalone) {
- if (done) {
System.out.println("Keys: " + keys + " keys");
System.out.println("Time: " + time + " ms");
System.out.println("Rate: " + (1000*keys/time) + " keys/sec");
- }
- } else {
- KeysField.setText(Long.toString(keys) + " keys");
- TimeField.setText(Long.toString(time) + " ms");
- RateField.setText(Long.toString(1000*keys/time) + " keys/sec");
- if (done) {
- GoButton.enable();
- }
}
}
>How-To-Repeat:
just try to compile and run the rc5-java-demo
>Fix:
sorry, not available
>Release-Note:
>Audit-Trail:
>Unformatted:
----gnatsweb-attachment----
Content-Type: application/octet-stream; name="rc5.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="rc5.patch"
ZGlmZiAtdSAtciByYzVqYXZhLW9yaWcvUkM1ZGVtby5qYXZhIHJjNWphdmEvUkM1ZGVtby5qYXZh
Ci0tLSByYzVqYXZhLW9yaWcvUkM1ZGVtby5qYXZhCU1vbiBOb3YgMTAgMjE6NTk6NDggMTk5Nwor
KysgcmM1amF2YS9SQzVkZW1vLmphdmEJU3VuIEp1bCAyMiAxNTo0NjozNiAyMDAxCkBAIC0xLDI4
ICsxLDggQEAKIC8vIFJDNSBkZW1vIGFwcGxldC4NCiANCi1pbXBvcnQgamF2YS5hcHBsZXQuQXBw
bGV0Ow0KLWltcG9ydCBqYXZhLmF3dC5Cb3JkZXJMYXlvdXQ7DQotaW1wb3J0IGphdmEuYXd0LkJ1
dHRvbjsNCi1pbXBvcnQgamF2YS5hd3QuQ29tcG9uZW50Ow0KLWltcG9ydCBqYXZhLmF3dC5FdmVu
dDsNCi1pbXBvcnQgamF2YS5hd3QuR3JpZEJhZ0NvbnN0cmFpbnRzOw0KLWltcG9ydCBqYXZhLmF3
dC5HcmlkQmFnTGF5b3V0Ow0KLWltcG9ydCBqYXZhLmF3dC5MYWJlbDsNCi1pbXBvcnQgamF2YS5h
d3QuUGFuZWw7DQotaW1wb3J0IGphdmEuYXd0LlRleHRGaWVsZDsNCi0NCi1wdWJsaWMgY2xhc3Mg
UkM1ZGVtbyBleHRlbmRzIEFwcGxldCB7DQotICBwcml2YXRlIFRleHRGaWVsZCBLZXlzRmllbGQ7
DQotICBwcml2YXRlIFRleHRGaWVsZCBUaW1lRmllbGQ7DQotICBwcml2YXRlIFRleHRGaWVsZCBS
YXRlRmllbGQ7DQotICBwcml2YXRlIENvbXBvbmVudCBHb0J1dHRvbjsNCitwdWJsaWMgY2xhc3Mg
UkM1ZGVtb3sNCiAgIHByaXZhdGUgYm9vbGVhbiBTdGFuZGFsb25lOw0KIA0KLSAgcHVibGljIFJD
NWRlbW8oKQ0KLSAgew0KLSAgICBTdGFuZGFsb25lID0gZmFsc2U7DQotICB9DQotDQogICBwdWJs
aWMgUkM1ZGVtbyhib29sZWFuIHN0YW5kYWxvbmUpDQogICB7DQogICAgIFN0YW5kYWxvbmUgPSBz
dGFuZGFsb25lOw0KQEAgLTMwLDczICsxMCwxNCBAQAogDQogICBwdWJsaWMgdm9pZCBpbml0KCkN
CiAgIHsNCi0gICAgc2V0TGF5b3V0KG5ldyBCb3JkZXJMYXlvdXQoKSk7DQotICAgIFBhbmVsIGRp
c3BsYXlwYW5lbCA9IG5ldyBQYW5lbCgpOw0KLSAgICBhZGQoZGlzcGxheXBhbmVsKTsNCi0NCi0g
ICAgR3JpZEJhZ0xheW91dCBnYiA9IG5ldyBHcmlkQmFnTGF5b3V0KCk7DQotICAgIGRpc3BsYXlw
YW5lbC5zZXRMYXlvdXQoZ2IpOw0KLSAgICBHcmlkQmFnQ29uc3RyYWludHMgYyA9IG5ldyBHcmlk
QmFnQ29uc3RyYWludHMoKTsNCi0NCi0gICAgYy5maWxsID0gR3JpZEJhZ0NvbnN0cmFpbnRzLkhP
UklaT05UQUw7DQotICAgIGdiLnNldENvbnN0cmFpbnRzKGRpc3BsYXlwYW5lbC5hZGQobmV3IExh
YmVsKCJLZXlzIHRlc3RlZDogIiwgTGFiZWwuUklHSFQpKSwgYyk7DQotDQotICAgIGMuZ3JpZHdp
ZHRoID0gR3JpZEJhZ0NvbnN0cmFpbnRzLlJFTUFJTkRFUjsNCi0gICAgS2V5c0ZpZWxkID0gbmV3
IFRleHRGaWVsZCgyMCk7DQotICAgIEtleXNGaWVsZC5zZXRFZGl0YWJsZShmYWxzZSk7DQotICAg
IGdiLnNldENvbnN0cmFpbnRzKGRpc3BsYXlwYW5lbC5hZGQoS2V5c0ZpZWxkKSwgYyk7DQotDQot
ICAgIGMuZ3JpZHdpZHRoID0gMTsNCi0gICAgZ2Iuc2V0Q29uc3RyYWludHMoZGlzcGxheXBhbmVs
LmFkZChuZXcgTGFiZWwoIkVsYXBzZWQgdGltZTogIiwgTGFiZWwuUklHSFQpKSwgYyk7DQotDQot
ICAgIGMuZ3JpZHdpZHRoID0gR3JpZEJhZ0NvbnN0cmFpbnRzLlJFTUFJTkRFUjsNCi0gICAgVGlt
ZUZpZWxkID0gbmV3IFRleHRGaWVsZCgyMCk7DQotICAgIFRpbWVGaWVsZC5zZXRFZGl0YWJsZShm
YWxzZSk7DQotICAgIGdiLnNldENvbnN0cmFpbnRzKGRpc3BsYXlwYW5lbC5hZGQoVGltZUZpZWxk
KSwgYyk7DQotDQotICAgIGMuZ3JpZHdpZHRoID0gMTsNCi0gICAgZ2Iuc2V0Q29uc3RyYWludHMo
ZGlzcGxheXBhbmVsLmFkZChuZXcgTGFiZWwoIktleXJhdGU6ICIsIExhYmVsLlJJR0hUKSksIGMp
Ow0KLQ0KLSAgICBjLmdyaWR3aWR0aCA9IEdyaWRCYWdDb25zdHJhaW50cy5SRU1BSU5ERVI7DQot
ICAgIFJhdGVGaWVsZCA9IG5ldyBUZXh0RmllbGQoMjApOw0KLSAgICBSYXRlRmllbGQuc2V0RWRp
dGFibGUoZmFsc2UpOw0KLSAgICBnYi5zZXRDb25zdHJhaW50cyhkaXNwbGF5cGFuZWwuYWRkKFJh
dGVGaWVsZCksIGMpOw0KLQ0KLSAgICBjLmZpbGwgPSBHcmlkQmFnQ29uc3RyYWludHMuTk9ORTsN
Ci0gICAgR29CdXR0b24gPSBuZXcgQnV0dG9uKCJHbyEiKTsNCi0gICAgZ2Iuc2V0Q29uc3RyYWlu
dHMoZGlzcGxheXBhbmVsLmFkZChHb0J1dHRvbiksIGMpOw0KLQ0KLSAgICBhZGQoIkNlbnRlciIs
IGRpc3BsYXlwYW5lbCk7DQotDQotICAgIGFkZCgiTm9ydGgiLCBuZXcgTGFiZWwoIlJDNSBKYXZh
IERlbW8gQXBwbGV0IChncmVnaEBsaWdodHNwZWVkLm5ldCkiLCBMYWJlbC5DRU5URVIpKTsNCi0g
IH0NCi0NCi0gIHB1YmxpYyBib29sZWFuIGFjdGlvbihFdmVudCBldnQsIE9iamVjdCB3aGF0KQ0K
LSAgew0KLSAgICBpZiAoZXZ0LnRhcmdldCA9PSBHb0J1dHRvbikgew0KLSAgICAgIEdvQnV0dG9u
LmRpc2FibGUoKTsNCi0gICAgICBuZXcgVGhyZWFkKG5ldyBSQzV0ZXN0KHRoaXMpKS5zdGFydCgp
Ow0KLSAgICB9IGVsc2Ugew0KLSAgICAgIHJldHVybiBzdXBlci5hY3Rpb24oZXZ0LCB3aGF0KTsN
Ci0gICAgfQ0KLSAgICByZXR1cm4gdHJ1ZTsNCiAgIH0NCiANCiAgIHZvaWQgdXBkYXRlU3RhdHMo
bG9uZyBrZXlzLCBsb25nIHRpbWUsIGJvb2xlYW4gZG9uZSkNCiAgIHsNCiAgICAgaWYgKFN0YW5k
YWxvbmUpIHsNCi0gICAgICBpZiAoZG9uZSkgew0KICAgICAgICAgU3lzdGVtLm91dC5wcmludGxu
KCJLZXlzOiAiICsga2V5cyArICIga2V5cyIpOw0KICAgICAgICAgU3lzdGVtLm91dC5wcmludGxu
KCJUaW1lOiAiICsgdGltZSArICIgbXMiKTsNCiAgICAgICAgIFN5c3RlbS5vdXQucHJpbnRsbigi
UmF0ZTogIiArICgxMDAwKmtleXMvdGltZSkgKyAiIGtleXMvc2VjIik7DQotICAgICAgfQ0KLSAg
ICB9IGVsc2Ugew0KLSAgICAgIEtleXNGaWVsZC5zZXRUZXh0KExvbmcudG9TdHJpbmcoa2V5cykg
KyAiIGtleXMiKTsNCi0gICAgICBUaW1lRmllbGQuc2V0VGV4dChMb25nLnRvU3RyaW5nKHRpbWUp
ICsgIiBtcyIpOw0KLSAgICAgIFJhdGVGaWVsZC5zZXRUZXh0KExvbmcudG9TdHJpbmcoMTAwMCpr
ZXlzL3RpbWUpICsgIiBrZXlzL3NlYyIpOw0KLSAgICAgIGlmIChkb25lKSB7DQotICAgICAgICBH
b0J1dHRvbi5lbmFibGUoKTsNCi0gICAgICB9DQogICAgIH0NCiAgIH0NCiANCg==