View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0000522 | mercury | Bug | public | 2020-10-08 21:55 | 2020-10-16 07:15 | ||||
Reporter | juliensf | ||||||||
Assigned To | zs | ||||||||
Priority | normal | Severity | minor | Reproducibility | have not tried | ||||
Status | resolved | Resolution | fixed | ||||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0000522: Compiler not building in Java grade with rotd-2020-09-29 onwards | ||||||||
Description | The Java code we generate for update_opt_tuple/7 in compiler/optimization_options.m exceeds the 64k limit on method byte code size in Java. Making Java class files Mercury/javas/jmercury/libs__optimization_options.java:13287: error: code too large update_opt_tuple_7_p_0( ^ Note: Some input files use unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. 1 error | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
Notes | |
zs (developer) 2020-10-08 22:04 |
The obvious fix is to make each arm of the switch its own predicate. I can do that, if you like. BTW, why the hell is such a limit still in effect in 2020, especially without an override flag? Are they concerned about porting programs to PDP-11s? |
juliensf (administrator) 2020-10-08 22:28 |
Thanks, I suspect that's probably the best short term fix for this. (A better fix might be to get the MLDS->Java code generator to do such splitting on switches past a certain size threshold, but that may too much work for one instance of the problem.) IIRC, that limit (and a few others) are pretty deeply baked into the design of the JVM and changing them while preserving backwards compatibility would be non trivial. |
zs (developer) 2020-10-16 07:15 |
Fix committed 2020 oct 13. |
Issue History | |||
Date Modified | Username | Field | Change |
---|---|---|---|
2020-10-08 21:55 | juliensf | New Issue | |
2020-10-08 22:04 | zs | Note Added: 0001109 | |
2020-10-08 22:28 | juliensf | Note Added: 0001110 | |
2020-10-16 07:15 | zs | Assigned To | => zs |
2020-10-16 07:15 | zs | Status | new => resolved |
2020-10-16 07:15 | zs | Resolution | open => fixed |
2020-10-16 07:15 | zs | Note Added: 0001121 |