index 21ad4db6c1a2a9aa3dcc2cb24b4088f2c2fafc93..189d8d275421b67a4fc2081d664c37ccf4149fc7 100644 (file)
jvm_generate(p, 2 * cell_size, 1, "%ccmp%c", prefix, fop);
jvm_generate(p, 1, 1, "if%s L%i", cmpop, label_true);
}
+ else if(prefix == 'a')
+ {
+ if(t -> class == OBERON_TYPE_STRING
+ || (t -> class == OBERON_TYPE_POINTER && t -> base -> class == OBERON_TYPE_CHAR))
+ {
+ jvm_generate(p, 2, 1, "invokestatic SYSTEM/STRCMP([B[B)I");
+ jvm_generate(p, 1, 0, "if%s L%i", cmpop, label_true);
+ }
+ else
+ {
+ jvm_generate(p, 1, 0, "if_acmp%s L%i", cmpop, label_true);
+ }
+ }
else
{
jvm_generate(p, 2 * cell_size, 0, "if_%ccmp%s L%i", prefix, cmpop, label_true);