< prev index next >

src/cpu/s390/vm/interp_masm_s390.cpp

Print this page

*** 1,8 **** /* * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. ! * Copyright (c) 2016 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,8 ---- /* * Copyright (c) 2016, 2017, Oracle and/or its affiliates. All rights reserved. ! * Copyright (c) 2016, 2017 SAP SE. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 385,394 **** --- 385,404 ---- #endif z_agr(result, index); // Address of indexed array element. load_heap_oop(result, arrayOopDesc::base_offset_in_bytes(T_OBJECT), result); } + // load cpool->resolved_klass_at(index) + void InterpreterMacroAssembler::load_resolved_klass_at_offset(Register cpool, Register offset, Register iklass) { + // int value = *(Rcpool->int_at_addr(which)); + // int resolved_klass_index = extract_low_short_from_int(value); + z_llgh(offset, Address(cpool, offset, sizeof(ConstantPool) + 2)); // offset = resolved_klass_index (s390 is big-endian) + z_sllg(offset, offset, LogBytesPerWord); // Convert 'index' to 'offset' + z_lg(iklass, Address(cpool, ConstantPool::resolved_klasses_offset_in_bytes())); // iklass = cpool->_resolved_klasses + z_lg(iklass, Address(iklass, offset, Array<Klass*>::base_offset_in_bytes())); + } + void InterpreterMacroAssembler::get_cache_entry_pointer_at_bcp(Register cache, Register tmp, int bcp_offset, size_t index_size) { BLOCK_COMMENT("get_cache_entry_pointer_at_bcp {");
< prev index next >