Mercurial > hg > truffle
comparison src/share/vm/opto/parse2.cpp @ 12866:f478c98e8114
8024774: assert(_con < t->is_tuple()->cnt()) failed: ProjNode::_con must be in range
Reviewed-by: iveresov, roland, kvn, twisti
author | vlivanov |
---|---|
date | Mon, 07 Oct 2013 14:12:23 +0400 |
parents | 6f3fd5150b67 |
children | b2ee5dc63353 |
comparison
equal
deleted
inserted
replaced
12865:5cc2d82aa82a | 12866:f478c98e8114 |
---|---|
266 } | 266 } |
267 bool adjoin(jint value, int dest, int table_index) { | 267 bool adjoin(jint value, int dest, int table_index) { |
268 return adjoinRange(value, value, dest, table_index); | 268 return adjoinRange(value, value, dest, table_index); |
269 } | 269 } |
270 | 270 |
271 void print(ciEnv* env) { | 271 void print() { |
272 if (is_singleton()) | 272 if (is_singleton()) |
273 tty->print(" {%d}=>%d", lo(), dest()); | 273 tty->print(" {%d}=>%d", lo(), dest()); |
274 else if (lo() == min_jint) | 274 else if (lo() == min_jint) |
275 tty->print(" {..%d}=>%d", hi(), dest()); | 275 tty->print(" {..%d}=>%d", hi(), dest()); |
276 else if (hi() == max_jint) | 276 else if (hi() == max_jint) |
469 Node* jtn = _gvn.transform( new (C) JumpNode(control(), key_val, num_cases) ); | 469 Node* jtn = _gvn.transform( new (C) JumpNode(control(), key_val, num_cases) ); |
470 | 470 |
471 // These are the switch destinations hanging off the jumpnode | 471 // These are the switch destinations hanging off the jumpnode |
472 int i = 0; | 472 int i = 0; |
473 for (SwitchRange* r = lo; r <= hi; r++) { | 473 for (SwitchRange* r = lo; r <= hi; r++) { |
474 for (int j = r->lo(); j <= r->hi(); j++, i++) { | 474 for (int64 j = r->lo(); j <= r->hi(); j++, i++) { |
475 Node* input = _gvn.transform(new (C) JumpProjNode(jtn, i, r->dest(), j - lowval)); | 475 Node* input = _gvn.transform(new (C) JumpProjNode(jtn, i, r->dest(), (int)(j - lowval))); |
476 { | 476 { |
477 PreserveJVMState pjvms(this); | 477 PreserveJVMState pjvms(this); |
478 set_control(input); | 478 set_control(input); |
479 jump_if_always_fork(r->dest(), r->table_index()); | 479 jump_if_always_fork(r->dest(), r->table_index()); |
480 } | 480 } |
630 if (_max_switch_depth > _est_switch_depth) { | 630 if (_max_switch_depth > _est_switch_depth) { |
631 tty->print_cr("******** BAD SWITCH DEPTH ********"); | 631 tty->print_cr("******** BAD SWITCH DEPTH ********"); |
632 } | 632 } |
633 tty->print(" "); | 633 tty->print(" "); |
634 for( r = lo; r <= hi; r++ ) { | 634 for( r = lo; r <= hi; r++ ) { |
635 r->print(env()); | 635 r->print(); |
636 } | 636 } |
637 tty->print_cr(""); | 637 tty->print_cr(""); |
638 } | 638 } |
639 #endif | 639 #endif |
640 } | 640 } |