< prev index next >

src/hotspot/cpu/arm/c1_LIRAssembler_arm.cpp

Print this page
*** 143,11 ***
    offsets()->set_value(CodeOffsets::OSR_Entry, code_offset());
    BlockBegin* osr_entry = compilation()->hir()->osr_entry();
    ValueStack* entry_state = osr_entry->end()->state();
    int number_of_locks = entry_state->locks_size();
  
!   __ build_frame(initial_frame_size_in_bytes(), bang_size_in_bytes());
    Register OSR_buf = osrBufferPointer()->as_pointer_register();
  
    assert(frame::interpreter_frame_monitor_size() == BasicObjectLock::size(), "adjust code below");
    int monitor_offset = (method()->max_locals() + 2 * (number_of_locks - 1)) * BytesPerWord;
    for (int i = 0; i < number_of_locks; i++) {
--- 143,11 ---
    offsets()->set_value(CodeOffsets::OSR_Entry, code_offset());
    BlockBegin* osr_entry = compilation()->hir()->osr_entry();
    ValueStack* entry_state = osr_entry->end()->state();
    int number_of_locks = entry_state->locks_size();
  
!   __ build_frame(initial_frame_size_in_bytes(), bang_size_in_bytes(), compilation()->max_monitors());
    Register OSR_buf = osrBufferPointer()->as_pointer_register();
  
    assert(frame::interpreter_frame_monitor_size() == BasicObjectLock::size(), "adjust code below");
    int monitor_offset = (method()->max_locals() + 2 * (number_of_locks - 1)) * BytesPerWord;
    for (int i = 0; i < number_of_locks; i++) {

*** 969,11 ***
      __ allocate_array(op->obj()->as_register(),
                        op->len()->as_register(),
                        op->tmp1()->as_register(),
                        op->tmp2()->as_register(),
                        op->tmp3()->as_register(),
!                       arrayOopDesc::header_size(op->type()),
                        type2aelembytes(op->type()),
                        op->klass()->as_register(),
                        *op->stub()->entry());
    }
    __ bind(*op->stub()->continuation());
--- 969,11 ---
      __ allocate_array(op->obj()->as_register(),
                        op->len()->as_register(),
                        op->tmp1()->as_register(),
                        op->tmp2()->as_register(),
                        op->tmp3()->as_register(),
!                       arrayOopDesc::base_offset_in_bytes(op->type()),
                        type2aelembytes(op->type()),
                        op->klass()->as_register(),
                        *op->stub()->entry());
    }
    __ bind(*op->stub()->continuation());
< prev index next >