src/share/vm/interpreter/interpreterRuntime.cpp

changeset 9013
18366fa39fe0
parent 8885
1832e44a9889
parent 8997
f8a45a60bc6b
child 9041
95a08233f46c
child 9301
d47844b56aaf
     1.1 --- a/src/share/vm/interpreter/interpreterRuntime.cpp	Tue Oct 24 13:06:18 2017 -0700
     1.2 +++ b/src/share/vm/interpreter/interpreterRuntime.cpp	Tue Oct 24 23:06:24 2017 -0700
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -768,7 +768,7 @@
    1.11    // it is not an interface.  The receiver for invokespecial calls within interface
    1.12    // methods must be checked for every call.
    1.13    InstanceKlass* sender = pool->pool_holder();
    1.14 -  sender = sender->is_anonymous() ? InstanceKlass::cast(sender->host_klass()) : sender;
    1.15 +  sender = sender->has_host_klass() ? InstanceKlass::cast(sender->host_klass()) : sender;
    1.16  
    1.17    switch (info.call_kind()) {
    1.18    case CallInfo::direct_call:
    1.19 @@ -786,6 +786,7 @@
    1.20    case CallInfo::itable_call:
    1.21      cache_entry(thread)->set_itable_call(
    1.22        bytecode,
    1.23 +      info.resolved_klass(),
    1.24        info.resolved_method(),
    1.25        info.itable_index());
    1.26      break;

mercurial