< prev index next >

src/hotspot/share/classfile/stackMapTable.hpp

Print this page
*** 1,7 ***
  /*
!  * Copyright (c) 2003, 2023, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.
--- 1,7 ---
  /*
!  * Copyright (c) 2003, 2025, Oracle and/or its affiliates. All rights reserved.
   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   *
   * This code is free software; you can redistribute it and/or modify it
   * under the terms of the GNU General Public License version 2 only, as
   * published by the Free Software Foundation.

*** 125,10 ***
--- 125,13 ---
  
    // information from method
    u2 _max_locals;
    u2 _max_stack;
  
+   // Contains assert_unset_fields generated from classfile
+   StackMapFrame::AssertUnsetFieldTable* _assert_unset_fields_buffer;
+ 
    // Check if reading first entry
    bool _first;
  
    StackMapFrame* next_helper(TRAPS);
    void check_offset(StackMapFrame* frame);

*** 146,21 ***
          "StackMapTable format error: bad type array size");
      }
    }
  
    enum {
      SAME_LOCALS_1_STACK_ITEM_EXTENDED = 247,
      SAME_EXTENDED = 251,
      FULL = 255
    };
  
   public:
    // Constructor
    StackMapReader(ClassVerifier* v, StackMapStream* stream,
                   char* code_data, int32_t code_len,
                   StackMapFrame* init_frame,
!                  u2 max_locals, u2 max_stack, TRAPS);
  
    inline int32_t get_frame_count()   const { return _frame_count; }
    inline StackMapFrame* prev_frame() const { return _prev_frame; }
    inline char* code_data()           const { return _code_data; }
    inline int32_t code_length()       const { return _code_length; }
--- 149,23 ---
          "StackMapTable format error: bad type array size");
      }
    }
  
    enum {
+     ASSERT_UNSET_FIELDS = 246,
      SAME_LOCALS_1_STACK_ITEM_EXTENDED = 247,
      SAME_EXTENDED = 251,
      FULL = 255
    };
  
   public:
    // Constructor
    StackMapReader(ClassVerifier* v, StackMapStream* stream,
                   char* code_data, int32_t code_len,
                   StackMapFrame* init_frame,
!                  u2 max_locals, u2 max_stack,
+                  StackMapFrame::AssertUnsetFieldTable* initial_strict_fields, TRAPS);
  
    inline int32_t get_frame_count()   const { return _frame_count; }
    inline StackMapFrame* prev_frame() const { return _prev_frame; }
    inline char* code_data()           const { return _code_data; }
    inline int32_t code_length()       const { return _code_length; }
< prev index next >