/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
/*
* This is to provide sanity check in jhelper.d which compares SCCS
* versions of generateJvmOffsets.cpp used to create and extract
* contents of __JvmOffsets[] table.
* The __JvmOffsets[] table is located in generated JvmOffsets.cpp.
*
* GENOFFS_SCCS_VER 34
*/
#include "generateJvmOffsets.h"
/* A workaround for private and protected fields */
#define private public
#define protected public
// not on macosx #include <proc_service.h>
#include "code/codeBlob.hpp"
#include "code/nmethod.hpp"
#include "code/pcDesc.hpp"
#include "gc_interface/collectedHeap.hpp"
#include "memory/memRegion.hpp"
#include "memory/universe.hpp"
#include "oops/constMethodOop.hpp"
#include "oops/methodOop.hpp"
#include "oops/symbol.hpp"
#include "runtime/virtualspace.hpp"
#include "runtime/vmStructs.hpp"
#include "utilities/accessFlags.hpp"
#include "utilities/globalDefinitions.hpp"
// These are defined somewhere for Solaris
#ifdef COMPILER1
/*
* To avoid the most part of potential link errors
* we link this program with -z nodefs .
*
* But for 'debug1' and 'fastdebug1' we still have to provide
* a particular workaround for the following symbols bellow.
* It will be good to find out a generic way in the future.
*/
#endif /* i386 */
#endif /* defined(DEBUG) || defined(FASTDEBUG) */
#endif /* COMPILER1 */
switch(gen_variant) { \
case GEN_OFFSET: \
printf("#define OFFSET_%-33s %ld\n", \
break; \
case GEN_INDEX: \
printf("#define IDX_OFFSET_%-33s %d\n", \
break; \
case GEN_TABLE: \
break; \
}
switch(gen_variant) { \
case GEN_OFFSET: \
printf("#define SIZE_%-35s %ld\n", \
break; \
case GEN_INDEX: \
printf("#define IDX_SIZE_%-35s %d\n", \
break; \
case GEN_TABLE: \
break; \
}
switch(gen_variant) { \
case GEN_OFFSET: \
break; \
case GEN_INDEX: \
break; \
case GEN_TABLE: \
break; \
}
const char *suffix;
switch(gen_variant) {
}
printf("/*\n");
printf(" * The generateJvmOffsets program generates this file!\n");
printf(" */\n\n");
switch(gen_variant) {
case GEN_OFFSET:
case GEN_INDEX:
break;
case GEN_TABLE:
printf("#include \"JvmOffsets.h\"\n");
printf("\n");
printf("int __JvmOffsets[] = {\n");
break;
}
}
if (gen_variant != GEN_TABLE) {
return;
}
printf("};\n\n");
return;
}
int pointer_size = sizeof(void *);
#if defined(TIERED)
#else
#endif // COMPILER1 && COMPILER2
printf("\n");
printf("\n");
printf("\n");
// Fake value for consistency. It is not going to be used.
#endif
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
printf("\n");
return 0;
}