Mercurial > hg > graal-compiler
comparison src/share/vm/opto/graphKit.hpp @ 342:37f87013dfd8
6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
author | ysr |
---|---|
date | Thu, 05 Jun 2008 15:57:56 -0700 |
parents | a61af66fc99e |
children | 1b9fc6e3171b |
comparison
equal
deleted
inserted
replaced
189:0b27f3512f9e | 342:37f87013dfd8 |
---|---|
22 * | 22 * |
23 */ | 23 */ |
24 | 24 |
25 class FastLockNode; | 25 class FastLockNode; |
26 class FastUnlockNode; | 26 class FastUnlockNode; |
27 class IdealKit; | |
27 class Parse; | 28 class Parse; |
28 class RootNode; | 29 class RootNode; |
29 | 30 |
30 //----------------------------------------------------------------------------- | 31 //----------------------------------------------------------------------------- |
31 //----------------------------GraphKit----------------------------------------- | 32 //----------------------------GraphKit----------------------------------------- |
579 static bool use_ReduceInitialCardMarks() { | 580 static bool use_ReduceInitialCardMarks() { |
580 return (ReduceInitialCardMarks | 581 return (ReduceInitialCardMarks |
581 && Universe::heap()->can_elide_tlab_store_barriers()); | 582 && Universe::heap()->can_elide_tlab_store_barriers()); |
582 } | 583 } |
583 | 584 |
585 // G1 pre/post barriers | |
586 void g1_write_barrier_pre(Node* obj, | |
587 Node* adr, | |
588 uint alias_idx, | |
589 Node* val, | |
590 const Type* val_type, | |
591 BasicType bt); | |
592 | |
593 void g1_write_barrier_post(Node* store, | |
594 Node* obj, | |
595 Node* adr, | |
596 uint alias_idx, | |
597 Node* val, | |
598 BasicType bt, | |
599 bool use_precise); | |
600 // Helper function for g1 | |
601 private: | |
602 void g1_mark_card(IdealKit* ideal, Node* card_adr, Node* store, Node* index, Node* index_adr, | |
603 Node* buffer, const TypeFunc* tf); | |
604 | |
605 public: | |
584 // Helper function to round double arguments before a call | 606 // Helper function to round double arguments before a call |
585 void round_double_arguments(ciMethod* dest_method); | 607 void round_double_arguments(ciMethod* dest_method); |
586 void round_double_result(ciMethod* dest_method); | 608 void round_double_result(ciMethod* dest_method); |
587 | 609 |
588 // rounding for strict float precision conformance | 610 // rounding for strict float precision conformance |