comparison src/share/vm/interpreter/rewriter.hpp @ 17665:10c9507f544a

8033528: assert(0 <= i && i < length()) failed: index out of bounds Summary: Restoring bytecodes for invokedynamic had wrong index calculation added testing stress option. Reviewed-by: twisti, hseigel
author coleenp
date Fri, 07 Feb 2014 18:30:27 -0500
parents d61a1a166f44
children 4ca6dc0799b6
comparison
equal deleted inserted replaced
17664:76a75ac07a92 17665:10c9507f544a
1 /* 1 /*
2 * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 1998, 2014, 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.
197 void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse); 197 void maybe_rewrite_ldc(address bcp, int offset, bool is_wide, bool reverse);
198 void rewrite_invokespecial(address bcp, int offset, bool reverse, bool* invokespecial_error); 198 void rewrite_invokespecial(address bcp, int offset, bool reverse, bool* invokespecial_error);
199 199
200 void patch_invokedynamic_bytecodes(); 200 void patch_invokedynamic_bytecodes();
201 201
202 // Do all the work.
203 void rewrite_bytecodes(TRAPS);
204
202 // Revert bytecodes in case of an exception. 205 // Revert bytecodes in case of an exception.
203 void restore_bytecodes(); 206 void restore_bytecodes();
204 207
205 static methodHandle rewrite_jsrs(methodHandle m, TRAPS); 208 static methodHandle rewrite_jsrs(methodHandle m, TRAPS);
206 public: 209 public: