1957 }
1958 }
1959 #endif /* VM_JVMTI */
1960
1961 oop obj;
1962 if ((Bytecodes::Code)opcode == Bytecodes::_getstatic) {
1963 Klass* k = cache->f1_as_klass();
1964 obj = k->java_mirror();
1965 MORE_STACK(1); // Assume single slot push
1966 } else {
1967 obj = (oop) STACK_OBJECT(-1);
1968 CHECK_NULL(obj);
1969 }
1970
1971 //
1972 // Now store the result on the stack
1973 //
1974 TosState tos_type = cache->flag_state();
1975 int field_offset = cache->f2_as_index();
1976 if (cache->is_volatile()) {
1977 if (support_IRIW_for_not_multiple_copy_atomic_cpu) {
1978 OrderAccess::fence();
1979 }
1980 if (tos_type == atos) {
1981 VERIFY_OOP(obj->obj_field_acquire(field_offset));
1982 SET_STACK_OBJECT(obj->obj_field_acquire(field_offset), -1);
1983 } else if (tos_type == itos) {
1984 SET_STACK_INT(obj->int_field_acquire(field_offset), -1);
1985 } else if (tos_type == ltos) {
1986 SET_STACK_LONG(obj->long_field_acquire(field_offset), 0);
1987 MORE_STACK(1);
1988 } else if (tos_type == btos || tos_type == ztos) {
1989 SET_STACK_INT(obj->byte_field_acquire(field_offset), -1);
1990 } else if (tos_type == ctos) {
1991 SET_STACK_INT(obj->char_field_acquire(field_offset), -1);
1992 } else if (tos_type == stos) {
1993 SET_STACK_INT(obj->short_field_acquire(field_offset), -1);
1994 } else if (tos_type == ftos) {
1995 SET_STACK_FLOAT(obj->float_field_acquire(field_offset), -1);
1996 } else {
1997 SET_STACK_DOUBLE(obj->double_field_acquire(field_offset), 0);
|
1957 }
1958 }
1959 #endif /* VM_JVMTI */
1960
1961 oop obj;
1962 if ((Bytecodes::Code)opcode == Bytecodes::_getstatic) {
1963 Klass* k = cache->f1_as_klass();
1964 obj = k->java_mirror();
1965 MORE_STACK(1); // Assume single slot push
1966 } else {
1967 obj = (oop) STACK_OBJECT(-1);
1968 CHECK_NULL(obj);
1969 }
1970
1971 //
1972 // Now store the result on the stack
1973 //
1974 TosState tos_type = cache->flag_state();
1975 int field_offset = cache->f2_as_index();
1976 if (cache->is_volatile()) {
1977 if (SUPPORT_IRIW_FOR_NOT_MULTI_COPY_ATOMIC_CPU) {
1978 OrderAccess::fence();
1979 }
1980 if (tos_type == atos) {
1981 VERIFY_OOP(obj->obj_field_acquire(field_offset));
1982 SET_STACK_OBJECT(obj->obj_field_acquire(field_offset), -1);
1983 } else if (tos_type == itos) {
1984 SET_STACK_INT(obj->int_field_acquire(field_offset), -1);
1985 } else if (tos_type == ltos) {
1986 SET_STACK_LONG(obj->long_field_acquire(field_offset), 0);
1987 MORE_STACK(1);
1988 } else if (tos_type == btos || tos_type == ztos) {
1989 SET_STACK_INT(obj->byte_field_acquire(field_offset), -1);
1990 } else if (tos_type == ctos) {
1991 SET_STACK_INT(obj->char_field_acquire(field_offset), -1);
1992 } else if (tos_type == stos) {
1993 SET_STACK_INT(obj->short_field_acquire(field_offset), -1);
1994 } else if (tos_type == ftos) {
1995 SET_STACK_FLOAT(obj->float_field_acquire(field_offset), -1);
1996 } else {
1997 SET_STACK_DOUBLE(obj->double_field_acquire(field_offset), 0);
|