855 l = in_jvms->mon_size(); |
855 l = in_jvms->mon_size(); |
856 out_jvms->set_monoff(p); |
856 out_jvms->set_monoff(p); |
857 for (j = 0; j < l; j++) |
857 for (j = 0; j < l; j++) |
858 call->set_req(p++, in_map->in(k+j)); |
858 call->set_req(p++, in_map->in(k+j)); |
859 |
859 |
|
860 // Copy any scalar object fields. |
|
861 k = in_jvms->scloff(); |
|
862 l = in_jvms->scl_size(); |
|
863 out_jvms->set_scloff(p); |
|
864 for (j = 0; j < l; j++) |
|
865 call->set_req(p++, in_map->in(k+j)); |
|
866 |
860 // Finish the new jvms. |
867 // Finish the new jvms. |
861 out_jvms->set_endoff(p); |
868 out_jvms->set_endoff(p); |
862 |
869 |
863 assert(out_jvms->endoff() == debug_end, "fill ptr must match"); |
870 assert(out_jvms->endoff() == debug_end, "fill ptr must match"); |
864 assert(out_jvms->depth() == in_jvms->depth(), "depth must match"); |
871 assert(out_jvms->depth() == in_jvms->depth(), "depth must match"); |
865 assert(out_jvms->loc_size() == in_jvms->loc_size(), "size must match"); |
872 assert(out_jvms->loc_size() == in_jvms->loc_size(), "size must match"); |
866 assert(out_jvms->mon_size() == in_jvms->mon_size(), "size must match"); |
873 assert(out_jvms->mon_size() == in_jvms->mon_size(), "size must match"); |
|
874 assert(out_jvms->scl_size() == in_jvms->scl_size(), "size must match"); |
867 assert(out_jvms->debug_size() == in_jvms->debug_size(), "size must match"); |
875 assert(out_jvms->debug_size() == in_jvms->debug_size(), "size must match"); |
868 |
876 |
869 // Update the two tail pointers in parallel. |
877 // Update the two tail pointers in parallel. |
870 out_jvms = out_jvms->caller(); |
878 out_jvms = out_jvms->caller(); |
871 in_jvms = in_jvms->caller(); |
879 in_jvms = in_jvms->caller(); |