comparison src/share/vm/code/nmethod.cpp @ 13101:790ebab62d23

Fix nmethod reloc scanning bug of zombie methods in G1
author Christos Kotselidis <christos.kotselidis@oracle.com>
date Thu, 21 Nov 2013 15:04:26 +0100
parents ca33948fb804
children f9f4503a4ab5
comparison
equal deleted inserted replaced
12769:99769479f9ce 13101:790ebab62d23
1980 // If the method is not entrant or zombie then a JMP is plastered over the 1980 // If the method is not entrant or zombie then a JMP is plastered over the
1981 // first few bytes. If an oop in the old code was there, that oop 1981 // first few bytes. If an oop in the old code was there, that oop
1982 // should not get GC'd. Skip the first few bytes of oops on 1982 // should not get GC'd. Skip the first few bytes of oops on
1983 // not-entrant methods. 1983 // not-entrant methods.
1984 address low_boundary = verified_entry_point(); 1984 address low_boundary = verified_entry_point();
1985 if (is_not_entrant()) { 1985 if (is_not_entrant() || is_zombie()) {
1986 low_boundary += NativeJump::instruction_size; 1986 low_boundary += NativeJump::instruction_size;
1987 // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump. 1987 // %%% Note: On SPARC we patch only a 4-byte trap, not a full NativeJump.
1988 // (See comment above.) 1988 // (See comment above.)
1989 } 1989 }
1990 1990