< prev index next >

src/share/vm/opto/callnode.cpp

Print this page
rev 10504 : value type calling convention

*** 741,751 **** // instance at the specified offset. // bool CallNode::may_modify(const TypeOopPtr *t_oop, PhaseTransform *phase) { assert((t_oop != NULL), "sanity"); if (is_call_to_arraycopystub() && strcmp(_name, "unsafe_arraycopy") != 0) { ! const TypeTuple* args = _tf->domain(); Node* dest = NULL; // Stubs that can be called once an ArrayCopyNode is expanded have // different signatures. Look for the second pointer argument, // that is the destination of the copy. for (uint i = TypeFunc::Parms, j = 0; i < args->cnt(); i++) { --- 741,751 ---- // instance at the specified offset. // bool CallNode::may_modify(const TypeOopPtr *t_oop, PhaseTransform *phase) { assert((t_oop != NULL), "sanity"); if (is_call_to_arraycopystub() && strcmp(_name, "unsafe_arraycopy") != 0) { ! const TypeTuple* args = _tf->domain_sig(); Node* dest = NULL; // Stubs that can be called once an ArrayCopyNode is expanded have // different signatures. Look for the second pointer argument, // that is the destination of the copy. for (uint i = TypeFunc::Parms, j = 0; i < args->cnt(); i++) {
*** 789,799 **** if ((inst_t != NULL) && (!inst_t->klass_is_exact() || (inst_t->klass() == boxing_klass))) { return true; } } ! const TypeTuple* d = tf()->domain(); for (uint i = TypeFunc::Parms; i < d->cnt(); i++) { const TypeInstPtr* inst_t = d->field_at(i)->isa_instptr(); if ((inst_t != NULL) && (!inst_t->klass_is_exact() || (inst_t->klass() == boxing_klass))) { return true; --- 789,799 ---- if ((inst_t != NULL) && (!inst_t->klass_is_exact() || (inst_t->klass() == boxing_klass))) { return true; } } ! const TypeTuple* d = tf()->domain_cc(); for (uint i = TypeFunc::Parms; i < d->cnt(); i++) { const TypeInstPtr* inst_t = d->field_at(i)->isa_instptr(); if ((inst_t != NULL) && (!inst_t->klass_is_exact() || (inst_t->klass() == boxing_klass))) { return true;
*** 805,815 **** return true; } // Does this call have a direct reference to n other than debug information? bool CallNode::has_non_debug_use(Node *n) { ! const TypeTuple * d = tf()->domain(); for (uint i = TypeFunc::Parms; i < d->cnt(); i++) { Node *arg = in(i); if (arg == n) { return true; } --- 805,815 ---- return true; } // Does this call have a direct reference to n other than debug information? bool CallNode::has_non_debug_use(Node *n) { ! const TypeTuple * d = tf()->domain_cc(); for (uint i = TypeFunc::Parms; i < d->cnt(); i++) { Node *arg = in(i); if (arg == n) { return true; }
< prev index next >