< prev index next >

src/hotspot/share/classfile/classFileParser.cpp

Print this page




1841    */
1842     return (e0.start_bci     == e1.start_bci &&
1843             e0.length        == e1.length &&
1844             e0.name_cp_index == e1.name_cp_index &&
1845             e0.slot          == e1.slot);
1846   }
1847 
1848   static unsigned int hash(LocalVariableTableElement const& e0) {
1849     unsigned int raw_hash = e0.start_bci;
1850 
1851     raw_hash = e0.length        + raw_hash * 37;
1852     raw_hash = e0.name_cp_index + raw_hash * 37;
1853     raw_hash = e0.slot          + raw_hash * 37;
1854 
1855     return raw_hash;
1856   }
1857 };
1858 
1859 
1860 // Class file LocalVariableTable elements.
1861 class Classfile_LVT_Element VALUE_OBJ_CLASS_SPEC {
1862  public:
1863   u2 start_bci;
1864   u2 length;
1865   u2 name_cp_index;
1866   u2 descriptor_cp_index;
1867   u2 slot;
1868 };
1869 
1870 static void copy_lvt_element(const Classfile_LVT_Element* const src,
1871                              LocalVariableTableElement* const lvt) {
1872   lvt->start_bci           = Bytes::get_Java_u2((u1*) &src->start_bci);
1873   lvt->length              = Bytes::get_Java_u2((u1*) &src->length);
1874   lvt->name_cp_index       = Bytes::get_Java_u2((u1*) &src->name_cp_index);
1875   lvt->descriptor_cp_index = Bytes::get_Java_u2((u1*) &src->descriptor_cp_index);
1876   lvt->signature_cp_index  = 0;
1877   lvt->slot                = Bytes::get_Java_u2((u1*) &src->slot);
1878 }
1879 
1880 // Function is used to parse both attributes:
1881 // LocalVariableTable (LVT) and LocalVariableTypeTable (LVTT)




1841    */
1842     return (e0.start_bci     == e1.start_bci &&
1843             e0.length        == e1.length &&
1844             e0.name_cp_index == e1.name_cp_index &&
1845             e0.slot          == e1.slot);
1846   }
1847 
1848   static unsigned int hash(LocalVariableTableElement const& e0) {
1849     unsigned int raw_hash = e0.start_bci;
1850 
1851     raw_hash = e0.length        + raw_hash * 37;
1852     raw_hash = e0.name_cp_index + raw_hash * 37;
1853     raw_hash = e0.slot          + raw_hash * 37;
1854 
1855     return raw_hash;
1856   }
1857 };
1858 
1859 
1860 // Class file LocalVariableTable elements.
1861 class Classfile_LVT_Element {
1862  public:
1863   u2 start_bci;
1864   u2 length;
1865   u2 name_cp_index;
1866   u2 descriptor_cp_index;
1867   u2 slot;
1868 };
1869 
1870 static void copy_lvt_element(const Classfile_LVT_Element* const src,
1871                              LocalVariableTableElement* const lvt) {
1872   lvt->start_bci           = Bytes::get_Java_u2((u1*) &src->start_bci);
1873   lvt->length              = Bytes::get_Java_u2((u1*) &src->length);
1874   lvt->name_cp_index       = Bytes::get_Java_u2((u1*) &src->name_cp_index);
1875   lvt->descriptor_cp_index = Bytes::get_Java_u2((u1*) &src->descriptor_cp_index);
1876   lvt->signature_cp_index  = 0;
1877   lvt->slot                = Bytes::get_Java_u2((u1*) &src->slot);
1878 }
1879 
1880 // Function is used to parse both attributes:
1881 // LocalVariableTable (LVT) and LocalVariableTypeTable (LVTT)


< prev index next >