Mercurial > hg > truffle
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: |