jdk/src/share/native/com/sun/java/util/jar/pack/bands.h
author ksrini
Wed, 09 May 2012 07:28:12 -0700
changeset 12680 289f842c0175
parent 12544 5768f2e096de
child 16075 32c3bc19bba7
child 15261 c5b882836677
permissions -rw-r--r--
7166955: (pack200) JNI_GetCreatedJavaVMs needs additional checking Reviewed-by: alanb, dholmes, ksrini Contributed-by: youdwei@linux.vnet.ibm.com
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     1
/*
12544
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
     2
 * Copyright (c) 2002, 2012, Oracle and/or its affiliates. All rights reserved.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
90ce3da70b43 Initial load
duke
parents:
diff changeset
     4
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
90ce3da70b43 Initial load
duke
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    10
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
90ce3da70b43 Initial load
duke
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
90ce3da70b43 Initial load
duke
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
90ce3da70b43 Initial load
duke
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
90ce3da70b43 Initial load
duke
parents:
diff changeset
    15
 * accompanied this code).
90ce3da70b43 Initial load
duke
parents:
diff changeset
    16
 *
90ce3da70b43 Initial load
duke
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
90ce3da70b43 Initial load
duke
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
90ce3da70b43 Initial load
duke
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    20
 *
5506
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
202f599c92aa 6943119: Rebrand source copyright notices
ohair
parents: 2
diff changeset
    23
 * questions.
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
    24
 */
90ce3da70b43 Initial load
duke
parents:
diff changeset
    25
90ce3da70b43 Initial load
duke
parents:
diff changeset
    26
// -*- C++ -*-
90ce3da70b43 Initial load
duke
parents:
diff changeset
    27
struct entry;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    28
struct cpindex;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    29
struct unpacker;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    30
90ce3da70b43 Initial load
duke
parents:
diff changeset
    31
struct band {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    32
  const char*   name;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    33
  int           bn;             // band_number of this band
90ce3da70b43 Initial load
duke
parents:
diff changeset
    34
  coding*       defc;           // default coding method
90ce3da70b43 Initial load
duke
parents:
diff changeset
    35
  cpindex*      ix;             // CP entry mapping, if CPRefBand
90ce3da70b43 Initial load
duke
parents:
diff changeset
    36
  byte          ixTag;          // 0 or 1; null is coded as (nullOK?0:-1)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    37
  byte          nullOK;         // 0 or 1; null is coded as (nullOK?0:-1)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    38
  int           length;         // expected # values
90ce3da70b43 Initial load
duke
parents:
diff changeset
    39
  unpacker*     u;              // back pointer
90ce3da70b43 Initial load
duke
parents:
diff changeset
    40
90ce3da70b43 Initial load
duke
parents:
diff changeset
    41
  value_stream  vs[2];         // source of values
90ce3da70b43 Initial load
duke
parents:
diff changeset
    42
  coding_method cm;            // method used for initial state of vs[0]
90ce3da70b43 Initial load
duke
parents:
diff changeset
    43
  byte*         rplimit;       // end of band (encoded, transmitted)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    44
90ce3da70b43 Initial load
duke
parents:
diff changeset
    45
  int           total_memo;    // cached value of getIntTotal, or -1
90ce3da70b43 Initial load
duke
parents:
diff changeset
    46
  int*          hist0;         // approximate. histogram
90ce3da70b43 Initial load
duke
parents:
diff changeset
    47
  enum { HIST0_MIN = 0, HIST0_MAX = 255 }; // catches the usual cases
90ce3da70b43 Initial load
duke
parents:
diff changeset
    48
90ce3da70b43 Initial load
duke
parents:
diff changeset
    49
  // properties for attribute layout elements:
90ce3da70b43 Initial load
duke
parents:
diff changeset
    50
  byte          le_kind;       // EK_XXX
90ce3da70b43 Initial load
duke
parents:
diff changeset
    51
  byte          le_bci;        // 0,EK_BCI,EK_BCD,EK_BCO
90ce3da70b43 Initial load
duke
parents:
diff changeset
    52
  byte          le_back;       // ==EF_BACK
90ce3da70b43 Initial load
duke
parents:
diff changeset
    53
  byte          le_len;        // 0,1,2,4 (size in classfile), or call addr
90ce3da70b43 Initial load
duke
parents:
diff changeset
    54
  band**        le_body;       // body of repl, union, call (null-terminated)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    55
  // Note:  EK_CASE elements use hist0 to record union tags.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    56
  #define       le_casetags    hist0
90ce3da70b43 Initial load
duke
parents:
diff changeset
    57
90ce3da70b43 Initial load
duke
parents:
diff changeset
    58
  band& nextBand() { return this[1]; }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    59
  band& prevBand() { return this[-1]; }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    60
90ce3da70b43 Initial load
duke
parents:
diff changeset
    61
  void init(unpacker* u_, int bn_, coding* defc_) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    62
    u    = u_;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    63
    cm.u = u_;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    64
    bn   = bn_;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    65
    defc = defc_;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    66
  }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    67
  void init(unpacker* u_, int bn_, int defcSpec) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    68
    init(u_, bn_, coding::findBySpec(defcSpec));
