4672 interface(CONST_INTER);
4673 %}
4674
4675 // Pointer Immediate One
4676 // this is used in object initialization (initial object header)
4677 operand immP_1()
4678 %{
4679 predicate(n->get_ptr() == 1);
4680 match(ConP);
4681
4682 op_cost(0);
4683 format %{ %}
4684 interface(CONST_INTER);
4685 %}
4686
4687 // Card Table Byte Map Base
4688 operand immByteMapBase()
4689 %{
4690 // Get base of card map
4691 predicate(BarrierSet::barrier_set()->is_a(BarrierSet::CardTableBarrierSet) &&
4692 (CardTable::CardValue*)n->get_ptr() == ((CardTableBarrierSet*)(BarrierSet::barrier_set()))->card_table()->byte_map_base());
4693 match(ConP);
4694
4695 op_cost(0);
4696 format %{ %}
4697 interface(CONST_INTER);
4698 %}
4699
4700 // Pointer Immediate Minus One
4701 // this is used when we want to write the current PC to the thread anchor
4702 operand immP_M1()
4703 %{
4704 predicate(n->get_ptr() == -1);
4705 match(ConP);
4706
4707 op_cost(0);
4708 format %{ %}
4709 interface(CONST_INTER);
4710 %}
4711
|
4672 interface(CONST_INTER);
4673 %}
4674
4675 // Pointer Immediate One
4676 // this is used in object initialization (initial object header)
4677 operand immP_1()
4678 %{
4679 predicate(n->get_ptr() == 1);
4680 match(ConP);
4681
4682 op_cost(0);
4683 format %{ %}
4684 interface(CONST_INTER);
4685 %}
4686
4687 // Card Table Byte Map Base
4688 operand immByteMapBase()
4689 %{
4690 // Get base of card map
4691 predicate(BarrierSet::barrier_set()->is_a(BarrierSet::CardTableBarrierSet) &&
4692 SHENANDOAHGC_ONLY(!BarrierSet::barrier_set()->is_a(BarrierSet::ShenandoahBarrierSet) &&)
4693 (CardTable::CardValue*)n->get_ptr() == ((CardTableBarrierSet*)(BarrierSet::barrier_set()))->card_table()->byte_map_base());
4694 match(ConP);
4695
4696 op_cost(0);
4697 format %{ %}
4698 interface(CONST_INTER);
4699 %}
4700
4701 // Pointer Immediate Minus One
4702 // this is used when we want to write the current PC to the thread anchor
4703 operand immP_M1()
4704 %{
4705 predicate(n->get_ptr() == -1);
4706 match(ConP);
4707
4708 op_cost(0);
4709 format %{ %}
4710 interface(CONST_INTER);
4711 %}
4712
|