equal
deleted
inserted
replaced
185 receiver_limit = mklass; |
185 receiver_limit = mklass; |
186 if (m->is_initializer()) { |
186 if (m->is_initializer()) { |
187 flags |= IS_CONSTRUCTOR | (JVM_REF_invokeSpecial << REFERENCE_KIND_SHIFT); |
187 flags |= IS_CONSTRUCTOR | (JVM_REF_invokeSpecial << REFERENCE_KIND_SHIFT); |
188 } else if (mods.is_static()) { |
188 } else if (mods.is_static()) { |
189 flags |= IS_METHOD | (JVM_REF_invokeStatic << REFERENCE_KIND_SHIFT); |
189 flags |= IS_METHOD | (JVM_REF_invokeStatic << REFERENCE_KIND_SHIFT); |
|
190 // Check if this method is a lambda method that is generated as |
|
191 // private static method. |
|
192 if (m->is_private() && m->method_holder()->is_interface()) { |
|
193 vmindex = klassItable::compute_itable_index(m); |
|
194 } |
190 } else if (receiver_limit != mklass && |
195 } else if (receiver_limit != mklass && |
191 !receiver_limit->is_subtype_of(mklass)) { |
196 !receiver_limit->is_subtype_of(mklass)) { |
192 return NULL; // bad receiver limit |
197 return NULL; // bad receiver limit |
193 } else if (receiver_limit->is_interface() && |
198 } else if (receiver_limit->is_interface() && |
194 mklass->is_interface()) { |
199 mklass->is_interface()) { |