Lines Matching defs:delta

55    void relocate(int break_bci, int delta) { if (_bci > break_bci) { _bci += delta; } }
57 virtual bool adjust(int bci, int delta) { return false; }
83 ChangeJumpWiden(int bci, int delta) : ChangeItem(bci) { _delta = delta; }
90 // If the bci matches, adjust the delta in the change jump request.
91 bool adjust(int jump_bci, int delta) {
94 _delta += delta;
96 _delta -= delta;
265 // otherwise adjust the item already there by delta. The calculation for
268 void Relocator::push_jump_widen(int bci, int delta, int new_delta) {
271 if (ci->adjust(bci, delta)) return;
280 // the span of the jump by "delta".
281 void Relocator::change_jump(int bci, int offset, bool is_short, int break_bci, int delta) {
289 new_delta = bci_delta + delta;
291 new_delta = bci_delta - delta;
294 push_jump_widen(bci, delta, new_delta);
304 // Changes all jumps crossing "break_bci" by "delta". May enqueue things
306 void Relocator::change_jumps(int break_bci, int delta) {
330 change_jump(bci, bci+1, true, break_bci, delta);
334 change_jump(bci, bci+1, false, break_bci, delta);
343 int new_bci = bci + delta;
356 change_jump(bci, bci +1 + oldPad, false, break_bci, delta);
362 change_jump(bci, bci +1 + oldPad + 4*(k+3), false, break_bci, delta);
371 change_jump(bci, bci +1 + oldPad, false, break_bci, delta);
375 change_jump(bci, bci + 1 + oldPad + 4*(2 + 2*k + 1), false, break_bci, delta);
392 // The width of instruction at "pc" is changing by "delta". Adjust the
394 void Relocator::adjust_exception_table(int bci, int delta) {
398 table.set_start_pc(index, table.start_pc(index) + delta);
399 table.set_end_pc(index, table.end_pc(index) + delta);
401 table.set_end_pc(index, table.end_pc(index) + delta);
404 table.set_handler_pc(index, table.handler_pc(index) + delta);
409 // The width of instruction at "bci" is changing by "delta". Adjust the line number table.
410 void Relocator::adjust_line_no_table(int bci, int delta) {
415 int adjustment = (reader.bci() > bci) ? delta : 0;
425 // The width of instruction at "bci" is changing by "delta". Adjust the local variable table.
426 void Relocator::adjust_local_var_table(int bci, int delta) {
433 table[i].start_bci = current_bci + delta;
437 table[i].length = current_length + delta;
463 // The width of instruction at "bci" is changing by "delta". Adjust the stack
465 void Relocator::adjust_stack_map_table(int bci, int delta) {
482 int new_offset_delta = offset_delta + delta;
490 // The new delta exceeds the capacity of the 'same_frame' or
497 // We can safely ignore the reverse situation as a small delta
531 types->set_bci(types->bci() + delta);
544 types->set_bci(types->bci() + delta);
558 bool Relocator::expand_code_array(int delta) {
559 int length = MAX2(code_length() + delta, code_length() * (100+code_slop_pct()) / 100);
562 if (delta == 0 && code_length() <= MAX_METHOD_LENGTH) {
588 // "delta". Reallocate, move code, recalculate jumps, and enqueue
590 bool Relocator::relocate_code(int bci, int ilen, int delta) {
592 if (delta > 0 && code_length() + delta > code_array_length()) {
594 if (!expand_code_array(delta)) {
602 change_jumps(bci, delta);
607 if (delta < 0) {
608 assert(delta>=-3, "we cannot overwrite more than 3 bytes");
609 memcpy(_overwrite, addr_at(bci + ilen + delta), -delta);
612 memmove(addr_at(next_bci + delta), addr_at(next_bci), code_length() - next_bci);
613 set_code_length(code_length() + delta);
615 adjust_exception_table(bci, delta);
617 adjust_line_no_table(bci, delta);
619 adjust_local_var_table(bci, delta);
622 adjust_stack_map_table(bci, delta);
627 ci->relocate(bci, delta);
631 notify(bci, delta, code_length());
651 bool Relocator::handle_jump_widen(int bci, int delta) {
681 // 6 _goto_w <wide delta offset>
686 if (!relocate_code(bci, 3, /*delta*/add_bci)) return false;
695 // goto_w <wide delta>
698 if (delta > 0) {
699 delta += 2; // goto_w is 2 bytes more than "if" code
701 delta -= ilen+goto_length; // branch starts at goto_w offset
703 int_at_put(cbci + 1, delta);
718 if (delta > 0) delta += 2;
719 int_at_put(bci + 1, delta);