comparison src/share/vm/prims/jvmtiRedefineClasses.cpp @ 2142:8012aa3ccede

4926272: methodOopDesc::method_from_bcp is unsafe Reviewed-by: coleenp, jrose, kvn, dcubed
author never
date Thu, 13 Jan 2011 22:15:41 -0800
parents dad31fc330cd
children 3582bf76420e
comparison
equal deleted inserted replaced
2130:34d64ad817f4 2142:8012aa3ccede
1 /* 1 /*
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 * 4 *
5 * This code is free software; you can redistribute it and/or modify it 5 * This code is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License version 2 only, as 6 * under the terms of the GNU General Public License version 2 only, as
7 * published by the Free Software Foundation. 7 * published by the Free Software Foundation.
1456 1456
1457 bc_length = Bytecodes::length_for(c); 1457 bc_length = Bytecodes::length_for(c);
1458 if (bc_length == 0) { 1458 if (bc_length == 0) {
1459 // More complicated bytecodes report a length of zero so 1459 // More complicated bytecodes report a length of zero so
1460 // we have to try again a slightly different way. 1460 // we have to try again a slightly different way.
1461 bc_length = Bytecodes::length_at(bcp); 1461 bc_length = Bytecodes::length_at(method(), bcp);
1462 } 1462 }
1463 1463
1464 assert(bc_length != 0, "impossible bytecode length"); 1464 assert(bc_length != 0, "impossible bytecode length");
1465 1465
1466 switch (c) { 1466 switch (c) {