90ce3da70b43 Initial load
duke
parents:
diff changeset
    69
  }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    70
  void initRef(int ixTag_ = 0, bool nullOK_ = false) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    71
    ixTag  = ixTag_;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    72
    nullOK = nullOK_;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    73
    setIndexByTag(ixTag);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    74
  }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    75
90ce3da70b43 Initial load
duke
parents:
diff changeset
    76
  void expectMoreLength(int l) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    77
    assert(length >= 0);      // able to accept a length
90ce3da70b43 Initial load
duke
parents:
diff changeset
    78
    assert((int)l >= 0);      // no overflow
90ce3da70b43 Initial load
duke
parents:
diff changeset
    79
    assert(rplimit == null);  // readData not yet called
90ce3da70b43 Initial load
duke
parents:
diff changeset
    80
    length += l;
90ce3da70b43 Initial load
duke
parents:
diff changeset
    81
    assert(length >= l);      // no overflow
90ce3da70b43 Initial load
duke
parents:
diff changeset
    82
  }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    83
90ce3da70b43 Initial load
duke
parents:
diff changeset
    84
  void setIndex(cpindex* ix_);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    85
  void setIndexByTag(byte tag);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    86
90ce3da70b43 Initial load
duke
parents:
diff changeset
    87
  // Parse the band and its meta-coding header.
90ce3da70b43 Initial load
duke
parents:
diff changeset
    88
  void readData(int expectedLength = 0);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    89
90ce3da70b43 Initial load
duke
parents:
diff changeset
    90
  // Reset the band for another pass (Cf. Java Band.resetForSecondPass.)
90ce3da70b43 Initial load
duke
parents:
diff changeset
    91
  void rewind() {
90ce3da70b43 Initial load
duke
parents:
diff changeset
    92
    cm.reset(&vs[0]);
90ce3da70b43 Initial load
duke
parents:
diff changeset
    93
  }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    94
90ce3da70b43 Initial load
duke
parents:
diff changeset
    95
  byte* &curRP()    { return vs[0].rp; }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    96
  byte*  minRP()    { return cm.vs0.rp; }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    97
  byte*  maxRP()    { return rplimit; }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    98
  size_t size()     { return maxRP() - minRP(); }
90ce3da70b43 Initial load
duke
parents:
diff changeset
    99
90ce3da70b43 Initial load
duke
parents:
diff changeset
   100
  int    getByte()  { assert(ix == null); return vs[0].getByte(); }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   101
  int    getInt()   { assert(ix == null); return vs[0].getInt(); }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   102
  entry* getRefN()  { assert(ix != null); return getRefCommon(ix, true); }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   103
  entry* getRef()   { assert(ix != null); return getRefCommon(ix, false); }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   104
  entry* getRefUsing(cpindex* ix2)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   105
                    { assert(ix == null); return getRefCommon(ix2, true); }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   106
  entry* getRefCommon(cpindex* ix, bool nullOK);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   107
  jlong  getLong(band& lo_band, bool have_hi);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   108
90ce3da70b43 Initial load
duke
parents:
diff changeset
   109
  static jlong makeLong(uint hi, uint lo) {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   110
    return ((julong)hi << 32) + (((julong)lo << 32) >> 32);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   111
  }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   112
90ce3da70b43 Initial load
duke
parents:
diff changeset
   113
  int    getIntTotal();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   114
  int    getIntCount(int tag);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   115
90ce3da70b43 Initial load
duke
parents:
diff changeset
   116
  static band* makeBands(unpacker* u);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   117
  static void initIndexes(unpacker* u);
90ce3da70b43 Initial load
duke
parents:
diff changeset
   118
90ce3da70b43 Initial load
duke
parents:
diff changeset
   119
#ifndef PRODUCT
90ce3da70b43 Initial load
duke
parents:
diff changeset
   120
  void dump();
90ce3da70b43 Initial load
duke
parents:
diff changeset
   121
#endif
90ce3da70b43 Initial load
duke
parents:
diff changeset
   122
90ce3da70b43 Initial load
duke
parents:
diff changeset
   123
  void abort(const char* msg = null); //{ u->abort(msg); }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   124
  bool aborting(); //{ return u->aborting(); }
90ce3da70b43 Initial load
duke
parents:
diff changeset
   125
};
90ce3da70b43 Initial load
duke
parents:
diff changeset
   126
90ce3da70b43 Initial load
duke
parents:
diff changeset
   127
extern band all_bands[];
90ce3da70b43 Initial load
duke
parents:
diff changeset
   128
90ce3da70b43 Initial load
duke
parents:
diff changeset
   129
#define BAND_LOCAL /* \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   130
  band* band_temp = all_bands; \
90ce3da70b43 Initial load
duke
parents:
diff changeset
   131
  band* all_bands = band_temp */
90ce3da70b43 Initial load
duke
parents:
diff changeset
   132
90ce3da70b43 Initial load
duke
parents:
diff changeset
   133
