src/share/vm/adlc/dfa.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File
*** old/src/share/vm/adlc/dfa.cpp	Mon Dec  8 17:22:49 2008
--- new/src/share/vm/adlc/dfa.cpp	Mon Dec  8 17:22:48 2008

*** 456,466 **** --- 456,466 ---- Expr::check_buffers(); } class dfa_shared_preds { ! enum { count = 2 }; ! enum { count = 4 }; static bool _found[count]; static const char* _type [count]; static const char* _var [count]; static const char* _pred [count];
*** 477,492 **** --- 477,495 ---- // Check previous character and recurse if needed char *prev = shared - 1; char c = *prev; switch( c ) { case ' ': + case '\n': return dfa_shared_preds::valid_loc(pred, prev); case '!': case '(': case '<': case '=': return true; + case '"': // such as: #line 10 "myfile.ad"\n mypredicate + return true; case '|': if( prev != pred && *(prev-1) == '|' ) return true; case '&': if( prev != pred && *(prev-1) == '&' ) return true; default:
*** 562,575 **** --- 565,582 ---- } } } }; // shared predicates, _var and _pred entry should be the same length - bool dfa_shared_preds::_found[dfa_shared_preds::count] = { false, false }; ! const char* dfa_shared_preds::_type[dfa_shared_preds::count] = { "int", "bool" }; ! const char* dfa_shared_preds::_var [dfa_shared_preds::count] = { "_n_get_int__", "Compile__current____select_24_bit_instr__" }; ! const char* dfa_shared_preds::_pred[dfa_shared_preds::count] = { "n->get_int()", "Compile::current()->select_24_bit_instr()" }; ! = { false, false, false, false }; ! const char* dfa_shared_preds::_type[dfa_shared_preds::count] ! = { "int", "jlong", "intptr_t", "bool" }; + const char* dfa_shared_preds::_var [dfa_shared_preds::count] + = { "_n_get_int__", "_n_get_long__", "_n_get_intptr_t__", "Compile__current____select_24_bit_instr__" }; + const char* dfa_shared_preds::_pred[dfa_shared_preds::count] + = { "n->get_int()", "n->get_long()", "n->get_intptr_t()", "Compile::current()->select_24_bit_instr()" }; void ArchDesc::gen_dfa_state_body(FILE* fp, Dict &minimize, ProductionState &status, Dict &operands_chained_from, int i) { // Start the body of each Op_XXX sub-dfa with a clean state. status.initialize();

src/share/vm/adlc/dfa.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File