Mercurial > hg > graal-compiler
comparison src/share/vm/classfile/stackMapFrame.hpp @ 18052:2373a1f4987c
8036533: Method for correct defaults
8036156: Limit default method hierarchy
Summary: Fix protected access checks
Reviewed-by: coleenp, lfoltan, acorn, ahgross
author | hseigel |
---|---|
date | Fri, 09 May 2014 15:21:20 -0400 |
parents | f36e073d56a4 |
children | c77d5db18942 |
comparison
equal
deleted
inserted
replaced
18051:21444610cb92 | 18052:2373a1f4987c |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2003, 2013, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2003, 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. |
236 // is assignable to type. | 236 // is assignable to type. |
237 inline VerificationType pop_stack(VerificationType type, TRAPS) { | 237 inline VerificationType pop_stack(VerificationType type, TRAPS) { |
238 if (_stack_size != 0) { | 238 if (_stack_size != 0) { |
239 VerificationType top = _stack[_stack_size - 1]; | 239 VerificationType top = _stack[_stack_size - 1]; |
240 bool subtype = type.is_assignable_from( | 240 bool subtype = type.is_assignable_from( |
241 top, verifier(), CHECK_(VerificationType::bogus_type())); | 241 top, verifier(), false, CHECK_(VerificationType::bogus_type())); |
242 if (subtype) { | 242 if (subtype) { |
243 --_stack_size; | 243 --_stack_size; |
244 return top; | 244 return top; |
245 } | 245 } |
246 } | 246 } |
251 VerificationType type1, VerificationType type2, TRAPS) { | 251 VerificationType type1, VerificationType type2, TRAPS) { |
252 assert(type1.is_long2() || type1.is_double2(), "must be long/double"); | 252 assert(type1.is_long2() || type1.is_double2(), "must be long/double"); |
253 assert(type2.is_long() || type2.is_double(), "must be long/double_2"); | 253 assert(type2.is_long() || type2.is_double(), "must be long/double_2"); |
254 if (_stack_size >= 2) { | 254 if (_stack_size >= 2) { |
255 VerificationType top1 = _stack[_stack_size - 1]; | 255 VerificationType top1 = _stack[_stack_size - 1]; |
256 bool subtype1 = type1.is_assignable_from(top1, verifier(), CHECK); | 256 bool subtype1 = type1.is_assignable_from(top1, verifier(), false, CHECK); |
257 VerificationType top2 = _stack[_stack_size - 2]; | 257 VerificationType top2 = _stack[_stack_size - 2]; |
258 bool subtype2 = type2.is_assignable_from(top2, verifier(), CHECK); | 258 bool subtype2 = type2.is_assignable_from(top2, verifier(), false, CHECK); |
259 if (subtype1 && subtype2) { | 259 if (subtype1 && subtype2) { |
260 _stack_size -= 2; | 260 _stack_size -= 2; |
261 return; | 261 return; |
262 } | 262 } |
263 } | 263 } |