2858 interface(CONST_INTER);
2859 %}
2860
2861 // Pointer Immediate One
2862 // this is used in object initialization (initial object header)
2863 operand immP_1()
2864 %{
2865 predicate(n->get_ptr() == 1);
2866 match(ConP);
2867
2868 op_cost(0);
2869 format %{ %}
2870 interface(CONST_INTER);
2871 %}
2872
2873 // Card Table Byte Map Base
2874 operand immByteMapBase()
2875 %{
2876 // Get base of card map
2877 predicate(BarrierSet::barrier_set()->is_a(BarrierSet::CardTableBarrierSet) &&
2878 (CardTable::CardValue*)n->get_ptr() ==
2879 ((CardTableBarrierSet*)(BarrierSet::barrier_set()))->card_table()->byte_map_base());
2880 match(ConP);
2881
2882 op_cost(0);
2883 format %{ %}
2884 interface(CONST_INTER);
2885 %}
2886
2887 // Int Immediate: low 16-bit mask
2888 operand immI_16bits()
2889 %{
2890 predicate(n->get_int() == 0xFFFF);
2891 match(ConI);
2892 op_cost(0);
2893 format %{ %}
2894 interface(CONST_INTER);
2895 %}
2896
2897 operand immIpowerOf2() %{
|
2858 interface(CONST_INTER);
2859 %}
2860
2861 // Pointer Immediate One
2862 // this is used in object initialization (initial object header)
2863 operand immP_1()
2864 %{
2865 predicate(n->get_ptr() == 1);
2866 match(ConP);
2867
2868 op_cost(0);
2869 format %{ %}
2870 interface(CONST_INTER);
2871 %}
2872
2873 // Card Table Byte Map Base
2874 operand immByteMapBase()
2875 %{
2876 // Get base of card map
2877 predicate(BarrierSet::barrier_set()->is_a(BarrierSet::CardTableBarrierSet) &&
2878 SHENANDOAHGC_ONLY(!BarrierSet::barrier_set()->is_a(BarrierSet::ShenandoahBarrierSet) &&)
2879 (CardTable::CardValue*)n->get_ptr() ==
2880 ((CardTableBarrierSet*)(BarrierSet::barrier_set()))->card_table()->byte_map_base());
2881 match(ConP);
2882
2883 op_cost(0);
2884 format %{ %}
2885 interface(CONST_INTER);
2886 %}
2887
2888 // Int Immediate: low 16-bit mask
2889 operand immI_16bits()
2890 %{
2891 predicate(n->get_int() == 0xFFFF);
2892 match(ConI);
2893 op_cost(0);
2894 format %{ %}
2895 interface(CONST_INTER);
2896 %}
2897
2898 operand immIpowerOf2() %{
|