hotspot/src/share/vm/classfile/stackMapFrame.hpp
changeset 43179 06ccf3bfd0a3
parent 35194 7151995ee79e
equal deleted inserted replaced
43178:6fb98b21d035 43179:06ccf3bfd0a3
     1 /*
     1 /*
     2  * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 2003, 2016, 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.
   165   // Copy stack type array in src into this stack type array.
   165   // Copy stack type array in src into this stack type array.
   166   void copy_stack(const StackMapFrame* src);
   166   void copy_stack(const StackMapFrame* src);
   167 
   167 
   168   // Return true if this stack map frame is assignable to target.
   168   // Return true if this stack map frame is assignable to target.
   169   bool is_assignable_to(
   169   bool is_assignable_to(
   170       const StackMapFrame* target, bool is_exception_handler,
   170       const StackMapFrame* target, ErrorContext* ctx, TRAPS) const;
   171       ErrorContext* ctx, TRAPS) const;
       
   172 
   171 
   173   inline void set_mark() {
   172   inline void set_mark() {
   174 #ifdef ASSERT
   173 #ifdef ASSERT
   175     // Put bogus type to indicate it's no longer valid.
   174     // Put bogus type to indicate it's no longer valid.
   176     if (_stack_mark != -1) {
   175     if (_stack_mark != -1) {
   288   // Private auxiliary method used only in is_assignable_to(StackMapFrame).
   287   // Private auxiliary method used only in is_assignable_to(StackMapFrame).
   289   // Returns true if src is assignable to target.
   288   // Returns true if src is assignable to target.
   290   int is_assignable_to(
   289   int is_assignable_to(
   291     VerificationType* src, VerificationType* target, int32_t len, TRAPS) const;
   290     VerificationType* src, VerificationType* target, int32_t len, TRAPS) const;
   292 
   291 
   293   bool has_flag_match_exception(const StackMapFrame* target) const;
       
   294 
       
   295   TypeOrigin stack_top_ctx();
   292   TypeOrigin stack_top_ctx();
   296 
   293 
   297   void print_on(outputStream* str) const;
   294   void print_on(outputStream* str) const;
   298 };
   295 };
   299 
   296