src/share/vm/interpreter/interpreterRuntime.cpp

changeset 2462
8012aa3ccede
parent 2328
9bc798875b2a
child 2464
633a44a9fc45
     1.1 --- a/src/share/vm/interpreter/interpreterRuntime.cpp	Wed Jan 12 13:59:18 2011 -0800
     1.2 +++ b/src/share/vm/interpreter/interpreterRuntime.cpp	Thu Jan 13 22:15:41 2011 -0800
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2011, 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 @@ -132,9 +132,9 @@
    1.11           bytecode == Bytecodes::_fast_aldc_w, "wrong bc");
    1.12    ResourceMark rm(thread);
    1.13    methodHandle m (thread, method(thread));
    1.14 -  Bytecode_loadconstant* ldc = Bytecode_loadconstant_at(m, bci(thread));
    1.15 -  oop result = ldc->resolve_constant(THREAD);
    1.16 -  DEBUG_ONLY(ConstantPoolCacheEntry* cpce = m->constants()->cache()->entry_at(ldc->cache_index()));
    1.17 +  Bytecode_loadconstant ldc(m, bci(thread));
    1.18 +  oop result = ldc.resolve_constant(THREAD);
    1.19 +  DEBUG_ONLY(ConstantPoolCacheEntry* cpce = m->constants()->cache()->entry_at(ldc.cache_index()));
    1.20    assert(result == cpce->f1(), "expected result for assembly code");
    1.21  }
    1.22  IRT_END
    1.23 @@ -672,8 +672,8 @@
    1.24    if (bytecode == Bytecodes::_invokevirtual || bytecode == Bytecodes::_invokeinterface) {
    1.25      ResourceMark rm(thread);
    1.26      methodHandle m (thread, method(thread));
    1.27 -    Bytecode_invoke* call = Bytecode_invoke_at(m, bci(thread));
    1.28 -    symbolHandle signature (thread, call->signature());
    1.29 +    Bytecode_invoke call(m, bci(thread));
    1.30 +    symbolHandle signature (thread, call.signature());
    1.31      receiver = Handle(thread,
    1.32                    thread->last_frame().interpreter_callee_receiver(signature));
    1.33      assert(Universe::heap()->is_in_reserved_or_null(receiver()),
    1.34 @@ -756,7 +756,7 @@
    1.35      caller_bci = caller_method->bci_from(caller_bcp);
    1.36      site_index = Bytes::get_native_u4(caller_bcp+1);
    1.37    }
    1.38 -  assert(site_index == InterpreterRuntime::bytecode(thread)->get_index_u4(bytecode), "");
    1.39 +  assert(site_index == InterpreterRuntime::bytecode(thread).get_index_u4(bytecode), "");
    1.40    assert(constantPoolCacheOopDesc::is_secondary_index(site_index), "proper format");
    1.41    // there is a second CPC entries that is of interest; it caches signature info:
    1.42    int main_index = pool->cache()->secondary_entry_at(site_index)->main_entry_index();
    1.43 @@ -1245,9 +1245,9 @@
    1.44    assert(fr.is_interpreted_frame(), "");
    1.45    jint bci = fr.interpreter_frame_bci();
    1.46    methodHandle mh(thread, fr.interpreter_frame_method());
    1.47 -  Bytecode_invoke* invoke = Bytecode_invoke_at(mh, bci);
    1.48 -  ArgumentSizeComputer asc(invoke->signature());
    1.49 -  int size_of_arguments = (asc.size() + (invoke->has_receiver() ? 1 : 0)); // receiver
    1.50 +  Bytecode_invoke invoke(mh, bci);
    1.51 +  ArgumentSizeComputer asc(invoke.signature());
    1.52 +  int size_of_arguments = (asc.size() + (invoke.has_receiver() ? 1 : 0)); // receiver
    1.53    Copy::conjoint_jbytes(src_address, dest_address,
    1.54                         size_of_arguments * Interpreter::stackElementSize);
    1.55  IRT_END

mercurial