Mercurial > hg > truffle
comparison src/share/vm/runtime/frame.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 | 54f5dd2aa1d9 |
children | 3582bf76420e |
comparison
equal
deleted
inserted
replaced
2130:34d64ad817f4 | 2142:8012aa3ccede |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 1997, 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. |
928 // Process a callee's arguments if we are at a call site | 928 // Process a callee's arguments if we are at a call site |
929 // (i.e., if we are at an invoke bytecode) | 929 // (i.e., if we are at an invoke bytecode) |
930 // This is used sometimes for calling into the VM, not for another | 930 // This is used sometimes for calling into the VM, not for another |
931 // interpreted or compiled frame. | 931 // interpreted or compiled frame. |
932 if (!m->is_native()) { | 932 if (!m->is_native()) { |
933 Bytecode_invoke *call = Bytecode_invoke_at_check(m, bci); | 933 Bytecode_invoke call = Bytecode_invoke_check(m, bci); |
934 if (call != NULL) { | 934 if (call.is_valid()) { |
935 signature = symbolHandle(thread, call->signature()); | 935 signature = symbolHandle(thread, call.signature()); |
936 has_receiver = call->has_receiver(); | 936 has_receiver = call.has_receiver(); |
937 if (map->include_argument_oops() && | 937 if (map->include_argument_oops() && |
938 interpreter_frame_expression_stack_size() > 0) { | 938 interpreter_frame_expression_stack_size() > 0) { |
939 ResourceMark rm(thread); // is this right ??? | 939 ResourceMark rm(thread); // is this right ??? |
940 // we are at a call site & the expression stack is not empty | 940 // we are at a call site & the expression stack is not empty |
941 // => process callee's arguments | 941 // => process callee's arguments |