// Band schema:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   134
enum band_number {
90ce3da70b43 Initial load
duke
parents:
diff changeset
   135
  //e_archive_magic,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   136
  //e_archive_header,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   137
  //e_band_headers,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   138
90ce3da70b43 Initial load
duke
parents:
diff changeset
   139
    // constant pool contents
90ce3da70b43 Initial load
duke
parents:
diff changeset
   140
    e_cp_Utf8_prefix,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   141
    e_cp_Utf8_suffix,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   142
    e_cp_Utf8_chars,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   143
    e_cp_Utf8_big_suffix,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   144
    e_cp_Utf8_big_chars,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   145
    e_cp_Int,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   146
    e_cp_Float,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   147
    e_cp_Long_hi,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   148
    e_cp_Long_lo,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   149
    e_cp_Double_hi,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   150
    e_cp_Double_lo,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   151
    e_cp_String,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   152
    e_cp_Class,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   153
    e_cp_Signature_form,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   154
    e_cp_Signature_classes,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   155
    e_cp_Descr_name,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   156
    e_cp_Descr_type,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   157
    e_cp_Field_class,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   158
    e_cp_Field_desc,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   159
    e_cp_Method_class,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   160
    e_cp_Method_desc,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   161
    e_cp_Imethod_class,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   162
    e_cp_Imethod_desc,
12544
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   163
    e_cp_MethodHandle_refkind,
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   164
    e_cp_MethodHandle_member,
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   165
    e_cp_MethodType,
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   166
    e_cp_BootstrapMethod_ref,
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   167
    e_cp_BootstrapMethod_arg_count,
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   168
    e_cp_BootstrapMethod_arg,
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   169
    e_cp_InvokeDynamic_spec,
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   170
    e_cp_InvokeDynamic_desc,
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   171
90ce3da70b43 Initial load
duke
parents:
diff changeset
   172
    // bands which define transmission of attributes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   173
    e_attr_definition_headers,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   174
    e_attr_definition_name,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   175
    e_attr_definition_layout,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   176
90ce3da70b43 Initial load
duke
parents:
diff changeset
   177
    // band for hardwired InnerClasses attribute (shared across the package)
90ce3da70b43 Initial load
duke
parents:
diff changeset
   178
    e_ic_this_class,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   179
    e_ic_flags,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   180
    // These bands contain data only where flags sets ACC_IC_LONG_FORM:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   181
    e_ic_outer_class,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   182
    e_ic_name,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   183
90ce3da70b43 Initial load
duke
parents:
diff changeset
   184
    // bands for carrying class schema information:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   185
    e_class_this,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   186
    e_class_super,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   187
    e_class_interface_count,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   188
    e_class_interface,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   189
90ce3da70b43 Initial load
duke
parents:
diff changeset
   190
    // bands for class members
90ce3da70b43 Initial load
duke
parents:
diff changeset
   191
    e_class_field_count,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   192
    e_class_method_count,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   193
90ce3da70b43 Initial load
duke
parents:
diff changeset
   194
    e_field_descr,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   195
    e_field_flags_hi,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   196
    e_field_flags_lo,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   197
    e_field_attr_count,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   198
    e_field_attr_indexes,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   199
    e_field_attr_calls,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   200
    e_field_ConstantValue_KQ,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   201
    e_field_Signature_RS,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   202
    e_field_metadata_bands,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   203
    e_field_attr_bands,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   204
90ce3da70b43 Initial load
duke
parents:
diff changeset
   205
    e_method_descr,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   206
    e_method_flags_hi,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   207
    e_method_flags_lo,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   208
    e_method_attr_count,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   209
    e_method_attr_indexes,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   210
    e_method_attr_calls,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   211
    e_method_Exceptions_N,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   212
    e_method_Exceptions_RC,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   213
    e_method_Signature_RS,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   214
    e_method_metadata_bands,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   215
    e_method_attr_bands,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   216
90ce3da70b43 Initial load
duke
parents:
diff changeset
   217
    e_class_flags_hi,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   218
    e_class_flags_lo,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   219
    e_class_attr_count,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   220
    e_class_attr_indexes,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   221
    e_class_attr_calls,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   222
    e_class_SourceFile_RUN,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   223
    e_class_EnclosingMethod_RC,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   224
    e_class_EnclosingMethod_RDN,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   225
    e_class_Signature_RS,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   226
    e_class_metadata_bands,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   227
    e_class_InnerClasses_N,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   228
    e_class_InnerClasses_RC,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   229
    e_class_InnerClasses_F,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   230
    e_class_InnerClasses_outer_RCN,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   231
    e_class_InnerClasses_name_RUN,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   232
    e_class_ClassFile_version_minor_H,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   233
    e_class_ClassFile_version_major_H,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   234
    e_class_attr_bands,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   235
90ce3da70b43 Initial load
duke
parents:
diff changeset
   236
    e_code_headers,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   237
    e_code_max_stack,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   238
    e_code_max_na_locals,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   239
    e_code_handler_count,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   240
    e_code_handler_start_P,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   241
    e_code_handler_end_PO,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   242
    e_code_handler_catch_PO,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   243
    e_code_handler_class_RCN,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   244
90ce3da70b43 Initial load
duke
parents:
diff changeset
   245
    // code attributes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   246
    e_code_flags_hi,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   247
    e_code_flags_lo,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   248
    e_code_attr_count,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   249
    e_code_attr_indexes,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   250
    e_code_attr_calls,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   251
    e_code_StackMapTable_N,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   252
    e_code_StackMapTable_frame_T,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   253
    e_code_StackMapTable_local_N,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   254
    e_code_StackMapTable_stack_N,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   255
    e_code_StackMapTable_offset,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   256
    e_code_StackMapTable_T,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   257
    e_code_StackMapTable_RC,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   258
    e_code_StackMapTable_P,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   259
    e_code_LineNumberTable_N,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   260
    e_code_LineNumberTable_bci_P,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   261
    e_code_LineNumberTable_line,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   262
    e_code_LocalVariableTable_N,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   263
    e_code_LocalVariableTable_bci_P,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   264
    e_code_LocalVariableTable_span_O,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   265
    e_code_LocalVariableTable_name_RU,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   266
    e_code_LocalVariableTable_type_RS,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   267
    e_code_LocalVariableTable_slot,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   268
    e_code_LocalVariableTypeTable_N,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   269
    e_code_LocalVariableTypeTable_bci_P,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   270
    e_code_LocalVariableTypeTable_span_O,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   271
    e_code_LocalVariableTypeTable_name_RU,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   272
    e_code_LocalVariableTypeTable_type_RS,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   273
    e_code_LocalVariableTypeTable_slot,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   274
    e_code_attr_bands,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   275
90ce3da70b43 Initial load
duke
parents:
diff changeset
   276
    // bands for bytecodes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   277
    e_bc_codes,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   278
    // remaining bands provide typed opcode fields required by the bc_codes
90ce3da70b43 Initial load
duke
parents:
diff changeset
   279
90ce3da70b43 Initial load
duke
parents:
diff changeset
   280
    e_bc_case_count,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   281
    e_bc_case_value,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   282
    e_bc_byte,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   283
    e_bc_short,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   284
    e_bc_local,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   285
    e_bc_label,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   286
90ce3da70b43 Initial load
duke
parents:
diff changeset
   287
    // ldc* operands:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   288
    e_bc_intref,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   289
    e_bc_floatref,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   290
    e_bc_longref,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   291
    e_bc_doubleref,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   292
    e_bc_stringref,
12544
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   293
    e_bc_loadablevalueref,
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   294
    e_bc_classref,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   295
90ce3da70b43 Initial load
duke
parents:
diff changeset
   296
    e_bc_fieldref,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   297
    e_bc_methodref,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   298
    e_bc_imethodref,
12544
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   299
    e_bc_indyref,
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   300
90ce3da70b43 Initial load
duke
parents:
diff changeset
   301
    // _self_linker_op family
90ce3da70b43 Initial load
duke
parents:
diff changeset
   302
    e_bc_thisfield,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   303
    e_bc_superfield,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   304
    e_bc_thismethod,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   305
    e_bc_supermethod,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   306
90ce3da70b43 Initial load
duke
parents:
diff changeset
   307
    // bc_invokeinit family:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   308
    e_bc_initref,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   309
90ce3da70b43 Initial load
duke
parents:
diff changeset
   310
    // bytecode escape sequences
90ce3da70b43 Initial load
duke
parents:
diff changeset
   311
    e_bc_escref,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   312
    e_bc_escrefsize,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   313
    e_bc_escsize,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   314
    e_bc_escbyte,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   315
90ce3da70b43 Initial load
duke
parents:
diff changeset
   316
    // file attributes and contents
90ce3da70b43 Initial load
duke
parents:
diff changeset
   317
    e_file_name,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   318
    e_file_size_hi,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   319
    e_file_size_lo,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   320
    e_file_modtime,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   321
    e_file_options,
90ce3da70b43 Initial load
duke
parents:
diff changeset
   322
    //e_file_bits,  // handled specially as an appendix
90ce3da70b43 Initial load
duke
parents:
diff changeset
   323
90ce3da70b43 Initial load
duke
parents:
diff changeset
   324
    BAND_LIMIT
90ce3da70b43 Initial load
duke
parents:
diff changeset
   325
};
90ce3da70b43 Initial load
duke
parents:
diff changeset
   326
