hotspot/src/share/vm/classfile/classFileStream.hpp
changeset 26419 25abc4a3285c
parent 25715 d5a8dbdc5150
child 34666 1c7168ea0034
equal deleted inserted replaced
26418:16ac9bcf600a 26419:25abc4a3285c
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 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.
    37 class ClassFileStream: public ResourceObj {
    37 class ClassFileStream: public ResourceObj {
    38  private:
    38  private:
    39   u1*   _buffer_start; // Buffer bottom
    39   u1*   _buffer_start; // Buffer bottom
    40   u1*   _buffer_end;   // Buffer top (one past last element)
    40   u1*   _buffer_end;   // Buffer top (one past last element)
    41   u1*   _current;      // Current buffer position
    41   u1*   _current;      // Current buffer position
    42   char* _source;       // Source of stream (directory name, ZIP/JAR archive name)
    42   const char* _source; // Source of stream (directory name, ZIP/JAR archive name)
    43   bool  _need_verify;  // True if verification is on for the class file
    43   bool  _need_verify;  // True if verification is on for the class file
    44 
    44 
    45   void truncated_file_error(TRAPS);
    45   void truncated_file_error(TRAPS);
    46  public:
    46  public:
    47   // Constructor
    47   // Constructor
    48   ClassFileStream(u1* buffer, int length, char* source);
    48   ClassFileStream(u1* buffer, int length, const char* source);
    49 
    49 
    50   // Buffer access
    50   // Buffer access
    51   u1* buffer() const           { return _buffer_start; }
    51   u1* buffer() const           { return _buffer_start; }
    52   int length() const           { return _buffer_end - _buffer_start; }
    52   int length() const           { return _buffer_end - _buffer_start; }
    53   u1* current() const          { return _current; }
    53   u1* current() const          { return _current; }
    54   void set_current(u1* pos)    { _current = pos; }
    54   void set_current(u1* pos)    { _current = pos; }
    55   char* source() const         { return _source; }
    55   const char* source() const   { return _source; }
    56   void set_verify(bool flag)   { _need_verify = flag; }
    56   void set_verify(bool flag)   { _need_verify = flag; }
    57 
    57 
    58   void check_truncated_file(bool b, TRAPS) {
    58   void check_truncated_file(bool b, TRAPS) {
    59     if (b) {
    59     if (b) {
    60       truncated_file_error(THREAD);
    60       truncated_file_error(THREAD);