Mercurial > hg > graal-jvmci-8
comparison src/share/vm/opto/graphKit.hpp @ 825:8f5825e0aeaa
6818666: G1: Type lost in g1 pre-barrier
Reviewed-by: kvn
author | never |
---|---|
date | Fri, 26 Jun 2009 13:03:29 -0700 |
parents | 9c6be3edf0dc |
children | fc4be448891f |
comparison
equal
deleted
inserted
replaced
824:18a08a7e16b5 | 825:8f5825e0aeaa |
---|---|
452 Node* store_oop_to_object(Node* ctl, | 452 Node* store_oop_to_object(Node* ctl, |
453 Node* obj, // containing obj | 453 Node* obj, // containing obj |
454 Node* adr, // actual adress to store val at | 454 Node* adr, // actual adress to store val at |
455 const TypePtr* adr_type, | 455 const TypePtr* adr_type, |
456 Node* val, | 456 Node* val, |
457 const Type* val_type, | 457 const TypeOopPtr* val_type, |
458 BasicType bt); | 458 BasicType bt); |
459 | 459 |
460 Node* store_oop_to_array(Node* ctl, | 460 Node* store_oop_to_array(Node* ctl, |
461 Node* obj, // containing obj | 461 Node* obj, // containing obj |
462 Node* adr, // actual adress to store val at | 462 Node* adr, // actual adress to store val at |
463 const TypePtr* adr_type, | 463 const TypePtr* adr_type, |
464 Node* val, | 464 Node* val, |
465 const Type* val_type, | 465 const TypeOopPtr* val_type, |
466 BasicType bt); | 466 BasicType bt); |
467 | 467 |
468 // Could be an array or object we don't know at compile time (unsafe ref.) | 468 // Could be an array or object we don't know at compile time (unsafe ref.) |
469 Node* store_oop_to_unknown(Node* ctl, | 469 Node* store_oop_to_unknown(Node* ctl, |
470 Node* obj, // containing obj | 470 Node* obj, // containing obj |
471 Node* adr, // actual adress to store val at | 471 Node* adr, // actual adress to store val at |
472 const TypePtr* adr_type, | 472 const TypePtr* adr_type, |
473 Node* val, | 473 Node* val, |
474 const Type* val_type, | |
475 BasicType bt); | 474 BasicType bt); |
476 | 475 |
477 // For the few case where the barriers need special help | 476 // For the few case where the barriers need special help |
478 void pre_barrier(Node* ctl, Node* obj, Node* adr, uint adr_idx, | 477 void pre_barrier(Node* ctl, Node* obj, Node* adr, uint adr_idx, |
479 Node* val, const Type* val_type, BasicType bt); | 478 Node* val, const TypeOopPtr* val_type, BasicType bt); |
480 | 479 |
481 void post_barrier(Node* ctl, Node* store, Node* obj, Node* adr, uint adr_idx, | 480 void post_barrier(Node* ctl, Node* store, Node* obj, Node* adr, uint adr_idx, |
482 Node* val, BasicType bt, bool use_precise); | 481 Node* val, BasicType bt, bool use_precise); |
483 | 482 |
484 // Return addressing for an array element. | 483 // Return addressing for an array element. |
597 // G1 pre/post barriers | 596 // G1 pre/post barriers |
598 void g1_write_barrier_pre(Node* obj, | 597 void g1_write_barrier_pre(Node* obj, |
599 Node* adr, | 598 Node* adr, |
600 uint alias_idx, | 599 uint alias_idx, |
601 Node* val, | 600 Node* val, |
602 const Type* val_type, | 601 const TypeOopPtr* val_type, |
603 BasicType bt); | 602 BasicType bt); |
604 | 603 |
605 void g1_write_barrier_post(Node* store, | 604 void g1_write_barrier_post(Node* store, |
606 Node* obj, | 605 Node* obj, |
607 Node* adr, | 606 Node* adr, |