Tweak a conditional expression in pearl.c to work around a display bug

in the Java build - which turns out to be a JVM bug in OpenJDK 6,
causing the NestedVM rendition of the expression (i==1?3:4) to be
mis-JITed. OpenJDK 7 appears not to do that any more, but this
equivalent (for these purposes) rephrasing should perturb the code
just enough to dodge the problem.

[originally from svn r9408]
This commit is contained in:
Simon Tatham
2012-02-17 19:07:31 +00:00
parent 21629d7e44
commit f38adf6394

View File

@ -2279,7 +2279,7 @@ static void draw_square(drawing *dr, game_drawstate *ds, game_ui *ui,
/* Draw a clue, if present */ /* Draw a clue, if present */
if (clue != NOCLUE) { if (clue != NOCLUE) {
int c = (lflags & DS_FLASH) ? COL_FLASH : int c = (lflags & DS_FLASH) ? COL_FLASH :
(clue == CORNER) ? COL_BLACK : COL_WHITE; (clue == STRAIGHT) ? COL_WHITE : COL_BLACK;
if (lflags & DS_ERROR_CLUE) /* draw a bigger 'error' clue circle. */ if (lflags & DS_ERROR_CLUE) /* draw a bigger 'error' clue circle. */
draw_circle(dr, cx, cy, TILE_SIZE*3/8, COL_ERROR, COL_ERROR); draw_circle(dr, cx, cy, TILE_SIZE*3/8, COL_ERROR, COL_ERROR);