90ce3da70b43 Initial load
duke
parents:
diff changeset
   327
// Symbolic names for bands, as if in a giant global struct:
90ce3da70b43 Initial load
duke
parents:
diff changeset
   328
//#define archive_magic all_bands[e_archive_magic]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   329
//#define archive_header all_bands[e_archive_header]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   330
//#define band_headers all_bands[e_band_headers]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   331
#define cp_Utf8_prefix all_bands[e_cp_Utf8_prefix]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   332
#define cp_Utf8_suffix all_bands[e_cp_Utf8_suffix]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   333
#define cp_Utf8_chars all_bands[e_cp_Utf8_chars]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   334
#define cp_Utf8_big_suffix all_bands[e_cp_Utf8_big_suffix]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   335
#define cp_Utf8_big_chars all_bands[e_cp_Utf8_big_chars]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   336
#define cp_Int all_bands[e_cp_Int]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   337
#define cp_Float all_bands[e_cp_Float]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   338
#define cp_Long_hi all_bands[e_cp_Long_hi]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   339
#define cp_Long_lo all_bands[e_cp_Long_lo]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   340
#define cp_Double_hi all_bands[e_cp_Double_hi]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   341
#define cp_Double_lo all_bands[e_cp_Double_lo]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   342
#define cp_String all_bands[e_cp_String]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   343
#define cp_Class all_bands[e_cp_Class]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   344
#define cp_Signature_form all_bands[e_cp_Signature_form]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   345
#define cp_Signature_classes all_bands[e_cp_Signature_classes]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   346
#define cp_Descr_name all_bands[e_cp_Descr_name]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   347
#define cp_Descr_type all_bands[e_cp_Descr_type]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   348
#define cp_Field_class all_bands[e_cp_Field_class]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   349
#define cp_Field_desc all_bands[e_cp_Field_desc]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   350
#define cp_Method_class all_bands[e_cp_Method_class]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   351
#define cp_Method_desc all_bands[e_cp_Method_desc]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   352
#define cp_Imethod_class all_bands[e_cp_Imethod_class]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   353
#define cp_Imethod_desc all_bands[e_cp_Imethod_desc]
12544
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   354
#define cp_MethodHandle_refkind all_bands[e_cp_MethodHandle_refkind]
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   355
#define cp_MethodHandle_member all_bands[e_cp_MethodHandle_member]
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   356
#define cp_MethodType all_bands[e_cp_MethodType]
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   357
#define cp_BootstrapMethod_ref all_bands[e_cp_BootstrapMethod_ref]
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   358
#define cp_BootstrapMethod_arg_count all_bands[e_cp_BootstrapMethod_arg_count]
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   359
#define cp_BootstrapMethod_arg all_bands[e_cp_BootstrapMethod_arg]
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   360
#define cp_InvokeDynamic_spec  all_bands[e_cp_InvokeDynamic_spec]
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   361
#define cp_InvokeDynamic_desc all_bands[e_cp_InvokeDynamic_desc]
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   362
#define attr_definition_headers all_bands[e_attr_definition_headers]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   363
#define attr_definition_name all_bands[e_attr_definition_name]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   364
#define attr_definition_layout all_bands[e_attr_definition_layout]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   365
#define ic_this_class all_bands[e_ic_this_class]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   366
#define ic_flags all_bands[e_ic_flags]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   367
#define ic_outer_class all_bands[e_ic_outer_class]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   368
#define ic_name all_bands[e_ic_name]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   369
#define class_this all_bands[e_class_this]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   370
#define class_super all_bands[e_class_super]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   371
#define class_interface_count all_bands[e_class_interface_count]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   372
#define class_interface all_bands[e_class_interface]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   373
#define class_field_count all_bands[e_class_field_count]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   374
#define class_method_count all_bands[e_class_method_count]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   375
#define field_descr all_bands[e_field_descr]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   376
#define field_flags_hi all_bands[e_field_flags_hi]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   377
#define field_flags_lo all_bands[e_field_flags_lo]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   378
#define field_attr_count all_bands[e_field_attr_count]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   379
#define field_attr_indexes all_bands[e_field_attr_indexes]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   380
#define field_ConstantValue_KQ all_bands[e_field_ConstantValue_KQ]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   381
#define field_Signature_RS all_bands[e_field_Signature_RS]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   382
#define field_attr_bands all_bands[e_field_attr_bands]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   383
#define method_descr all_bands[e_method_descr]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   384
#define method_flags_hi all_bands[e_method_flags_hi]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   385
#define method_flags_lo all_bands[e_method_flags_lo]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   386
#define method_attr_count all_bands[e_method_attr_count]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   387
#define method_attr_indexes all_bands[e_method_attr_indexes]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   388
#define method_Exceptions_N all_bands[e_method_Exceptions_N]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   389
#define method_Exceptions_RC all_bands[e_method_Exceptions_RC]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   390
#define method_Signature_RS all_bands[e_method_Signature_RS]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   391
#define method_attr_bands all_bands[e_method_attr_bands]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   392
#define class_flags_hi all_bands[e_class_flags_hi]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   393
#define class_flags_lo all_bands[e_class_flags_lo]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   394
#define class_attr_count all_bands[e_class_attr_count]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   395
#define class_attr_indexes all_bands[e_class_attr_indexes]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   396
#define class_SourceFile_RUN all_bands[e_class_SourceFile_RUN]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   397
#define class_EnclosingMethod_RC all_bands[e_class_EnclosingMethod_RC]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   398
#define class_EnclosingMethod_RDN all_bands[e_class_EnclosingMethod_RDN]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   399
#define class_Signature_RS all_bands[e_class_Signature_RS]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   400
#define class_InnerClasses_N all_bands[e_class_InnerClasses_N]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   401
#define class_InnerClasses_RC all_bands[e_class_InnerClasses_RC]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   402
#define class_InnerClasses_F all_bands[e_class_InnerClasses_F]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   403
#define class_InnerClasses_outer_RCN all_bands[e_class_InnerClasses_outer_RCN]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   404
#define class_InnerClasses_name_RUN all_bands[e_class_InnerClasses_name_RUN]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   405
#define class_ClassFile_version_minor_H all_bands[e_class_ClassFile_version_minor_H]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   406
#define class_ClassFile_version_major_H all_bands[e_class_ClassFile_version_major_H]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   407
#define class_attr_bands all_bands[e_class_attr_bands]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   408
#define code_headers all_bands[e_code_headers]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   409
#define code_max_stack all_bands[e_code_max_stack]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   410
#define code_max_na_locals all_bands[e_code_max_na_locals]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   411
#define code_handler_count all_bands[e_code_handler_count]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   412
#define code_handler_start_P all_bands[e_code_handler_start_P]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   413
#define code_handler_end_PO all_bands[e_code_handler_end_PO]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   414
#define code_handler_catch_PO all_bands[e_code_handler_catch_PO]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   415
#define code_handler_class_RCN all_bands[e_code_handler_class_RCN]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   416
#define code_flags_hi all_bands[e_code_flags_hi]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   417
#define code_flags_lo all_bands[e_code_flags_lo]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   418
#define code_attr_count all_bands[e_code_attr_count]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   419
#define code_attr_indexes all_bands[e_code_attr_indexes]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   420
#define code_StackMapTable_N all_bands[e_code_StackMapTable_N]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   421
#define code_StackMapTable_frame_T all_bands[e_code_StackMapTable_frame_T]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   422
#define code_StackMapTable_local_N all_bands[e_code_StackMapTable_local_N]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   423
#define code_StackMapTable_stack_N all_bands[e_code_StackMapTable_stack_N]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   424
#define code_StackMapTable_offset all_bands[e_code_StackMapTable_offset]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   425
#define code_StackMapTable_T all_bands[e_code_StackMapTable_T]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   426
#define code_StackMapTable_RC all_bands[e_code_StackMapTable_RC]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   427
#define code_StackMapTable_P all_bands[e_code_StackMapTable_P]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   428
#define code_LineNumberTable_N all_bands[e_code_LineNumberTable_N]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   429
#define code_LineNumberTable_bci_P all_bands[e_code_LineNumberTable_bci_P]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   430
#define code_LineNumberTable_line all_bands[e_code_LineNumberTable_line]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   431
#define code_LocalVariableTable_N all_bands[e_code_LocalVariableTable_N]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   432
#define code_LocalVariableTable_bci_P all_bands[e_code_LocalVariableTable_bci_P]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   433
#define code_LocalVariableTable_span_O all_bands[e_code_LocalVariableTable_span_O]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   434
#define code_LocalVariableTable_name_RU all_bands[e_code_LocalVariableTable_name_RU]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   435
#define code_LocalVariableTable_type_RS all_bands[e_code_LocalVariableTable_type_RS]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   436
#define code_LocalVariableTable_slot all_bands[e_code_LocalVariableTable_slot]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   437
#define code_LocalVariableTypeTable_N all_bands[e_code_LocalVariableTypeTable_N]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   438
#define code_LocalVariableTypeTable_bci_P all_bands[e_code_LocalVariableTypeTable_bci_P]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   439
#define code_LocalVariableTypeTable_span_O all_bands[e_code_LocalVariableTypeTable_span_O]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   440
#define code_LocalVariableTypeTable_name_RU all_bands[e_code_LocalVariableTypeTable_name_RU]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   441
#define code_LocalVariableTypeTable_type_RS all_bands[e_code_LocalVariableTypeTable_type_RS]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   442
#define code_LocalVariableTypeTable_slot all_bands[e_code_LocalVariableTypeTable_slot]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   443
#define code_attr_bands all_bands[e_code_attr_bands]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   444
#define bc_codes all_bands[e_bc_codes]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   445
#define bc_case_count all_bands[e_bc_case_count]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   446
#define bc_case_value all_bands[e_bc_case_value]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   447
#define bc_byte all_bands[e_bc_byte]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   448
#define bc_short all_bands[e_bc_short]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   449
#define bc_local all_bands[e_bc_local]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   450
#define bc_label all_bands[e_bc_label]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   451
#define bc_intref all_bands[e_bc_intref]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   452
#define bc_floatref all_bands[e_bc_floatref]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   453
#define bc_longref all_bands[e_bc_longref]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   454
#define bc_doubleref all_bands[e_bc_doubleref]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   455
#define bc_stringref all_bands[e_bc_stringref]
12544
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   456
#define bc_loadablevalueref all_bands[e_bc_loadablevalueref]
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   457
#define bc_classref all_bands[e_bc_classref]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   458
#define bc_fieldref all_bands[e_bc_fieldref]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   459
#define bc_methodref all_bands[e_bc_methodref]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   460
#define bc_imethodref all_bands[e_bc_imethodref]
12544
5768f2e096de 6981776: Pack200 must support -target 7 bytecodes
ksrini
parents: 5506
diff changeset
   461
#define bc_indyref all_bands[e_bc_indyref]
2
90ce3da70b43 Initial load
duke
parents:
diff changeset
   462
#define bc_thisfield all_bands[e_bc_thisfield]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   463
#define bc_superfield all_bands[e_bc_superfield]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   464
#define bc_thismethod all_bands[e_bc_thismethod]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   465
#define bc_supermethod all_bands[e_bc_supermethod]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   466
#define bc_initref all_bands[e_bc_initref]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   467
#define bc_escref all_bands[e_bc_escref]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   468
#define bc_escrefsize all_bands[e_bc_escrefsize]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   469
#define bc_escsize all_bands[e_bc_escsize]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   470
#define bc_escbyte all_bands[e_bc_escbyte]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   471
#define file_name all_bands[e_file_name]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   472
#define file_size_hi all_bands[e_file_size_hi]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   473
#define file_size_lo all_bands[e_file_size_lo]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   474
#define file_modtime all_bands[e_file_modtime]
90ce3da70b43 Initial load
duke
parents:
diff changeset
   475
#define file_options all_bands[e_file_options]