< prev index next >

src/hotspot/share/interpreter/bytecodeInterpreter.cpp

Print this page
rev 56016 : 8229422: Taskqueue: Outdated selection of weak memory model platforms
Reviewed-by:


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);


< prev index next >