src/share/vm/adlc/adlparse.cpp

changeset 5791
c9ccd7b85f20
parent 4537
39901f2f1abe
child 6198
55fb97c4c58d
child 6478
044b28168e20
     1.1 --- a/src/share/vm/adlc/adlparse.cpp	Thu Sep 26 12:07:53 2013 -0700
     1.2 +++ b/src/share/vm/adlc/adlparse.cpp	Fri Sep 27 08:39:19 2013 +0200
     1.3 @@ -3395,12 +3395,16 @@
     1.4    char *greater_equal;
     1.5    char *less_equal;
     1.6    char *greater;
     1.7 +  char *overflow;
     1.8 +  char *no_overflow;
     1.9    const char *equal_format = "eq";
    1.10    const char *not_equal_format = "ne";
    1.11    const char *less_format = "lt";
    1.12    const char *greater_equal_format = "ge";
    1.13    const char *less_equal_format = "le";
    1.14    const char *greater_format = "gt";
    1.15 +  const char *overflow_format = "o";
    1.16 +  const char *no_overflow_format = "no";
    1.17  
    1.18    if (_curchar != '%') {
    1.19      parse_err(SYNERR, "Missing '%%{' for 'cond_interface' block.\n");
    1.20 @@ -3437,6 +3441,12 @@
    1.21      else if ( strcmp(field,"greater") == 0 ) {
    1.22        greater = interface_field_parse(&greater_format);
    1.23      }
    1.24 +    else if ( strcmp(field,"overflow") == 0 ) {
    1.25 +      overflow = interface_field_parse(&overflow_format);
    1.26 +    }
    1.27 +    else if ( strcmp(field,"no_overflow") == 0 ) {
    1.28 +      no_overflow = interface_field_parse(&no_overflow_format);
    1.29 +    }
    1.30      else {
    1.31        parse_err(SYNERR, "Expected keyword, base|index|scale|disp,  or '%%}' ending interface.\n");
    1.32        return NULL;
    1.33 @@ -3455,7 +3465,9 @@
    1.34                                         less,          less_format,
    1.35                                         greater_equal, greater_equal_format,
    1.36                                         less_equal,    less_equal_format,
    1.37 -                                       greater,       greater_format);
    1.38 +                                       greater,       greater_format,
    1.39 +                                       overflow,      overflow_format,
    1.40 +                                       no_overflow,   no_overflow_format);
    1.41    return inter;
    1.42  }
    1.43  

mercurial