mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-15 08:34:30 +02:00
8260471: Change SystemDictionary::X_klass calls to vmClasses::X_klass
Reviewed-by: lfoltan, hseigel, dholmes, stuefe
This commit is contained in:
parent
9af333923b
commit
ffbcf1b0a7
191 changed files with 739 additions and 712 deletions
|
@ -26,7 +26,6 @@
|
|||
#include "precompiled.hpp"
|
||||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "c1/c1_Runtime1.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "gc/shared/barrierSetAssembler.hpp"
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
#include "gc/shared/tlab_globals.hpp"
|
||||
|
|
|
@ -65,7 +65,7 @@ static int check_nonzero(const char* xname, int x) {
|
|||
|
||||
#ifdef ASSERT
|
||||
void MethodHandles::verify_klass(MacroAssembler* _masm,
|
||||
Register obj, VMClassID klass_id,
|
||||
Register obj, vmClassID klass_id,
|
||||
const char* error_message) {
|
||||
InstanceKlass** klass_addr = vmClasses::klass_addr_at(klass_id);
|
||||
Klass* klass = vmClasses::klass_at(klass_id);
|
||||
|
|
|
@ -36,7 +36,7 @@ public:
|
|||
static void load_klass_from_Class(MacroAssembler* _masm, Register klass_reg);
|
||||
|
||||
static void verify_klass(MacroAssembler* _masm,
|
||||
Register obj, VMClassID klass_id,
|
||||
Register obj, vmClassID klass_id,
|
||||
const char* error_message = "wrong klass") NOT_DEBUG_RETURN;
|
||||
|
||||
static void verify_method_handle(MacroAssembler* _masm, Register mh_reg) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -27,7 +27,6 @@
|
|||
#ifdef COMPILER2
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "asm/macroAssembler.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/vmreg.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "opto/runtime.hpp"
|
||||
|
|
|
@ -41,6 +41,7 @@
|
|||
#include "prims/methodHandles.hpp"
|
||||
#include "runtime/safepointMechanism.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#include "runtime/signature.hpp"
|
||||
#include "runtime/stubRoutines.hpp"
|
||||
#include "runtime/vframeArray.hpp"
|
||||
#include "utilities/align.hpp"
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include "precompiled.hpp"
|
||||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "c1/c1_Runtime1.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
#include "gc/shared/tlab_globals.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
|
|
|
@ -72,7 +72,7 @@ static int check_nonzero(const char* xname, int x) {
|
|||
|
||||
#ifdef ASSERT
|
||||
void MethodHandles::verify_klass(MacroAssembler* _masm,
|
||||
Register obj, Register temp1, Register temp2, VMClassID klass_id,
|
||||
Register obj, Register temp1, Register temp2, vmClassID klass_id,
|
||||
const char* error_message) {
|
||||
InstanceKlass** klass_addr = vmClasses::klass_addr_at(klass_id);
|
||||
Klass* klass = vmClasses::klass_at(klass_id);
|
||||
|
|
|
@ -35,7 +35,7 @@ public:
|
|||
static void load_klass_from_Class(MacroAssembler* _masm, Register klass_reg, Register temp1, Register temp2);
|
||||
|
||||
static void verify_klass(MacroAssembler* _masm,
|
||||
Register obj, Register temp1, Register temp2, VMClassID klass_id,
|
||||
Register obj, Register temp1, Register temp2, vmClassID klass_id,
|
||||
const char* error_message = "wrong klass") NOT_DEBUG_RETURN;
|
||||
|
||||
static void verify_ref_kind(MacroAssembler* _masm, int ref_kind, Register member_reg, Register temp) NOT_DEBUG_RETURN;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2008, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2008, 2021, 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
|
||||
|
@ -26,7 +26,6 @@
|
|||
#ifdef COMPILER2
|
||||
#include "asm/assembler.hpp"
|
||||
#include "assembler_arm.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/vmreg.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "memory/resourceArea.hpp"
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
#include "asm/macroAssembler.inline.hpp"
|
||||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "c1/c1_Runtime1.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
#include "gc/shared/tlab_globals.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
|
|
|
@ -75,7 +75,7 @@ static int check_nonzero(const char* xname, int x) {
|
|||
|
||||
#ifdef ASSERT
|
||||
void MethodHandles::verify_klass(MacroAssembler* _masm,
|
||||
Register obj_reg, VMClassID klass_id,
|
||||
Register obj_reg, vmClassID klass_id,
|
||||
Register temp_reg, Register temp2_reg,
|
||||
const char* error_message) {
|
||||
InstanceKlass** klass_addr = vmClasses::klass_addr_at(klass_id);
|
||||
|
|
|
@ -36,7 +36,7 @@ public:
|
|||
static void load_klass_from_Class(MacroAssembler* _masm, Register klass_reg, Register temp_reg, Register temp2_reg);
|
||||
|
||||
static void verify_klass(MacroAssembler* _masm,
|
||||
Register obj_reg, VMClassID klass_id,
|
||||
Register obj_reg, vmClassID klass_id,
|
||||
Register temp_reg, Register temp2_reg,
|
||||
const char* error_message = "wrong klass") NOT_DEBUG_RETURN;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2018 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -26,7 +26,6 @@
|
|||
#include "precompiled.hpp"
|
||||
#ifdef COMPILER2
|
||||
#include "asm/macroAssembler.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/vmreg.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "interpreter/interp_masm.hpp"
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#include "prims/methodHandles.hpp"
|
||||
#include "runtime/safepointMechanism.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#include "runtime/signature.hpp"
|
||||
#include "runtime/stubRoutines.hpp"
|
||||
#include "runtime/vframeArray.hpp"
|
||||
#include "utilities/align.hpp"
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
#include "asm/macroAssembler.inline.hpp"
|
||||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "c1/c1_Runtime1.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
#include "gc/shared/tlab_globals.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
|
|
|
@ -76,7 +76,7 @@ static int check_nonzero(const char* xname, int x) {
|
|||
|
||||
#ifdef ASSERT
|
||||
void MethodHandles::verify_klass(MacroAssembler* _masm,
|
||||
Register obj_reg, VMClassID klass_id,
|
||||
Register obj_reg, vmClassID klass_id,
|
||||
Register temp_reg, Register temp2_reg,
|
||||
const char* error_message) {
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
static void load_klass_from_Class(MacroAssembler* _masm, Register klass_reg, Register temp_reg, Register temp2_reg);
|
||||
|
||||
static void verify_klass(MacroAssembler* _masm,
|
||||
Register obj_reg, VMClassID klass_id,
|
||||
Register obj_reg, vmClassID klass_id,
|
||||
Register temp_reg, Register temp2_reg,
|
||||
const char* error_message = "wrong klass") NOT_DEBUG_RETURN;
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -26,7 +26,6 @@
|
|||
#include "precompiled.hpp"
|
||||
#ifdef COMPILER2
|
||||
#include "asm/macroAssembler.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/vmreg.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "memory/resourceArea.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2019 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -39,6 +39,7 @@
|
|||
#include "registerSaver_s390.hpp"
|
||||
#include "runtime/safepointMechanism.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#include "runtime/signature.hpp"
|
||||
#include "runtime/stubRoutines.hpp"
|
||||
#include "runtime/vframeArray.hpp"
|
||||
#include "utilities/align.hpp"
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include "precompiled.hpp"
|
||||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "c1/c1_Runtime1.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "gc/shared/barrierSet.hpp"
|
||||
#include "gc/shared/barrierSetAssembler.hpp"
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
|
|
|
@ -72,7 +72,7 @@ static int check_nonzero(const char* xname, int x) {
|
|||
|
||||
#ifdef ASSERT
|
||||
void MethodHandles::verify_klass(MacroAssembler* _masm,
|
||||
Register obj, VMClassID klass_id,
|
||||
Register obj, vmClassID klass_id,
|
||||
const char* error_message) {
|
||||
InstanceKlass** klass_addr = vmClasses::klass_addr_at(klass_id);
|
||||
Klass* klass = vmClasses::klass_at(klass_id);
|
||||
|
|
|
@ -35,7 +35,7 @@ public:
|
|||
static void load_klass_from_Class(MacroAssembler* _masm, Register klass_reg);
|
||||
|
||||
static void verify_klass(MacroAssembler* _masm,
|
||||
Register obj, VMClassID klass_id,
|
||||
Register obj, vmClassID klass_id,
|
||||
const char* error_message = "wrong klass") NOT_DEBUG_RETURN;
|
||||
|
||||
static void verify_method_handle(MacroAssembler* _masm, Register mh_reg) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1998, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2021, 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
|
||||
|
@ -26,7 +26,6 @@
|
|||
#ifdef COMPILER2
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "asm/macroAssembler.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/vmreg.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "memory/resourceArea.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2021, 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
|
||||
|
@ -26,7 +26,6 @@
|
|||
#ifdef COMPILER2
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "asm/macroAssembler.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/vmreg.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "opto/runtime.hpp"
|
||||
|
|
|
@ -40,6 +40,7 @@
|
|||
#include "prims/methodHandles.hpp"
|
||||
#include "runtime/safepointMechanism.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#include "runtime/signature.hpp"
|
||||
#include "runtime/stubRoutines.hpp"
|
||||
#include "runtime/vframeArray.hpp"
|
||||
#include "runtime/vm_version.hpp"
|
||||
|
|
|
@ -45,6 +45,7 @@
|
|||
#include "prims/methodHandles.hpp"
|
||||
#include "runtime/safepointMechanism.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#include "runtime/signature.hpp"
|
||||
#include "runtime/stubRoutines.hpp"
|
||||
#include "runtime/vframeArray.hpp"
|
||||
#include "runtime/vm_version.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2016, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2021, 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
|
||||
|
@ -23,7 +23,6 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/compiledIC.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
// no precompiled headers
|
||||
#include "jvm.h"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
#include "code/vtableStubs.hpp"
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
// no precompiled headers
|
||||
#include "jvm.h"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
#include "code/vtableStubs.hpp"
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
// no precompiled headers
|
||||
#include "jvm.h"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
#include "code/vtableStubs.hpp"
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
// no precompiled headers
|
||||
#include "jvm.h"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2020 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -28,7 +28,6 @@
|
|||
#include "assembler_ppc.hpp"
|
||||
#include "asm/assembler.inline.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2021, 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
|
||||
|
@ -26,7 +26,6 @@
|
|||
#include "jvm.h"
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -32,7 +32,6 @@
|
|||
#include "jvm.h"
|
||||
#include "assembler_zero.inline.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
#include "code/vtableStubs.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2014, Red Hat Inc. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -27,7 +27,6 @@
|
|||
#include "jvm.h"
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2008, 2021, 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
|
||||
|
@ -26,7 +26,6 @@
|
|||
#include "jvm.h"
|
||||
#include "assembler_arm.inline.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
#include "code/vtableStubs.hpp"
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#include "assembler_ppc.hpp"
|
||||
#include "asm/assembler.inline.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2019 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -29,7 +29,6 @@
|
|||
#include "jvm.h"
|
||||
#include "asm/assembler.inline.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
#include "code/nativeInst.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2021, 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
|
||||
|
@ -26,7 +26,6 @@
|
|||
#include "jvm.h"
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -27,7 +27,6 @@
|
|||
#include "jvm.h"
|
||||
#include "assembler_zero.inline.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
#include "code/vtableStubs.hpp"
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
#include "jvm.h"
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2021, 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
|
||||
|
@ -26,7 +26,6 @@
|
|||
#include "jvm.h"
|
||||
#include "asm/macroAssembler.hpp"
|
||||
#include "classfile/classLoader.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/icBuffer.hpp"
|
||||
#include "code/vtableStubs.hpp"
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
#include "aot/aotLoader.hpp"
|
||||
#include "ci/ciUtilities.inline.hpp"
|
||||
#include "classfile/javaAssertions.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "gc/shared/cardTable.hpp"
|
||||
#include "gc/shared/cardTableBarrierSet.hpp"
|
||||
|
@ -389,7 +391,7 @@ void AOTCodeHeap::link_known_klasses() {
|
|||
link_klass(arr_klass);
|
||||
}
|
||||
}
|
||||
link_klass(SystemDictionary::Reference_klass());
|
||||
link_klass(vmClasses::Reference_klass());
|
||||
}
|
||||
|
||||
void AOTCodeHeap::register_stubs() {
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
#include "c1/c1_MacroAssembler.hpp"
|
||||
#include "c1/c1_Runtime1.hpp"
|
||||
#include "classfile/javaClasses.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeBlob.hpp"
|
||||
#include "code/compiledIC.hpp"
|
||||
|
@ -532,7 +532,7 @@ JRT_ENTRY_NO_ASYNC(static address, exception_handler_for_pc_helper(JavaThread* t
|
|||
}
|
||||
assert(exception.not_null(), "NULL exceptions should be handled by throw_exception");
|
||||
// Check that exception is a subclass of Throwable
|
||||
assert(exception->is_a(SystemDictionary::Throwable_klass()),
|
||||
assert(exception->is_a(vmClasses::Throwable_klass()),
|
||||
"Exception not subclass of Throwable");
|
||||
|
||||
// debugging support
|
||||
|
@ -1419,7 +1419,7 @@ JRT_ENTRY(void, Runtime1::predicate_failed_trap(JavaThread* thread))
|
|||
Method::build_interpreter_method_data(m, THREAD);
|
||||
if (HAS_PENDING_EXCEPTION) {
|
||||
// Only metaspace OOM is expected. No Java code executed.
|
||||
assert((PENDING_EXCEPTION->is_a(SystemDictionary::OutOfMemoryError_klass())), "we expect only an OOM error here");
|
||||
assert((PENDING_EXCEPTION->is_a(vmClasses::OutOfMemoryError_klass())), "we expect only an OOM error here");
|
||||
CLEAR_PENDING_EXCEPTION;
|
||||
}
|
||||
mdo = m->method_data();
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#include "classfile/javaClasses.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/scopeDesc.hpp"
|
||||
|
@ -799,7 +800,7 @@ ciMethod* ciEnv::get_method_by_index_impl(const constantPoolHandle& cpool,
|
|||
}
|
||||
|
||||
// Fake a method that is equivalent to a declared method.
|
||||
ciInstanceKlass* holder = get_instance_klass(SystemDictionary::MethodHandle_klass());
|
||||
ciInstanceKlass* holder = get_instance_klass(vmClasses::MethodHandle_klass());
|
||||
ciSymbol* name = ciSymbols::invokeBasic_name();
|
||||
ciSymbol* signature = get_symbol(cpool->signature_ref_at(index));
|
||||
return get_unloaded_method(holder, name, signature, accessor);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2021, 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
|
||||
|
@ -28,7 +28,7 @@
|
|||
#include "ci/ciSymbols.hpp"
|
||||
#include "ci/ciUtilities.inline.hpp"
|
||||
#include "classfile/javaClasses.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "gc/shared/collectedHeap.inline.hpp"
|
||||
#include "interpreter/linkResolver.hpp"
|
||||
#include "oops/klass.inline.hpp"
|
||||
|
@ -270,8 +270,8 @@ void ciField::initialize_from(fieldDescriptor* fd) {
|
|||
// not be constant is when the field is a *special* static & final field
|
||||
// whose value may change. The three examples are java.lang.System.in,
|
||||
// java.lang.System.out, and java.lang.System.err.
|
||||
assert(SystemDictionary::System_klass() != NULL, "Check once per vm");
|
||||
if (k == SystemDictionary::System_klass()) {
|
||||
assert(vmClasses::System_klass() != NULL, "Check once per vm");
|
||||
if (k == vmClasses::System_klass()) {
|
||||
// Check offsets for case 2: System.in, System.out, or System.err
|
||||
if (_offset == java_lang_System::in_offset() ||
|
||||
_offset == java_lang_System::out_offset() ||
|
||||
|
@ -289,8 +289,8 @@ void ciField::initialize_from(fieldDescriptor* fd) {
|
|||
}
|
||||
} else {
|
||||
// For CallSite objects treat the target field as a compile time constant.
|
||||
assert(SystemDictionary::CallSite_klass() != NULL, "should be already initialized");
|
||||
if (k == SystemDictionary::CallSite_klass() &&
|
||||
assert(vmClasses::CallSite_klass() != NULL, "should be already initialized");
|
||||
if (k == vmClasses::CallSite_klass() &&
|
||||
_offset == java_lang_invoke_CallSite::target_offset()) {
|
||||
assert(!has_initialized_final_update(), "CallSite is not supposed to have writes to final fields outside initializers");
|
||||
_is_constant = true;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2021, 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
|
||||
|
@ -29,7 +29,7 @@
|
|||
#include "ci/ciInstance.hpp"
|
||||
#include "ci/ciInstanceKlass.hpp"
|
||||
#include "ci/ciUtilities.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "oops/oop.inline.hpp"
|
||||
|
||||
// ciInstance
|
||||
|
@ -43,7 +43,7 @@ ciType* ciInstance::java_mirror_type() {
|
|||
VM_ENTRY_MARK;
|
||||
oop m = get_oop();
|
||||
// Return NULL if it is not java.lang.Class.
|
||||
if (m == NULL || m->klass() != SystemDictionary::Class_klass()) {
|
||||
if (m == NULL || m->klass() != vmClasses::Class_klass()) {
|
||||
return NULL;
|
||||
}
|
||||
// Return either a primitive type or a klass.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2021, 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
|
||||
|
@ -27,8 +27,8 @@
|
|||
#include "ci/ciInstance.hpp"
|
||||
#include "ci/ciInstanceKlass.hpp"
|
||||
#include "ci/ciUtilities.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/javaClasses.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "memory/allocation.hpp"
|
||||
#include "memory/allocation.inline.hpp"
|
||||
#include "memory/resourceArea.hpp"
|
||||
|
@ -107,7 +107,7 @@ ciInstanceKlass::ciInstanceKlass(Klass* k) :
|
|||
_java_mirror = NULL;
|
||||
|
||||
if (is_shared()) {
|
||||
if (k != SystemDictionary::Object_klass()) {
|
||||
if (k != vmClasses::Object_klass()) {
|
||||
super();
|
||||
}
|
||||
//compute_nonstatic_fields(); // done outside of constructor
|
||||
|
@ -260,7 +260,7 @@ bool ciInstanceKlass::uses_default_loader() const {
|
|||
*/
|
||||
BasicType ciInstanceKlass::box_klass_type() const {
|
||||
if (uses_default_loader() && is_loaded()) {
|
||||
return SystemDictionary::box_klass_type(get_Klass());
|
||||
return vmClasses::box_klass_type(get_Klass());
|
||||
} else {
|
||||
return T_OBJECT;
|
||||
}
|
||||
|
@ -689,7 +689,7 @@ class StaticFinalFieldPrinter : public FieldClosure {
|
|||
_out->print_cr("null");
|
||||
} else if (value->is_instance()) {
|
||||
assert(fd->field_type() == T_OBJECT, "");
|
||||
if (value->is_a(SystemDictionary::String_klass())) {
|
||||
if (value->is_a(vmClasses::String_klass())) {
|
||||
const char* ascii_value = java_lang_String::as_quoted_ascii(value);
|
||||
_out->print("\"%s\"", (ascii_value != NULL) ? ascii_value : "");
|
||||
} else {
|
||||
|
|
|
@ -34,7 +34,6 @@
|
|||
#include "ci/ciReplay.hpp"
|
||||
#include "ci/ciSymbols.hpp"
|
||||
#include "ci/ciUtilities.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "compiler/abstractCompiler.hpp"
|
||||
#include "compiler/methodLiveness.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
|
|
|
@ -27,8 +27,8 @@
|
|||
#include "ci/ciObjArrayKlass.hpp"
|
||||
#include "ci/ciSymbol.hpp"
|
||||
#include "ci/ciUtilities.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "oops/objArrayKlass.hpp"
|
||||
#include "runtime/signature.hpp"
|
||||
|
||||
// ciObjArrayKlass
|
||||
//
|
||||
|
|
|
@ -43,13 +43,14 @@
|
|||
#include "ci/ciTypeArrayKlass.hpp"
|
||||
#include "ci/ciUtilities.inline.hpp"
|
||||
#include "classfile/javaClasses.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "compiler/compiler_globals.hpp"
|
||||
#include "gc/shared/collectedHeap.inline.hpp"
|
||||
#include "memory/allocation.inline.hpp"
|
||||
#include "memory/universe.hpp"
|
||||
#include "oops/oop.inline.hpp"
|
||||
#include "runtime/handles.inline.hpp"
|
||||
#include "runtime/signature.hpp"
|
||||
#include "utilities/macros.hpp"
|
||||
|
||||
// ciObjectFactory
|
||||
|
@ -153,8 +154,8 @@ void ciObjectFactory::init_shared_objects() {
|
|||
init_ident_of(ciEnv::_null_object_instance);
|
||||
|
||||
#define VM_CLASS_DEFN(name, ignore_s) \
|
||||
if (SystemDictionary::name##_is_loaded()) \
|
||||
ciEnv::_##name = get_metadata(SystemDictionary::name())->as_instance_klass();
|
||||
if (vmClasses::name##_is_loaded()) \
|
||||
ciEnv::_##name = get_metadata(vmClasses::name())->as_instance_klass();
|
||||
|
||||
VM_CLASSES_DO(VM_CLASS_DEFN)
|
||||
#undef VM_CLASS_DEFN
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include "ci/ciUtilities.inline.hpp"
|
||||
#include "classfile/javaClasses.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "compiler/compilationPolicy.hpp"
|
||||
#include "compiler/compileBroker.hpp"
|
||||
#include "memory/allocation.inline.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2021, 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
|
||||
|
@ -26,7 +26,6 @@
|
|||
#include "ci/ciEnv.hpp"
|
||||
#include "ci/ciType.hpp"
|
||||
#include "ci/ciUtilities.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "memory/resourceArea.hpp"
|
||||
#include "memory/universe.hpp"
|
||||
#include "oops/oop.inline.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2021, 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
|
||||
|
@ -42,7 +42,7 @@
|
|||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/altHashing.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "oops/klass.inline.hpp"
|
||||
#include "oops/markWord.hpp"
|
||||
#include "oops/oop.inline.hpp"
|
||||
|
@ -62,8 +62,8 @@ uint64_t AltHashing::compute_seed() {
|
|||
uint64_t nanos = os::javaTimeNanos();
|
||||
uint64_t now = os::javaTimeMillis();
|
||||
uint32_t SEED_MATERIAL[8] = {
|
||||
(uint32_t) object_hash(SystemDictionary::String_klass()),
|
||||
(uint32_t) object_hash(SystemDictionary::System_klass()),
|
||||
(uint32_t) object_hash(vmClasses::String_klass()),
|
||||
(uint32_t) object_hash(vmClasses::System_klass()),
|
||||
(uint32_t) os::random(), // current thread isn't a java thread
|
||||
(uint32_t) (((uint64_t)nanos) >> 32),
|
||||
(uint32_t) nanos,
|
||||
|
|
|
@ -39,6 +39,7 @@
|
|||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/verificationType.hpp"
|
||||
#include "classfile/verifier.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "logging/log.hpp"
|
||||
#include "logging/logStream.hpp"
|
||||
|
@ -2684,7 +2685,7 @@ Method* ClassFileParser::parse_method(const ClassFileStream* const cfs,
|
|||
cfs->skip_u2_fast(method_parameters_length);
|
||||
cfs->skip_u2_fast(method_parameters_length);
|
||||
// ignore this attribute if it cannot be reflected
|
||||
if (!SystemDictionary::Parameter_klass_loaded())
|
||||
if (!vmClasses::Parameter_klass_loaded())
|
||||
method_parameters_length = -1;
|
||||
} else if (method_attribute_name == vmSymbols::tag_synthetic()) {
|
||||
if (method_attribute_length != 0) {
|
||||
|
@ -4306,8 +4307,8 @@ void ClassFileParser::set_precomputed_flags(InstanceKlass* ik) {
|
|||
#endif
|
||||
|
||||
// Check if this klass supports the java.lang.Cloneable interface
|
||||
if (SystemDictionary::Cloneable_klass_loaded()) {
|
||||
if (ik->is_subtype_of(SystemDictionary::Cloneable_klass())) {
|
||||
if (vmClasses::Cloneable_klass_loaded()) {
|
||||
if (ik->is_subtype_of(vmClasses::Cloneable_klass())) {
|
||||
ik->set_is_cloneable();
|
||||
}
|
||||
}
|
||||
|
@ -4952,7 +4953,7 @@ static const char* skip_over_field_name(const char* const name,
|
|||
if (not_first_ch) {
|
||||
// public static boolean isJavaIdentifierPart(char ch);
|
||||
JavaCalls::call_static(&result,
|
||||
SystemDictionary::Character_klass(),
|
||||
vmClasses::Character_klass(),
|
||||
vmSymbols::isJavaIdentifierPart_name(),
|
||||
vmSymbols::int_bool_signature(),
|
||||
&args,
|
||||
|
@ -4960,7 +4961,7 @@ static const char* skip_over_field_name(const char* const name,
|
|||
} else {
|
||||
// public static boolean isJavaIdentifierStart(char ch);
|
||||
JavaCalls::call_static(&result,
|
||||
SystemDictionary::Character_klass(),
|
||||
vmClasses::Character_klass(),
|
||||
vmSymbols::isJavaIdentifierStart_name(),
|
||||
vmSymbols::int_bool_signature(),
|
||||
&args,
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/systemDictionaryShared.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "interpreter/bytecode.hpp"
|
||||
#include "interpreter/bytecodeStream.hpp"
|
||||
|
@ -564,7 +565,7 @@ Klass* ClassListParser::load_current_class(TRAPS) {
|
|||
|
||||
JavaCalls::call_virtual(&result,
|
||||
loader, //SystemDictionary::java_system_loader(),
|
||||
SystemDictionary::ClassLoader_klass(),
|
||||
vmClasses::ClassLoader_klass(),
|
||||
vmSymbols::loadClass_name(),
|
||||
vmSymbols::string_class_signature(),
|
||||
ext_class_name,
|
||||
|
|
|
@ -38,6 +38,7 @@
|
|||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/systemDictionaryShared.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "compiler/compileBroker.hpp"
|
||||
#include "interpreter/bytecodeStream.hpp"
|
||||
|
@ -1076,7 +1077,7 @@ objArrayOop ClassLoader::get_system_packages(TRAPS) {
|
|||
|
||||
|
||||
// Allocate objArray and fill with java.lang.String
|
||||
objArrayOop r = oopFactory::new_objArray(SystemDictionary::String_klass(),
|
||||
objArrayOop r = oopFactory::new_objArray(vmClasses::String_klass(),
|
||||
loaded_class_pkgs->length(), CHECK_NULL);
|
||||
objArrayHandle result(THREAD, r);
|
||||
for (int x = 0; x < loaded_class_pkgs->length(); x++) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2021, 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
|
||||
|
@ -55,6 +55,7 @@
|
|||
#include "classfile/packageEntry.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "logging/log.hpp"
|
||||
#include "logging/logStream.hpp"
|
||||
#include "memory/allocation.inline.hpp"
|
||||
|
@ -363,7 +364,7 @@ void ClassLoaderData::loaded_classes_do(KlassClosure* klass_closure) {
|
|||
#ifdef ASSERT
|
||||
oop m = k->java_mirror();
|
||||
assert(m != NULL, "NULL mirror");
|
||||
assert(m->is_a(SystemDictionary::Class_klass()), "invalid mirror");
|
||||
assert(m->is_a(vmClasses::Class_klass()), "invalid mirror");
|
||||
#endif
|
||||
klass_closure->do_klass(k);
|
||||
}
|
||||
|
@ -585,7 +586,7 @@ Dictionary* ClassLoaderData::create_dictionary() {
|
|||
if (_the_null_class_loader_data == NULL) {
|
||||
size = _boot_loader_dictionary_size;
|
||||
resizable = true;
|
||||
} else if (class_loader()->is_a(SystemDictionary::reflect_DelegatingClassLoader_klass())) {
|
||||
} else if (class_loader()->is_a(vmClasses::reflect_DelegatingClassLoader_klass())) {
|
||||
size = 1; // there's only one class in relection class loader and no initiated classes
|
||||
} else if (is_system_class_loader_data()) {
|
||||
size = _boot_loader_dictionary_size;
|
||||
|
@ -768,7 +769,7 @@ ClassLoaderMetaspace* ClassLoaderData::metaspace_non_null() {
|
|||
metaspace = new ClassLoaderMetaspace(_metaspace_lock, Metaspace::BootMetaspaceType);
|
||||
} else if (has_class_mirror_holder()) {
|
||||
metaspace = new ClassLoaderMetaspace(_metaspace_lock, Metaspace::ClassMirrorHolderMetaspaceType);
|
||||
} else if (class_loader()->is_a(SystemDictionary::reflect_DelegatingClassLoader_klass())) {
|
||||
} else if (class_loader()->is_a(vmClasses::reflect_DelegatingClassLoader_klass())) {
|
||||
metaspace = new ClassLoaderMetaspace(_metaspace_lock, Metaspace::ReflectionMetaspaceType);
|
||||
} else {
|
||||
metaspace = new ClassLoaderMetaspace(_metaspace_lock, Metaspace::StandardMetaspaceType);
|
||||
|
|
|
@ -27,6 +27,7 @@
|
|||
#include "classfile/classLoaderDataShared.hpp"
|
||||
#include "classfile/moduleEntry.hpp"
|
||||
#include "classfile/packageEntry.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "logging/log.hpp"
|
||||
#include "memory/metaspaceShared.hpp"
|
||||
#include "runtime/handles.inline.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2021, 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
|
||||
|
@ -31,6 +31,7 @@
|
|||
#include "classfile/classLoadInfo.hpp"
|
||||
#include "classfile/klassFactory.hpp"
|
||||
#include "classfile/modules.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/systemDictionaryShared.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "logging/log.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2012, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2012, 2021, 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
|
||||
|
@ -27,6 +27,7 @@
|
|||
#include "classfile/defaultMethods.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "logging/log.hpp"
|
||||
#include "logging/logStream.hpp"
|
||||
|
@ -140,7 +141,7 @@ class HierarchyVisitor : StackObj {
|
|||
bool has_more_nodes() const { return _path.length() > 0; }
|
||||
void push(InstanceKlass* cls, ALGO* algo) {
|
||||
assert(cls != NULL, "Requires a valid instance class");
|
||||
if (cls == SystemDictionary::Object_klass()) {
|
||||
if (cls == vmClasses::Object_klass()) {
|
||||
_visited_Object = true;
|
||||
}
|
||||
void* data = algo->new_node_data();
|
||||
|
@ -817,7 +818,7 @@ static void create_default_methods( InstanceKlass* klass,
|
|||
void DefaultMethods::generate_default_methods(
|
||||
InstanceKlass* klass, const GrowableArray<Method*>* mirandas, TRAPS) {
|
||||
assert(klass != NULL, "invariant");
|
||||
assert(klass != SystemDictionary::Object_klass(), "Shouldn't be called for Object");
|
||||
assert(klass != vmClasses::Object_klass(), "Shouldn't be called for Object");
|
||||
|
||||
// This resource mark is the bound for all memory allocation that takes
|
||||
// place during default method processing. After this goes out of scope,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2000, 2021, 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
|
||||
|
@ -26,6 +26,7 @@
|
|||
#include "classfile/javaAssertions.hpp"
|
||||
#include "classfile/javaClasses.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "memory/allocation.inline.hpp"
|
||||
#include "memory/oopFactory.hpp"
|
||||
|
@ -104,14 +105,14 @@ oop JavaAssertions::createAssertionStatusDirectives(TRAPS) {
|
|||
int len;
|
||||
typeArrayOop t;
|
||||
len = OptionList::count(_packages);
|
||||
objArrayOop pn = oopFactory::new_objArray(SystemDictionary::String_klass(), len, CHECK_NULL);
|
||||
objArrayOop pn = oopFactory::new_objArray(vmClasses::String_klass(), len, CHECK_NULL);
|
||||
objArrayHandle pkgNames (THREAD, pn);
|
||||
t = oopFactory::new_typeArray(T_BOOLEAN, len, CHECK_NULL);
|
||||
typeArrayHandle pkgEnabled(THREAD, t);
|
||||
fillJavaArrays(_packages, len, pkgNames, pkgEnabled, CHECK_NULL);
|
||||
|
||||
len = OptionList::count(_classes);
|
||||
objArrayOop cn = oopFactory::new_objArray(SystemDictionary::String_klass(), len, CHECK_NULL);
|
||||
objArrayOop cn = oopFactory::new_objArray(vmClasses::String_klass(), len, CHECK_NULL);
|
||||
objArrayHandle classNames (THREAD, cn);
|
||||
t = oopFactory::new_typeArray(T_BOOLEAN, len, CHECK_NULL);
|
||||
typeArrayHandle classEnabled(THREAD, t);
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include "classfile/moduleEntry.hpp"
|
||||
#include "classfile/stringTable.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/debugInfo.hpp"
|
||||
|
@ -97,7 +98,7 @@ InjectedField JavaClasses::_injected_fields[] = {
|
|||
|
||||
// Register native methods of Object
|
||||
void java_lang_Object::register_natives(TRAPS) {
|
||||
InstanceKlass* obj = SystemDictionary::Object_klass();
|
||||
InstanceKlass* obj = vmClasses::Object_klass();
|
||||
Method::register_native(obj, vmSymbols::hashCode_name(),
|
||||
vmSymbols::void_int_signature(), (address) &JVM_IHashCode, CHECK);
|
||||
Method::register_native(obj, vmSymbols::wait_name(),
|
||||
|
@ -217,7 +218,7 @@ void java_lang_String::compute_offsets() {
|
|||
return;
|
||||
}
|
||||
|
||||
InstanceKlass* k = SystemDictionary::String_klass();
|
||||
InstanceKlass* k = vmClasses::String_klass();
|
||||
STRING_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
|
||||
_initialized = true;
|
||||
|
@ -240,7 +241,7 @@ public:
|
|||
void do_field(fieldDescriptor* fd) {
|
||||
if (fd->name() == vmSymbols::compact_strings_name()) {
|
||||
oop mirror = fd->field_holder()->java_mirror();
|
||||
assert(fd->field_holder() == SystemDictionary::String_klass(), "Should be String");
|
||||
assert(fd->field_holder() == vmClasses::String_klass(), "Should be String");
|
||||
assert(mirror != NULL, "String must have mirror already");
|
||||
mirror->bool_field_put(fd->offset(), _value);
|
||||
}
|
||||
|
@ -249,7 +250,7 @@ public:
|
|||
|
||||
void java_lang_String::set_compact_strings(bool value) {
|
||||
CompactStringsFixup fix(value);
|
||||
SystemDictionary::String_klass()->do_local_static_fields(&fix);
|
||||
vmClasses::String_klass()->do_local_static_fields(&fix);
|
||||
}
|
||||
|
||||
Handle java_lang_String::basic_create(int length, bool is_latin1, TRAPS) {
|
||||
|
@ -259,7 +260,7 @@ Handle java_lang_String::basic_create(int length, bool is_latin1, TRAPS) {
|
|||
// Create the String object first, so there's a chance that the String
|
||||
// and the char array it points to end up in the same cache line.
|
||||
oop obj;
|
||||
obj = SystemDictionary::String_klass()->allocate_instance(CHECK_NH);
|
||||
obj = vmClasses::String_klass()->allocate_instance(CHECK_NH);
|
||||
|
||||
// Create the char array. The String object must be handlized here
|
||||
// because GC can happen as a result of the allocation attempt.
|
||||
|
@ -739,7 +740,7 @@ char* java_lang_String::as_utf8_string(oop java_string, typeArrayOop value, int
|
|||
}
|
||||
|
||||
bool java_lang_String::equals(oop java_string, const jchar* chars, int len) {
|
||||
assert(java_string->klass() == SystemDictionary::String_klass(),
|
||||
assert(java_string->klass() == vmClasses::String_klass(),
|
||||
"must be java_string");
|
||||
typeArrayOop value = java_lang_String::value_no_keepalive(java_string);
|
||||
int length = java_lang_String::length(java_string, value);
|
||||
|
@ -764,9 +765,9 @@ bool java_lang_String::equals(oop java_string, const jchar* chars, int len) {
|
|||
}
|
||||
|
||||
bool java_lang_String::equals(oop str1, oop str2) {
|
||||
assert(str1->klass() == SystemDictionary::String_klass(),
|
||||
assert(str1->klass() == vmClasses::String_klass(),
|
||||
"must be java String");
|
||||
assert(str2->klass() == SystemDictionary::String_klass(),
|
||||
assert(str2->klass() == vmClasses::String_klass(),
|
||||
"must be java String");
|
||||
typeArrayOop value1 = java_lang_String::value_no_keepalive(str1);
|
||||
bool is_latin1 = java_lang_String::is_latin1(str1);
|
||||
|
@ -781,7 +782,7 @@ bool java_lang_String::equals(oop str1, oop str2) {
|
|||
}
|
||||
|
||||
void java_lang_String::print(oop java_string, outputStream* st) {
|
||||
assert(java_string->klass() == SystemDictionary::String_klass(), "must be java_string");
|
||||
assert(java_string->klass() == vmClasses::String_klass(), "must be java_string");
|
||||
typeArrayOop value = java_lang_String::value_no_keepalive(java_string);
|
||||
|
||||
if (value == NULL) {
|
||||
|
@ -991,9 +992,9 @@ void java_lang_Class::create_mirror(Klass* k, Handle class_loader,
|
|||
k->set_modifier_flags(computed_modifiers);
|
||||
// Class_klass has to be loaded because it is used to allocate
|
||||
// the mirror.
|
||||
if (SystemDictionary::Class_klass_loaded()) {
|
||||
if (vmClasses::Class_klass_loaded()) {
|
||||
// Allocate mirror (java.lang.Class instance)
|
||||
oop mirror_oop = InstanceMirrorKlass::cast(SystemDictionary::Class_klass())->allocate_instance(k, CHECK);
|
||||
oop mirror_oop = InstanceMirrorKlass::cast(vmClasses::Class_klass())->allocate_instance(k, CHECK);
|
||||
Handle mirror(THREAD, mirror_oop);
|
||||
Handle comp_mirror;
|
||||
|
||||
|
@ -1312,7 +1313,7 @@ bool java_lang_Class::restore_archived_mirror(Klass *k,
|
|||
Handle protection_domain, TRAPS) {
|
||||
// Postpone restoring archived mirror until java.lang.Class is loaded. Please
|
||||
// see more details in vmClasses::resolve_all().
|
||||
if (!SystemDictionary::Class_klass_loaded()) {
|
||||
if (!vmClasses::Class_klass_loaded()) {
|
||||
assert(fixup_mirror_list() != NULL, "fixup_mirror_list not initialized");
|
||||
fixup_mirror_list()->push(k);
|
||||
return true;
|
||||
|
@ -1483,14 +1484,14 @@ void java_lang_Class::set_source_file(oop java_class, oop source_file) {
|
|||
oop java_lang_Class::create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS) {
|
||||
// This should be improved by adding a field at the Java level or by
|
||||
// introducing a new VM klass (see comment in ClassFileParser)
|
||||
oop java_class = InstanceMirrorKlass::cast(SystemDictionary::Class_klass())->allocate_instance(NULL, CHECK_NULL);
|
||||
oop java_class = InstanceMirrorKlass::cast(vmClasses::Class_klass())->allocate_instance(NULL, CHECK_NULL);
|
||||
if (type != T_VOID) {
|
||||
Klass* aklass = Universe::typeArrayKlassObj(type);
|
||||
assert(aklass != NULL, "correct bootstrap");
|
||||
release_set_array_klass(java_class, aklass);
|
||||
}
|
||||
#ifdef ASSERT
|
||||
InstanceMirrorKlass* mk = InstanceMirrorKlass::cast(SystemDictionary::Class_klass());
|
||||
InstanceMirrorKlass* mk = InstanceMirrorKlass::cast(vmClasses::Class_klass());
|
||||
assert(java_lang_Class::static_oop_field_count(java_class) == 0, "should have been zeroed by allocation");
|
||||
#endif
|
||||
return java_class;
|
||||
|
@ -1620,7 +1621,7 @@ BasicType java_lang_Class::as_BasicType(oop java_class, Klass** reference_klass)
|
|||
|
||||
oop java_lang_Class::primitive_mirror(BasicType t) {
|
||||
oop mirror = Universe::java_mirror(t);
|
||||
assert(mirror != NULL && mirror->is_a(SystemDictionary::Class_klass()), "must be a Class");
|
||||
assert(mirror != NULL && mirror->is_a(vmClasses::Class_klass()), "must be a Class");
|
||||
assert(java_lang_Class::is_primitive(mirror), "must be primitive");
|
||||
return mirror;
|
||||
}
|
||||
|
@ -1640,7 +1641,7 @@ void java_lang_Class::compute_offsets() {
|
|||
|
||||
_offsets_computed = true;
|
||||
|
||||
InstanceKlass* k = SystemDictionary::Class_klass();
|
||||
InstanceKlass* k = vmClasses::Class_klass();
|
||||
CLASS_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
|
||||
// Init lock is a C union with component_mirror. Only instanceKlass mirrors have
|
||||
|
@ -1713,7 +1714,7 @@ int java_lang_Thread::_park_blocker_offset;
|
|||
void java_lang_Thread::compute_offsets() {
|
||||
assert(_group_offset == 0, "offsets should be initialized only once");
|
||||
|
||||
InstanceKlass* k = SystemDictionary::Thread_klass();
|
||||
InstanceKlass* k = vmClasses::Thread_klass();
|
||||
THREAD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -1933,7 +1934,7 @@ bool java_lang_ThreadGroup::is_daemon(oop java_thread_group) {
|
|||
void java_lang_ThreadGroup::compute_offsets() {
|
||||
assert(_parent_offset == 0, "offsets should be initialized only once");
|
||||
|
||||
InstanceKlass* k = SystemDictionary::ThreadGroup_klass();
|
||||
InstanceKlass* k = vmClasses::ThreadGroup_klass();
|
||||
THREADGROUP_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -1959,7 +1960,7 @@ int java_lang_Throwable::_static_unassigned_stacktrace_offset;
|
|||
macro(_static_unassigned_stacktrace_offset, k, "UNASSIGNED_STACK", java_lang_StackTraceElement_array, true)
|
||||
|
||||
void java_lang_Throwable::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::Throwable_klass();
|
||||
InstanceKlass* k = vmClasses::Throwable_klass();
|
||||
THROWABLE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -1970,7 +1971,7 @@ void java_lang_Throwable::serialize_offsets(SerializeClosure* f) {
|
|||
#endif
|
||||
|
||||
oop java_lang_Throwable::unassigned_stacktrace() {
|
||||
InstanceKlass* ik = SystemDictionary::Throwable_klass();
|
||||
InstanceKlass* ik = vmClasses::Throwable_klass();
|
||||
oop base = ik->static_field_base_raw();
|
||||
return base->obj_field(_static_unassigned_stacktrace_offset);
|
||||
}
|
||||
|
@ -2396,11 +2397,11 @@ void java_lang_Throwable::print_stack_trace(Handle throwable, outputStream* st)
|
|||
* Print the throwable stack trace by calling the Java method java.lang.Throwable.printStackTrace().
|
||||
*/
|
||||
void java_lang_Throwable::java_printStackTrace(Handle throwable, TRAPS) {
|
||||
assert(throwable->is_a(SystemDictionary::Throwable_klass()), "Throwable instance expected");
|
||||
assert(throwable->is_a(vmClasses::Throwable_klass()), "Throwable instance expected");
|
||||
JavaValue result(T_VOID);
|
||||
JavaCalls::call_virtual(&result,
|
||||
throwable,
|
||||
SystemDictionary::Throwable_klass(),
|
||||
vmClasses::Throwable_klass(),
|
||||
vmSymbols::printStackTrace_name(),
|
||||
vmSymbols::void_method_signature(),
|
||||
THREAD);
|
||||
|
@ -2579,7 +2580,7 @@ void java_lang_Throwable::fill_in_stack_trace_of_preallocated_backtrace(Handle t
|
|||
// No-op if stack trace is disabled
|
||||
if (!StackTraceInThrowable) return;
|
||||
|
||||
assert(throwable->is_a(SystemDictionary::Throwable_klass()), "sanity check");
|
||||
assert(throwable->is_a(vmClasses::Throwable_klass()), "sanity check");
|
||||
|
||||
JavaThread* THREAD = JavaThread::current();
|
||||
|
||||
|
@ -2681,7 +2682,7 @@ bool java_lang_Throwable::get_top_method_and_bci(oop throwable, Method** method,
|
|||
|
||||
oop java_lang_StackTraceElement::create(const methodHandle& method, int bci, TRAPS) {
|
||||
// Allocate java.lang.StackTraceElement instance
|
||||
InstanceKlass* k = SystemDictionary::StackTraceElement_klass();
|
||||
InstanceKlass* k = vmClasses::StackTraceElement_klass();
|
||||
assert(k != NULL, "must be loaded in 1.4+");
|
||||
if (k->should_be_initialized()) {
|
||||
k->initialize(CHECK_NULL);
|
||||
|
@ -2697,7 +2698,7 @@ oop java_lang_StackTraceElement::create(const methodHandle& method, int bci, TRA
|
|||
void java_lang_StackTraceElement::fill_in(Handle element,
|
||||
InstanceKlass* holder, const methodHandle& method,
|
||||
int version, int bci, Symbol* name, TRAPS) {
|
||||
assert(element->is_a(SystemDictionary::StackTraceElement_klass()), "sanity check");
|
||||
assert(element->is_a(vmClasses::StackTraceElement_klass()), "sanity check");
|
||||
|
||||
ResourceMark rm(THREAD);
|
||||
HandleMark hm(THREAD);
|
||||
|
@ -2804,7 +2805,7 @@ int java_lang_StackFrameInfo::_version_offset;
|
|||
macro(_bci_offset, k, "bci", int_signature, false)
|
||||
|
||||
void java_lang_StackFrameInfo::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::StackFrameInfo_klass();
|
||||
InstanceKlass* k = vmClasses::StackFrameInfo_klass();
|
||||
STACKFRAMEINFO_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
STACKFRAMEINFO_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
@ -2876,7 +2877,7 @@ int java_lang_LiveStackFrameInfo::_mode_offset;
|
|||
macro(_mode_offset, k, "mode", int_signature, false)
|
||||
|
||||
void java_lang_LiveStackFrameInfo::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::LiveStackFrameInfo_klass();
|
||||
InstanceKlass* k = vmClasses::LiveStackFrameInfo_klass();
|
||||
LIVESTACKFRAMEINFO_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -2911,7 +2912,7 @@ int java_lang_reflect_AccessibleObject::_override_offset;
|
|||
macro(_override_offset, k, "override", bool_signature, false)
|
||||
|
||||
void java_lang_reflect_AccessibleObject::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::reflect_AccessibleObject_klass();
|
||||
InstanceKlass* k = vmClasses::reflect_AccessibleObject_klass();
|
||||
ACCESSIBLEOBJECT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -2957,7 +2958,7 @@ int java_lang_reflect_Method::_annotation_default_offset;
|
|||
macro(_annotation_default_offset, k, vmSymbols::annotation_default_name(), byte_array_signature, false);
|
||||
|
||||
void java_lang_reflect_Method::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::reflect_Method_klass();
|
||||
InstanceKlass* k = vmClasses::reflect_Method_klass();
|
||||
METHOD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -2969,7 +2970,7 @@ void java_lang_reflect_Method::serialize_offsets(SerializeClosure* f) {
|
|||
|
||||
Handle java_lang_reflect_Method::create(TRAPS) {
|
||||
assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
|
||||
Klass* klass = SystemDictionary::reflect_Method_klass();
|
||||
Klass* klass = vmClasses::reflect_Method_klass();
|
||||
// This class is eagerly initialized during VM initialization, since we keep a refence
|
||||
// to one of the methods
|
||||
assert(InstanceKlass::cast(klass)->is_initialized(), "must be initialized");
|
||||
|
@ -3056,7 +3057,7 @@ int java_lang_reflect_Constructor::_parameter_annotations_offset;
|
|||
macro(_parameter_annotations_offset, k, vmSymbols::parameter_annotations_name(), byte_array_signature, false);
|
||||
|
||||
void java_lang_reflect_Constructor::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::reflect_Constructor_klass();
|
||||
InstanceKlass* k = vmClasses::reflect_Constructor_klass();
|
||||
CONSTRUCTOR_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3140,7 +3141,7 @@ int java_lang_reflect_Field::_annotations_offset;
|
|||
macro(_annotations_offset, k, vmSymbols::annotations_name(), byte_array_signature, false);
|
||||
|
||||
void java_lang_reflect_Field::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::reflect_Field_klass();
|
||||
InstanceKlass* k = vmClasses::reflect_Field_klass();
|
||||
FIELD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3215,7 +3216,7 @@ void java_lang_reflect_Field::set_annotations(oop field, oop value) {
|
|||
oop java_lang_reflect_RecordComponent::create(InstanceKlass* holder, RecordComponent* component, TRAPS) {
|
||||
// Allocate java.lang.reflect.RecordComponent instance
|
||||
HandleMark hm(THREAD);
|
||||
InstanceKlass* ik = SystemDictionary::RecordComponent_klass();
|
||||
InstanceKlass* ik = vmClasses::RecordComponent_klass();
|
||||
assert(ik != NULL, "must be loaded");
|
||||
ik->initialize(CHECK_NULL);
|
||||
|
||||
|
@ -3276,7 +3277,7 @@ int reflect_ConstantPool::_oop_offset;
|
|||
macro(_oop_offset, k, "constantPoolOop", object_signature, false)
|
||||
|
||||
void reflect_ConstantPool::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::reflect_ConstantPool_klass();
|
||||
InstanceKlass* k = vmClasses::reflect_ConstantPool_klass();
|
||||
// The field is called ConstantPool* in the sun.reflect.ConstantPool class.
|
||||
CONSTANTPOOL_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
@ -3299,7 +3300,7 @@ int java_lang_reflect_Parameter::_executable_offset;
|
|||
macro(_executable_offset, k, vmSymbols::executable_name(), executable_signature, false)
|
||||
|
||||
void java_lang_reflect_Parameter::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::reflect_Parameter_klass();
|
||||
InstanceKlass* k = vmClasses::reflect_Parameter_klass();
|
||||
PARAMETER_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3359,7 +3360,7 @@ int java_lang_Module::_module_entry_offset;
|
|||
|
||||
Handle java_lang_Module::create(Handle loader, Handle module_name, TRAPS) {
|
||||
assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
|
||||
return JavaCalls::construct_new_instance(SystemDictionary::Module_klass(),
|
||||
return JavaCalls::construct_new_instance(vmClasses::Module_klass(),
|
||||
vmSymbols::java_lang_module_init_signature(),
|
||||
loader, module_name, CHECK_NH);
|
||||
}
|
||||
|
@ -3369,7 +3370,7 @@ Handle java_lang_Module::create(Handle loader, Handle module_name, TRAPS) {
|
|||
macro(_name_offset, k, vmSymbols::name_name(), string_signature, false)
|
||||
|
||||
void java_lang_Module::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::Module_klass();
|
||||
InstanceKlass* k = vmClasses::Module_klass();
|
||||
MODULE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
MODULE_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
@ -3428,7 +3429,7 @@ void java_lang_Module::set_module_entry(oop module, ModuleEntry* module_entry) {
|
|||
|
||||
Handle reflect_ConstantPool::create(TRAPS) {
|
||||
assert(Universe::is_fully_initialized(), "Need to find another solution to the reflection problem");
|
||||
InstanceKlass* k = SystemDictionary::reflect_ConstantPool_klass();
|
||||
InstanceKlass* k = vmClasses::reflect_ConstantPool_klass();
|
||||
// Ensure it is initialized
|
||||
k->initialize(CHECK_NH);
|
||||
return k->allocate_instance_handle(THREAD);
|
||||
|
@ -3461,7 +3462,7 @@ int reflect_UnsafeStaticFieldAccessorImpl::_base_offset;
|
|||
macro(_base_offset, k, "base", object_signature, false)
|
||||
|
||||
void reflect_UnsafeStaticFieldAccessorImpl::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::reflect_UnsafeStaticFieldAccessorImpl_klass();
|
||||
InstanceKlass* k = vmClasses::reflect_UnsafeStaticFieldAccessorImpl_klass();
|
||||
UNSAFESTATICFIELDACCESSORIMPL_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3491,7 +3492,7 @@ void java_lang_ref_Reference::compute_offsets() {
|
|||
return;
|
||||
}
|
||||
_offsets_initialized = true;
|
||||
InstanceKlass* k = SystemDictionary::Reference_klass();
|
||||
InstanceKlass* k = vmClasses::Reference_klass();
|
||||
REFERENCE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3515,7 +3516,7 @@ bool java_lang_ref_Reference::is_referent_field(oop obj, ptrdiff_t offset) {
|
|||
|
||||
InstanceKlass* ik = InstanceKlass::cast(obj->klass());
|
||||
bool is_reference = ik->reference_type() != REF_NONE;
|
||||
assert(!is_reference || ik->is_subclass_of(SystemDictionary::Reference_klass()), "sanity");
|
||||
assert(!is_reference || ik->is_subclass_of(vmClasses::Reference_klass()), "sanity");
|
||||
return is_reference;
|
||||
}
|
||||
|
||||
|
@ -3527,8 +3528,8 @@ int java_lang_boxing_object::_long_value_offset;
|
|||
macro(_long_value_offset, longKlass, "value", long_signature, false);
|
||||
|
||||
void java_lang_boxing_object::compute_offsets() {
|
||||
InstanceKlass* integerKlass = SystemDictionary::Integer_klass();
|
||||
InstanceKlass* longKlass = SystemDictionary::Long_klass();
|
||||
InstanceKlass* integerKlass = vmClasses::Integer_klass();
|
||||
InstanceKlass* longKlass = vmClasses::Long_klass();
|
||||
BOXING_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3539,7 +3540,7 @@ void java_lang_boxing_object::serialize_offsets(SerializeClosure* f) {
|
|||
#endif
|
||||
|
||||
oop java_lang_boxing_object::initialize_and_allocate(BasicType type, TRAPS) {
|
||||
Klass* k = SystemDictionary::box_klass(type);
|
||||
Klass* k = vmClasses::box_klass(type);
|
||||
if (k == NULL) return NULL;
|
||||
InstanceKlass* ik = InstanceKlass::cast(k);
|
||||
if (!ik->is_initialized()) ik->initialize(CHECK_NULL);
|
||||
|
@ -3584,7 +3585,7 @@ oop java_lang_boxing_object::create(BasicType type, jvalue* value, TRAPS) {
|
|||
|
||||
BasicType java_lang_boxing_object::basic_type(oop box) {
|
||||
if (box == NULL) return T_ILLEGAL;
|
||||
BasicType type = SystemDictionary::box_klass_type(box->klass());
|
||||
BasicType type = vmClasses::box_klass_type(box->klass());
|
||||
if (type == T_OBJECT) // 'unknown' value returned by SD::bkt
|
||||
return T_ILLEGAL;
|
||||
return type;
|
||||
|
@ -3592,7 +3593,7 @@ BasicType java_lang_boxing_object::basic_type(oop box) {
|
|||
|
||||
|
||||
BasicType java_lang_boxing_object::get_value(oop box, jvalue* value) {
|
||||
BasicType type = SystemDictionary::box_klass_type(box->klass());
|
||||
BasicType type = vmClasses::box_klass_type(box->klass());
|
||||
switch (type) {
|
||||
case T_BOOLEAN:
|
||||
value->z = box->bool_field(_value_offset);
|
||||
|
@ -3626,7 +3627,7 @@ BasicType java_lang_boxing_object::get_value(oop box, jvalue* value) {
|
|||
|
||||
|
||||
BasicType java_lang_boxing_object::set_value(oop box, jvalue* value) {
|
||||
BasicType type = SystemDictionary::box_klass_type(box->klass());
|
||||
BasicType type = vmClasses::box_klass_type(box->klass());
|
||||
switch (type) {
|
||||
case T_BOOLEAN:
|
||||
box->bool_field_put(_value_offset, value->z);
|
||||
|
@ -3685,7 +3686,7 @@ int java_lang_ref_SoftReference::_static_clock_offset;
|
|||
macro(_static_clock_offset, k, "clock", long_signature, true)
|
||||
|
||||
void java_lang_ref_SoftReference::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::SoftReference_klass();
|
||||
InstanceKlass* k = vmClasses::SoftReference_klass();
|
||||
SOFTREFERENCE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3700,13 +3701,13 @@ jlong java_lang_ref_SoftReference::timestamp(oop ref) {
|
|||
}
|
||||
|
||||
jlong java_lang_ref_SoftReference::clock() {
|
||||
InstanceKlass* ik = SystemDictionary::SoftReference_klass();
|
||||
InstanceKlass* ik = vmClasses::SoftReference_klass();
|
||||
oop base = ik->static_field_base_raw();
|
||||
return base->long_field(_static_clock_offset);
|
||||
}
|
||||
|
||||
void java_lang_ref_SoftReference::set_clock(jlong value) {
|
||||
InstanceKlass* ik = SystemDictionary::SoftReference_klass();
|
||||
InstanceKlass* ik = vmClasses::SoftReference_klass();
|
||||
oop base = ik->static_field_base_raw();
|
||||
base->long_field_put(_static_clock_offset, value);
|
||||
}
|
||||
|
@ -3726,7 +3727,7 @@ oop java_lang_invoke_DirectMethodHandle::member(oop dmh) {
|
|||
macro(_member_offset, k, "member", java_lang_invoke_MemberName_signature, false)
|
||||
|
||||
void java_lang_invoke_DirectMethodHandle::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::DirectMethodHandle_klass();
|
||||
InstanceKlass* k = vmClasses::DirectMethodHandle_klass();
|
||||
DIRECTMETHODHANDLE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3758,7 +3759,7 @@ int java_lang_invoke_LambdaForm::_vmentry_offset;
|
|||
macro(_form_offset, k, "form", java_lang_invoke_LambdaForm_signature, false)
|
||||
|
||||
void java_lang_invoke_MethodHandle::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::MethodHandle_klass();
|
||||
InstanceKlass* k = vmClasses::MethodHandle_klass();
|
||||
METHODHANDLE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3776,7 +3777,7 @@ void java_lang_invoke_MethodHandle::serialize_offsets(SerializeClosure* f) {
|
|||
macro(_method_offset, k, vmSymbols::method_name(), java_lang_invoke_ResolvedMethodName_signature, false)
|
||||
|
||||
void java_lang_invoke_MemberName::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::MemberName_klass();
|
||||
InstanceKlass* k = vmClasses::MemberName_klass();
|
||||
MEMBERNAME_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
MEMBERNAME_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
@ -3789,7 +3790,7 @@ void java_lang_invoke_MemberName::serialize_offsets(SerializeClosure* f) {
|
|||
#endif
|
||||
|
||||
void java_lang_invoke_ResolvedMethodName::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::ResolvedMethodName_klass();
|
||||
InstanceKlass* k = vmClasses::ResolvedMethodName_klass();
|
||||
assert(k != NULL, "jdk mismatch");
|
||||
RESOLVEDMETHOD_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
@ -3804,7 +3805,7 @@ void java_lang_invoke_ResolvedMethodName::serialize_offsets(SerializeClosure* f)
|
|||
macro(_vmentry_offset, k, "vmentry", java_lang_invoke_MemberName_signature, false)
|
||||
|
||||
void java_lang_invoke_LambdaForm::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::LambdaForm_klass();
|
||||
InstanceKlass* k = vmClasses::LambdaForm_klass();
|
||||
assert (k != NULL, "jdk mismatch");
|
||||
LAMBDAFORM_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
@ -3841,7 +3842,7 @@ bool jdk_internal_invoke_NativeEntryPoint::is_instance(oop obj) {
|
|||
}
|
||||
|
||||
void jdk_internal_invoke_NativeEntryPoint::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::NativeEntryPoint_klass();
|
||||
InstanceKlass* k = vmClasses::NativeEntryPoint_klass();
|
||||
NEP_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -3995,7 +3996,7 @@ oop java_lang_invoke_ResolvedMethodName::find_resolved_method(const methodHandle
|
|||
return resolved_method;
|
||||
}
|
||||
|
||||
InstanceKlass* k = SystemDictionary::ResolvedMethodName_klass();
|
||||
InstanceKlass* k = vmClasses::ResolvedMethodName_klass();
|
||||
if (!k->is_initialized()) {
|
||||
k->initialize(CHECK_NULL);
|
||||
}
|
||||
|
@ -4041,7 +4042,7 @@ int java_lang_invoke_MethodType::_ptypes_offset;
|
|||
macro(_ptypes_offset, k, "ptypes", class_array_signature, false)
|
||||
|
||||
void java_lang_invoke_MethodType::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::MethodType_klass();
|
||||
InstanceKlass* k = vmClasses::MethodType_klass();
|
||||
METHODTYPE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4135,7 +4136,7 @@ int java_lang_invoke_CallSite::_context_offset;
|
|||
macro(_context_offset, k, "context", java_lang_invoke_MethodHandleNatives_CallSiteContext_signature, false)
|
||||
|
||||
void java_lang_invoke_CallSite::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::CallSite_klass();
|
||||
InstanceKlass* k = vmClasses::CallSite_klass();
|
||||
CALLSITE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4160,7 +4161,7 @@ int java_lang_invoke_ConstantCallSite::_is_frozen_offset;
|
|||
macro(_is_frozen_offset, k, "isFrozen", bool_signature, false)
|
||||
|
||||
void java_lang_invoke_ConstantCallSite::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::ConstantCallSite_klass();
|
||||
InstanceKlass* k = vmClasses::ConstantCallSite_klass();
|
||||
CONSTANTCALLSITE_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4176,7 +4177,7 @@ int java_lang_invoke_MethodHandleNatives_CallSiteContext::_vmdependencies_offset
|
|||
int java_lang_invoke_MethodHandleNatives_CallSiteContext::_last_cleanup_offset;
|
||||
|
||||
void java_lang_invoke_MethodHandleNatives_CallSiteContext::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::Context_klass();
|
||||
InstanceKlass* k = vmClasses::Context_klass();
|
||||
CALLSITECONTEXT_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4209,7 +4210,7 @@ int java_security_AccessControlContext::_isAuthorized_offset;
|
|||
|
||||
void java_security_AccessControlContext::compute_offsets() {
|
||||
assert(_isPrivileged_offset == 0, "offsets should be initialized only once");
|
||||
InstanceKlass* k = SystemDictionary::AccessControlContext_klass();
|
||||
InstanceKlass* k = vmClasses::AccessControlContext_klass();
|
||||
ACCESSCONTROLCONTEXT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4223,9 +4224,9 @@ oop java_security_AccessControlContext::create(objArrayHandle context, bool isPr
|
|||
assert(_isPrivileged_offset != 0, "offsets should have been initialized");
|
||||
assert(_isAuthorized_offset != 0, "offsets should have been initialized");
|
||||
// Ensure klass is initialized
|
||||
SystemDictionary::AccessControlContext_klass()->initialize(CHECK_NULL);
|
||||
vmClasses::AccessControlContext_klass()->initialize(CHECK_NULL);
|
||||
// Allocate result
|
||||
oop result = SystemDictionary::AccessControlContext_klass()->allocate_instance(CHECK_NULL);
|
||||
oop result = vmClasses::AccessControlContext_klass()->allocate_instance(CHECK_NULL);
|
||||
// Fill in values
|
||||
result->obj_field_put(_context_offset, context());
|
||||
result->obj_field_put(_privilegedContext_offset, privileged_context());
|
||||
|
@ -4270,7 +4271,7 @@ void java_lang_ClassLoader::release_set_loader_data(oop loader, ClassLoaderData*
|
|||
macro(_parent_offset, k1, "parent", classloader_signature, false)
|
||||
|
||||
void java_lang_ClassLoader::compute_offsets() {
|
||||
InstanceKlass* k1 = SystemDictionary::ClassLoader_klass();
|
||||
InstanceKlass* k1 = vmClasses::ClassLoader_klass();
|
||||
CLASSLOADER_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
|
||||
CLASSLOADER_INJECTED_FIELDS(INJECTED_FIELD_COMPUTE_OFFSET);
|
||||
|
@ -4351,7 +4352,7 @@ bool java_lang_ClassLoader::is_trusted_loader(oop loader) {
|
|||
// the generated bytecodes for reflection.
|
||||
bool java_lang_ClassLoader::is_reflection_class_loader(oop loader) {
|
||||
if (loader != NULL) {
|
||||
Klass* delegating_cl_class = SystemDictionary::reflect_DelegatingClassLoader_klass();
|
||||
Klass* delegating_cl_class = vmClasses::reflect_DelegatingClassLoader_klass();
|
||||
// This might be null in non-1.4 JDKs
|
||||
return (delegating_cl_class != NULL && loader->is_a(delegating_cl_class));
|
||||
}
|
||||
|
@ -4389,7 +4390,7 @@ int java_lang_System::_static_security_offset;
|
|||
macro(_static_security_offset, k, "security", security_manager_signature, true)
|
||||
|
||||
void java_lang_System::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::System_klass();
|
||||
InstanceKlass* k = vmClasses::System_klass();
|
||||
SYSTEM_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4421,7 +4422,7 @@ public:
|
|||
void do_field(fieldDescriptor* fd) {
|
||||
oop mirror = fd->field_holder()->java_mirror();
|
||||
assert(mirror != NULL, "UnsafeConstants must have mirror already");
|
||||
assert(fd->field_holder() == SystemDictionary::UnsafeConstants_klass(), "Should be UnsafeConstants");
|
||||
assert(fd->field_holder() == vmClasses::UnsafeConstants_klass(), "Should be UnsafeConstants");
|
||||
assert(fd->is_final(), "fields of UnsafeConstants must be final");
|
||||
assert(fd->is_static(), "fields of UnsafeConstants must be static");
|
||||
if (fd->name() == vmSymbols::address_size_name()) {
|
||||
|
@ -4442,7 +4443,7 @@ public:
|
|||
|
||||
void jdk_internal_misc_UnsafeConstants::set_unsafe_constants() {
|
||||
UnsafeConstantsFixup fixup;
|
||||
SystemDictionary::UnsafeConstants_klass()->do_local_static_fields(&fixup);
|
||||
vmClasses::UnsafeConstants_klass()->do_local_static_fields(&fixup);
|
||||
}
|
||||
|
||||
|
||||
|
@ -4469,7 +4470,7 @@ int java_lang_StackTraceElement::_declaringClassObject_offset;
|
|||
|
||||
// Support for java_lang_StackTraceElement
|
||||
void java_lang_StackTraceElement::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::StackTraceElement_klass();
|
||||
InstanceKlass* k = vmClasses::StackTraceElement_klass();
|
||||
STACKTRACEELEMENT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4529,7 +4530,7 @@ int java_lang_AssertionStatusDirectives::_deflt_offset;
|
|||
macro(_deflt_offset, k, "deflt", bool_signature, false)
|
||||
|
||||
void java_lang_AssertionStatusDirectives::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::AssertionStatusDirectives_klass();
|
||||
InstanceKlass* k = vmClasses::AssertionStatusDirectives_klass();
|
||||
ASSERTIONSTATUSDIRECTIVES_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4568,7 +4569,7 @@ int java_nio_Buffer::_limit_offset;
|
|||
macro(_limit_offset, k, "limit", int_signature, false)
|
||||
|
||||
void java_nio_Buffer::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::nio_Buffer_klass();
|
||||
InstanceKlass* k = vmClasses::nio_Buffer_klass();
|
||||
assert(k != NULL, "must be loaded in 1.4+");
|
||||
BUFFER_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
@ -4585,7 +4586,7 @@ int java_util_concurrent_locks_AbstractOwnableSynchronizer::_owner_offset;
|
|||
macro(_owner_offset, k, "exclusiveOwnerThread", thread_signature, false)
|
||||
|
||||
void java_util_concurrent_locks_AbstractOwnableSynchronizer::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::java_util_concurrent_locks_AbstractOwnableSynchronizer_klass();
|
||||
InstanceKlass* k = vmClasses::java_util_concurrent_locks_AbstractOwnableSynchronizer_klass();
|
||||
AOS_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4606,7 +4607,7 @@ int vector_VectorPayload::_payload_offset;
|
|||
macro(_payload_offset, k, "payload", object_signature, false)
|
||||
|
||||
void vector_VectorPayload::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::vector_VectorPayload_klass();
|
||||
InstanceKlass* k = vmClasses::vector_VectorPayload_klass();
|
||||
VECTORPAYLOAD_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4841,7 +4842,7 @@ int java_lang_reflect_RecordComponent::_typeAnnotations_offset;
|
|||
|
||||
// Support for java_lang_reflect_RecordComponent
|
||||
void java_lang_reflect_RecordComponent::compute_offsets() {
|
||||
InstanceKlass* k = SystemDictionary::RecordComponent_klass();
|
||||
InstanceKlass* k = vmClasses::RecordComponent_klass();
|
||||
RECORDCOMPONENT_FIELDS_DO(FIELD_COMPUTE_OFFSET);
|
||||
}
|
||||
|
||||
|
@ -4933,7 +4934,7 @@ void JavaClasses::serialize_offsets(SerializeClosure* soc) {
|
|||
bool JavaClasses::is_supported_for_archiving(oop obj) {
|
||||
Klass* klass = obj->klass();
|
||||
|
||||
if (klass == SystemDictionary::ClassLoader_klass() || // ClassLoader::loader_data is malloc'ed.
|
||||
if (klass == vmClasses::ClassLoader_klass() || // ClassLoader::loader_data is malloc'ed.
|
||||
// The next 3 classes are used to implement java.lang.invoke, and are not used directly in
|
||||
// regular Java code. The implementation of java.lang.invoke uses generated anonymous classes
|
||||
// (e.g., as referenced by ResolvedMethodName::vmholder) that are not yet supported by CDS.
|
||||
|
@ -4941,9 +4942,9 @@ bool JavaClasses::is_supported_for_archiving(oop obj) {
|
|||
//
|
||||
// These objects typically are not referenced by static fields, but rather by resolved
|
||||
// constant pool entries, so excluding them shouldn't affect the archiving of static fields.
|
||||
klass == SystemDictionary::ResolvedMethodName_klass() ||
|
||||
klass == SystemDictionary::MemberName_klass() ||
|
||||
klass == SystemDictionary::Context_klass()) {
|
||||
klass == vmClasses::ResolvedMethodName_klass() ||
|
||||
klass == vmClasses::MemberName_klass() ||
|
||||
klass == vmClasses::Context_klass()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#ifndef SHARE_CLASSFILE_JAVACLASSES_HPP
|
||||
#define SHARE_CLASSFILE_JAVACLASSES_HPP
|
||||
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "oops/oop.hpp"
|
||||
#include "oops/instanceKlass.hpp"
|
||||
|
@ -946,7 +945,7 @@ class java_lang_invoke_MethodHandle: AllStatic {
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return klass->is_subclass_of(SystemDictionary::MethodHandle_klass());
|
||||
return klass->is_subclass_of(vmClasses::MethodHandle_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
|
||||
|
@ -973,7 +972,7 @@ class java_lang_invoke_DirectMethodHandle: AllStatic {
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return klass->is_subclass_of(SystemDictionary::DirectMethodHandle_klass());
|
||||
return klass->is_subclass_of(vmClasses::DirectMethodHandle_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
|
||||
|
@ -1001,8 +1000,8 @@ class java_lang_invoke_LambdaForm: AllStatic {
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return SystemDictionary::LambdaForm_klass() != NULL &&
|
||||
klass->is_subclass_of(SystemDictionary::LambdaForm_klass());
|
||||
return vmClasses::LambdaForm_klass() != NULL &&
|
||||
klass->is_subclass_of(vmClasses::LambdaForm_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
|
||||
|
@ -1041,8 +1040,8 @@ class jdk_internal_invoke_NativeEntryPoint: AllStatic {
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return SystemDictionary::NativeEntryPoint_klass() != NULL &&
|
||||
klass->is_subclass_of(SystemDictionary::NativeEntryPoint_klass());
|
||||
return vmClasses::NativeEntryPoint_klass() != NULL &&
|
||||
klass->is_subclass_of(vmClasses::NativeEntryPoint_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
|
||||
|
@ -1135,7 +1134,7 @@ class java_lang_invoke_MemberName: AllStatic {
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return klass->is_subclass_of(SystemDictionary::MemberName_klass());
|
||||
return klass->is_subclass_of(vmClasses::MemberName_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
|
||||
|
@ -1231,7 +1230,7 @@ public:
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return klass->is_subclass_of(SystemDictionary::CallSite_klass());
|
||||
return klass->is_subclass_of(vmClasses::CallSite_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
|
||||
|
@ -1257,7 +1256,7 @@ public:
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return klass->is_subclass_of(SystemDictionary::ConstantCallSite_klass());
|
||||
return klass->is_subclass_of(vmClasses::ConstantCallSite_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
};
|
||||
|
@ -1286,7 +1285,7 @@ public:
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return klass->is_subclass_of(SystemDictionary::Context_klass());
|
||||
return klass->is_subclass_of(vmClasses::Context_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
};
|
||||
|
@ -1354,7 +1353,7 @@ class java_lang_ClassLoader : AllStatic {
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return klass->is_subclass_of(SystemDictionary::ClassLoader_klass());
|
||||
return klass->is_subclass_of(vmClasses::ClassLoader_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
|
||||
|
@ -1598,7 +1597,7 @@ class vector_VectorPayload : AllStatic {
|
|||
|
||||
// Testers
|
||||
static bool is_subclass(Klass* klass) {
|
||||
return klass->is_subclass_of(SystemDictionary::vector_VectorPayload_klass());
|
||||
return klass->is_subclass_of(vmClasses::vector_VectorPayload_klass());
|
||||
}
|
||||
static bool is_instance(oop obj);
|
||||
};
|
||||
|
@ -1718,7 +1717,7 @@ class java_lang_InternalError : AllStatic {
|
|||
|
||||
class InjectedField {
|
||||
public:
|
||||
const VMClassID klass_id;
|
||||
const vmClassID klass_id;
|
||||
const vmSymbolID name_index;
|
||||
const vmSymbolID signature_index;
|
||||
const bool may_be_java;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2015, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2015, 2021, 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
|
||||
|
@ -27,6 +27,7 @@
|
|||
|
||||
#include "classfile/javaClasses.hpp"
|
||||
#include "oops/access.inline.hpp"
|
||||
#include "oops/method.hpp"
|
||||
#include "oops/oop.inline.hpp"
|
||||
#include "oops/oopsHierarchy.hpp"
|
||||
|
||||
|
@ -96,7 +97,7 @@ int java_lang_String::length(oop java_string) {
|
|||
}
|
||||
|
||||
bool java_lang_String::is_instance_inlined(oop obj) {
|
||||
return obj != NULL && obj->klass() == SystemDictionary::String_klass();
|
||||
return obj != NULL && obj->klass() == vmClasses::String_klass();
|
||||
}
|
||||
|
||||
// Accessors
|
||||
|
@ -190,15 +191,15 @@ inline bool java_lang_invoke_MethodHandleNatives_CallSiteContext::is_instance(oo
|
|||
}
|
||||
|
||||
inline bool java_lang_invoke_MemberName::is_instance(oop obj) {
|
||||
return obj != NULL && obj->klass() == SystemDictionary::MemberName_klass();
|
||||
return obj != NULL && obj->klass() == vmClasses::MemberName_klass();
|
||||
}
|
||||
|
||||
inline bool java_lang_invoke_ResolvedMethodName::is_instance(oop obj) {
|
||||
return obj != NULL && obj->klass() == SystemDictionary::ResolvedMethodName_klass();
|
||||
return obj != NULL && obj->klass() == vmClasses::ResolvedMethodName_klass();
|
||||
}
|
||||
|
||||
inline bool java_lang_invoke_MethodType::is_instance(oop obj) {
|
||||
return obj != NULL && obj->klass() == SystemDictionary::MethodType_klass();
|
||||
return obj != NULL && obj->klass() == vmClasses::MethodType_klass();
|
||||
}
|
||||
|
||||
inline bool java_lang_invoke_MethodHandle::is_instance(oop obj) {
|
||||
|
@ -206,7 +207,7 @@ inline bool java_lang_invoke_MethodHandle::is_instance(oop obj) {
|
|||
}
|
||||
|
||||
inline bool java_lang_Class::is_instance(oop obj) {
|
||||
return obj != NULL && obj->klass() == SystemDictionary::Class_klass();
|
||||
return obj != NULL && obj->klass() == vmClasses::Class_klass();
|
||||
}
|
||||
|
||||
inline Klass* java_lang_Class::as_Klass(oop java_class) {
|
||||
|
@ -245,7 +246,7 @@ inline bool java_lang_invoke_DirectMethodHandle::is_instance(oop obj) {
|
|||
}
|
||||
|
||||
inline bool java_lang_Module::is_instance(oop obj) {
|
||||
return obj != NULL && obj->klass() == SystemDictionary::Module_klass();
|
||||
return obj != NULL && obj->klass() == vmClasses::Module_klass();
|
||||
}
|
||||
|
||||
inline int Backtrace::merge_bci_and_version(int bci, int version) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2020, 2021, 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
|
||||
|
@ -32,6 +32,7 @@
|
|||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/systemDictionaryShared.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "logging/log.hpp"
|
||||
#include "memory/oopFactory.hpp"
|
||||
|
@ -64,7 +65,7 @@ void LambdaFormInvokers::regenerate_holder_classes(TRAPS) {
|
|||
guarantee(cds_klass != NULL, "jdk/internal/misc/CDS must exist!");
|
||||
|
||||
int len = _lambdaform_lines->length();
|
||||
objArrayHandle list_lines = oopFactory::new_objArray_handle(SystemDictionary::String_klass(), len, CHECK);
|
||||
objArrayHandle list_lines = oopFactory::new_objArray_handle(vmClasses::String_klass(), len, CHECK);
|
||||
for (int i = 0; i < len; i++) {
|
||||
Handle h_line = java_lang_String::create_from_str(_lambdaform_lines->at(i), CHECK);
|
||||
list_lines->obj_at_put(i, h_line());
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2021, 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
|
||||
|
@ -37,6 +37,7 @@
|
|||
#include "classfile/stringTable.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "logging/log.hpp"
|
||||
#include "logging/logStream.hpp"
|
||||
|
@ -168,7 +169,7 @@ static void define_javabase_module(Handle module_handle, jstring version, jstrin
|
|||
for (int x = 0; x < num_packages; x++) {
|
||||
oop pkg_str = pkgs->obj_at(x);
|
||||
|
||||
if (pkg_str == NULL || pkg_str->klass() != SystemDictionary::String_klass()) {
|
||||
if (pkg_str == NULL || pkg_str->klass() != vmClasses::String_klass()) {
|
||||
THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
|
||||
err_msg("Bad package name"));
|
||||
}
|
||||
|
@ -325,7 +326,7 @@ void Modules::define_module(jobject module, jboolean is_open, jstring version,
|
|||
GrowableArray<Symbol*>* pkg_list = new GrowableArray<Symbol*>(num_packages);
|
||||
for (int x = 0; x < num_packages; x++) {
|
||||
oop pkg_str = packages_h->obj_at(x);
|
||||
if (pkg_str == NULL || pkg_str->klass() != SystemDictionary::String_klass()) {
|
||||
if (pkg_str == NULL || pkg_str->klass() != vmClasses::String_klass()) {
|
||||
THROW_MSG(vmSymbols::java_lang_IllegalArgumentException(),
|
||||
err_msg("Bad package name"));
|
||||
}
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2021, 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
|
||||
|
@ -26,7 +26,6 @@
|
|||
#include "classfile/classLoaderDataGraph.hpp"
|
||||
#include "classfile/dictionary.hpp"
|
||||
#include "classfile/protectionDomainCache.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "logging/log.hpp"
|
||||
#include "logging/logStream.hpp"
|
||||
#include "memory/iterator.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2021, 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
|
||||
|
@ -27,7 +27,7 @@
|
|||
#include "classfile/compactHashtable.hpp"
|
||||
#include "classfile/javaClasses.inline.hpp"
|
||||
#include "classfile/stringTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
#include "gc/shared/oopStorage.inline.hpp"
|
||||
#include "gc/shared/oopStorageSet.hpp"
|
||||
|
@ -542,7 +542,7 @@ static int literal_size(oop obj) {
|
|||
// array is not shared anymore.
|
||||
if (obj == NULL) {
|
||||
return 0;
|
||||
} else if (obj->klass() == SystemDictionary::String_klass()) {
|
||||
} else if (obj->klass() == vmClasses::String_klass()) {
|
||||
return (obj->size() + java_lang_String::value(obj)->size()) * HeapWordSize;
|
||||
} else {
|
||||
return obj->size();
|
||||
|
|
|
@ -120,7 +120,7 @@ oop SystemDictionary::java_platform_loader() {
|
|||
|
||||
void SystemDictionary::compute_java_loaders(TRAPS) {
|
||||
JavaValue result(T_OBJECT);
|
||||
InstanceKlass* class_loader_klass = SystemDictionary::ClassLoader_klass();
|
||||
InstanceKlass* class_loader_klass = vmClasses::ClassLoader_klass();
|
||||
JavaCalls::call_static(&result,
|
||||
class_loader_klass,
|
||||
vmSymbols::getSystemClassLoader_name(),
|
||||
|
@ -173,7 +173,7 @@ bool SystemDictionary::is_system_class_loader(oop class_loader) {
|
|||
if (class_loader == NULL) {
|
||||
return false;
|
||||
}
|
||||
return (class_loader->klass() == SystemDictionary::jdk_internal_loader_ClassLoaders_AppClassLoader_klass() ||
|
||||
return (class_loader->klass() == vmClasses::jdk_internal_loader_ClassLoaders_AppClassLoader_klass() ||
|
||||
class_loader == _java_system_loader.peek());
|
||||
}
|
||||
|
||||
|
@ -182,7 +182,7 @@ bool SystemDictionary::is_platform_class_loader(oop class_loader) {
|
|||
if (class_loader == NULL) {
|
||||
return false;
|
||||
}
|
||||
return (class_loader->klass() == SystemDictionary::jdk_internal_loader_ClassLoaders_PlatformClassLoader_klass());
|
||||
return (class_loader->klass() == vmClasses::jdk_internal_loader_ClassLoaders_PlatformClassLoader_klass());
|
||||
}
|
||||
|
||||
Handle SystemDictionary::compute_loader_lock_object(Thread* thread, Handle class_loader) {
|
||||
|
@ -236,7 +236,7 @@ static void handle_resolution_exception(Symbol* class_name, bool throw_error, TR
|
|||
// If we have a pending exception we forward it to the caller, unless throw_error is true,
|
||||
// in which case we have to check whether the pending exception is a ClassNotFoundException,
|
||||
// and convert it to a NoClassDefFoundError and chain the original ClassNotFoundException.
|
||||
if (throw_error && PENDING_EXCEPTION->is_a(SystemDictionary::ClassNotFoundException_klass())) {
|
||||
if (throw_error && PENDING_EXCEPTION->is_a(vmClasses::ClassNotFoundException_klass())) {
|
||||
ResourceMark rm(THREAD);
|
||||
Handle e(THREAD, PENDING_EXCEPTION);
|
||||
CLEAR_PENDING_EXCEPTION;
|
||||
|
@ -488,7 +488,7 @@ void SystemDictionary::validate_protection_domain(InstanceKlass* klass,
|
|||
// The class_loader handle passed in is the initiating loader.
|
||||
Handle mirror(THREAD, klass->java_mirror());
|
||||
|
||||
InstanceKlass* system_loader = SystemDictionary::ClassLoader_klass();
|
||||
InstanceKlass* system_loader = vmClasses::ClassLoader_klass();
|
||||
JavaCalls::call_special(&result,
|
||||
class_loader,
|
||||
system_loader,
|
||||
|
@ -1495,7 +1495,7 @@ InstanceKlass* SystemDictionary::load_instance_class(Symbol* class_name, Handle
|
|||
|
||||
JavaValue result(T_OBJECT);
|
||||
|
||||
InstanceKlass* spec_klass = SystemDictionary::ClassLoader_klass();
|
||||
InstanceKlass* spec_klass = vmClasses::ClassLoader_klass();
|
||||
|
||||
// Call public unsynchronized loadClass(String) directly for all class loaders.
|
||||
// For parallelCapable class loaders, JDK >=7, loadClass(String, boolean) will
|
||||
|
@ -2233,7 +2233,7 @@ Method* SystemDictionary::find_method_handle_invoker(Klass* klass,
|
|||
int ref_kind = JVM_REF_invokeVirtual;
|
||||
oop name_oop = StringTable::intern(name, CHECK_NULL);
|
||||
Handle name_str (THREAD, name_oop);
|
||||
objArrayHandle appendix_box = oopFactory::new_objArray_handle(SystemDictionary::Object_klass(), 1, CHECK_NULL);
|
||||
objArrayHandle appendix_box = oopFactory::new_objArray_handle(vmClasses::Object_klass(), 1, CHECK_NULL);
|
||||
assert(appendix_box->obj_at(0) == NULL, "");
|
||||
|
||||
// This should not happen. JDK code should take care of that.
|
||||
|
@ -2251,7 +2251,7 @@ Method* SystemDictionary::find_method_handle_invoker(Klass* klass,
|
|||
args.push_oop(appendix_box);
|
||||
JavaValue result(T_OBJECT);
|
||||
JavaCalls::call_static(&result,
|
||||
SystemDictionary::MethodHandleNatives_klass(),
|
||||
vmClasses::MethodHandleNatives_klass(),
|
||||
vmSymbols::linkMethod_name(),
|
||||
vmSymbols::linkMethod_signature(),
|
||||
&args, CHECK_NULL);
|
||||
|
@ -2274,8 +2274,8 @@ static bool is_always_visible_class(oop mirror) {
|
|||
}
|
||||
assert(klass->is_instance_klass(), "%s", klass->external_name());
|
||||
return klass->is_public() &&
|
||||
(InstanceKlass::cast(klass)->is_same_class_package(SystemDictionary::Object_klass()) || // java.lang
|
||||
InstanceKlass::cast(klass)->is_same_class_package(SystemDictionary::MethodHandle_klass())); // java.lang.invoke
|
||||
(InstanceKlass::cast(klass)->is_same_class_package(vmClasses::Object_klass()) || // java.lang
|
||||
InstanceKlass::cast(klass)->is_same_class_package(vmClasses::MethodHandle_klass())); // java.lang.invoke
|
||||
}
|
||||
|
||||
// Find or construct the Java mirror (java.lang.Class instance) for
|
||||
|
@ -2344,7 +2344,7 @@ Handle SystemDictionary::find_method_handle_type(Symbol* signature,
|
|||
}
|
||||
bool can_be_cached = true;
|
||||
int npts = ArgumentCount(signature).size();
|
||||
objArrayHandle pts = oopFactory::new_objArray_handle(SystemDictionary::Class_klass(), npts, CHECK_(empty));
|
||||
objArrayHandle pts = oopFactory::new_objArray_handle(vmClasses::Class_klass(), npts, CHECK_(empty));
|
||||
int arg = 0;
|
||||
Handle rt; // the return type from the signature
|
||||
ResourceMark rm(THREAD);
|
||||
|
@ -2385,7 +2385,7 @@ Handle SystemDictionary::find_method_handle_type(Symbol* signature,
|
|||
args.push_oop(pts);
|
||||
JavaValue result(T_OBJECT);
|
||||
JavaCalls::call_static(&result,
|
||||
SystemDictionary::MethodHandleNatives_klass(),
|
||||
vmClasses::MethodHandleNatives_klass(),
|
||||
vmSymbols::findMethodHandleType_name(),
|
||||
vmSymbols::findMethodHandleType_signature(),
|
||||
&args, CHECK_(empty));
|
||||
|
@ -2442,7 +2442,7 @@ Handle SystemDictionary::link_method_handle_constant(Klass* caller,
|
|||
Handle signature_str = java_lang_String::create_from_symbol(signature, CHECK_(empty));
|
||||
|
||||
// Put symbolic info from the MH constant into freshly created MemberName and resolve it.
|
||||
Handle mname = MemberName_klass()->allocate_instance_handle(CHECK_(empty));
|
||||
Handle mname = vmClasses::MemberName_klass()->allocate_instance_handle(CHECK_(empty));
|
||||
java_lang_invoke_MemberName::set_clazz(mname(), callee->java_mirror());
|
||||
java_lang_invoke_MemberName::set_name (mname(), name_str());
|
||||
java_lang_invoke_MemberName::set_type (mname(), signature_str());
|
||||
|
@ -2471,7 +2471,7 @@ Handle SystemDictionary::link_method_handle_constant(Klass* caller,
|
|||
args.push_oop(type);
|
||||
JavaValue result(T_OBJECT);
|
||||
JavaCalls::call_static(&result,
|
||||
SystemDictionary::MethodHandleNatives_klass(),
|
||||
vmClasses::MethodHandleNatives_klass(),
|
||||
vmSymbols::linkMethodHandleConstant_name(),
|
||||
vmSymbols::linkMethodHandleConstant_signature(),
|
||||
&args, CHECK_(empty));
|
||||
|
@ -2494,7 +2494,7 @@ void SystemDictionary::invoke_bootstrap_method(BootstrapInfo& bootstrap_specifie
|
|||
objArrayHandle appendix_box;
|
||||
if (is_indy) {
|
||||
// Some method calls may require an appendix argument. Arrange to receive it.
|
||||
appendix_box = oopFactory::new_objArray_handle(SystemDictionary::Object_klass(), 1, CHECK);
|
||||
appendix_box = oopFactory::new_objArray_handle(vmClasses::Object_klass(), 1, CHECK);
|
||||
assert(appendix_box->obj_at(0) == NULL, "");
|
||||
}
|
||||
|
||||
|
@ -2512,7 +2512,7 @@ void SystemDictionary::invoke_bootstrap_method(BootstrapInfo& bootstrap_specifie
|
|||
}
|
||||
JavaValue result(T_OBJECT);
|
||||
JavaCalls::call_static(&result,
|
||||
SystemDictionary::MethodHandleNatives_klass(),
|
||||
vmClasses::MethodHandleNatives_klass(),
|
||||
is_indy ? vmSymbols::linkCallSite_name() : vmSymbols::linkDynamicConstant_name(),
|
||||
is_indy ? vmSymbols::linkCallSite_signature() : vmSymbols::linkDynamicConstant_signature(),
|
||||
&args, CHECK);
|
||||
|
@ -2548,7 +2548,7 @@ ClassLoaderData* SystemDictionary::class_loader_data(Handle class_loader) {
|
|||
|
||||
bool SystemDictionary::is_nonpublic_Object_method(Method* m) {
|
||||
assert(m != NULL, "Unexpected NULL Method*");
|
||||
return !m->is_public() && m->method_holder() == SystemDictionary::Object_klass();
|
||||
return !m->is_public() && m->method_holder() == vmClasses::Object_klass();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#ifndef SHARE_CLASSFILE_SYSTEMDICTIONARY_HPP
|
||||
#define SHARE_CLASSFILE_SYSTEMDICTIONARY_HPP
|
||||
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "oops/oopHandle.hpp"
|
||||
#include "runtime/handles.hpp"
|
||||
#include "runtime/signature.hpp"
|
||||
|
@ -86,10 +85,7 @@ class EventClassLoad;
|
|||
class Symbol;
|
||||
class TableStatistics;
|
||||
|
||||
// TMP: subclass from vmClasses so that we can still access the VM classes like
|
||||
// SystemDictionary::Object_klass(). This will be fixed when we replace all SystemDictionary::*_klass()
|
||||
// calls with vmClasses::*_klass().
|
||||
class SystemDictionary : public vmClasses {
|
||||
class SystemDictionary : AllStatic {
|
||||
friend class BootstrapInfo;
|
||||
friend class vmClasses;
|
||||
friend class VMStructs;
|
||||
|
|
|
@ -36,6 +36,7 @@
|
|||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/systemDictionaryShared.hpp"
|
||||
#include "classfile/verificationType.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "interpreter/bootstrapInfo.hpp"
|
||||
#include "jfr/jfrEvents.hpp"
|
||||
|
@ -724,11 +725,11 @@ Handle SystemDictionaryShared::create_jar_manifest(const char* manifest_chars, s
|
|||
typeArrayHandle bufhandle(THREAD, buf);
|
||||
ArrayAccess<>::arraycopy_from_native(reinterpret_cast<const jbyte*>(manifest_chars),
|
||||
buf, typeArrayOopDesc::element_offset<jbyte>(0), size);
|
||||
Handle bais = JavaCalls::construct_new_instance(SystemDictionary::ByteArrayInputStream_klass(),
|
||||
Handle bais = JavaCalls::construct_new_instance(vmClasses::ByteArrayInputStream_klass(),
|
||||
vmSymbols::byte_array_void_signature(),
|
||||
bufhandle, CHECK_NH);
|
||||
// manifest = new Manifest(ByteArrayInputStream)
|
||||
Handle manifest = JavaCalls::construct_new_instance(SystemDictionary::Jar_Manifest_klass(),
|
||||
Handle manifest = JavaCalls::construct_new_instance(vmClasses::Jar_Manifest_klass(),
|
||||
vmSymbols::input_stream_void_signature(),
|
||||
bais, CHECK_NH);
|
||||
return manifest;
|
||||
|
@ -773,7 +774,7 @@ Handle SystemDictionaryShared::get_shared_jar_url(int shared_path_index, TRAPS)
|
|||
const char* path = FileMapInfo::shared_path_name(shared_path_index);
|
||||
Handle path_string = java_lang_String::create_from_str(path, CHECK_(url_h));
|
||||
Klass* classLoaders_klass =
|
||||
SystemDictionary::jdk_internal_loader_ClassLoaders_klass();
|
||||
vmClasses::jdk_internal_loader_ClassLoaders_klass();
|
||||
JavaCalls::call_static(&result, classLoaders_klass,
|
||||
vmSymbols::toFileURL_name(),
|
||||
vmSymbols::toFileURL_signature(),
|
||||
|
@ -811,7 +812,7 @@ void SystemDictionaryShared::define_shared_package(Symbol* class_name,
|
|||
// get_package_name() returns a NULL handle if the class is in unnamed package
|
||||
Handle pkgname_string = get_package_name(class_name, CHECK);
|
||||
if (pkgname_string.not_null()) {
|
||||
Klass* app_classLoader_klass = SystemDictionary::jdk_internal_loader_ClassLoaders_AppClassLoader_klass();
|
||||
Klass* app_classLoader_klass = vmClasses::jdk_internal_loader_ClassLoaders_AppClassLoader_klass();
|
||||
JavaValue result(T_OBJECT);
|
||||
JavaCallArguments args(3);
|
||||
args.set_receiver(class_loader);
|
||||
|
@ -830,12 +831,12 @@ void SystemDictionaryShared::define_shared_package(Symbol* class_name,
|
|||
Handle SystemDictionaryShared::get_protection_domain_from_classloader(Handle class_loader,
|
||||
Handle url, TRAPS) {
|
||||
// CodeSource cs = new CodeSource(url, null);
|
||||
Handle cs = JavaCalls::construct_new_instance(SystemDictionary::CodeSource_klass(),
|
||||
Handle cs = JavaCalls::construct_new_instance(vmClasses::CodeSource_klass(),
|
||||
vmSymbols::url_code_signer_array_void_signature(),
|
||||
url, Handle(), CHECK_NH);
|
||||
|
||||
// protection_domain = SecureClassLoader.getProtectionDomain(cs);
|
||||
Klass* secureClassLoader_klass = SystemDictionary::SecureClassLoader_klass();
|
||||
Klass* secureClassLoader_klass = vmClasses::SecureClassLoader_klass();
|
||||
JavaValue obj_result(T_OBJECT);
|
||||
JavaCalls::call_virtual(&obj_result, class_loader, secureClassLoader_klass,
|
||||
vmSymbols::getProtectionDomain_name(),
|
||||
|
@ -875,12 +876,12 @@ Handle SystemDictionaryShared::get_shared_protection_domain(Handle class_loader,
|
|||
Handle url;
|
||||
JavaValue result(T_OBJECT);
|
||||
if (location->starts_with("jrt:/")) {
|
||||
url = JavaCalls::construct_new_instance(SystemDictionary::URL_klass(),
|
||||
url = JavaCalls::construct_new_instance(vmClasses::URL_klass(),
|
||||
vmSymbols::string_void_signature(),
|
||||
location_string, CHECK_NH);
|
||||
} else {
|
||||
Klass* classLoaders_klass =
|
||||
SystemDictionary::jdk_internal_loader_ClassLoaders_klass();
|
||||
vmClasses::jdk_internal_loader_ClassLoaders_klass();
|
||||
JavaCalls::call_static(&result, classLoaders_klass, vmSymbols::toFileURL_name(),
|
||||
vmSymbols::toFileURL_signature(),
|
||||
location_string, CHECK_NH);
|
||||
|
@ -1092,7 +1093,7 @@ InstanceKlass* SystemDictionaryShared::load_shared_class_for_builtin_loader(
|
|||
void SystemDictionaryShared::allocate_shared_protection_domain_array(int size, TRAPS) {
|
||||
if (_shared_protection_domains.resolve() == NULL) {
|
||||
oop spd = oopFactory::new_objArray(
|
||||
SystemDictionary::ProtectionDomain_klass(), size, CHECK);
|
||||
vmClasses::ProtectionDomain_klass(), size, CHECK);
|
||||
_shared_protection_domains = OopHandle(Universe::vm_global(), spd);
|
||||
}
|
||||
}
|
||||
|
@ -1100,7 +1101,7 @@ void SystemDictionaryShared::allocate_shared_protection_domain_array(int size, T
|
|||
void SystemDictionaryShared::allocate_shared_jar_url_array(int size, TRAPS) {
|
||||
if (_shared_jar_urls.resolve() == NULL) {
|
||||
oop sju = oopFactory::new_objArray(
|
||||
SystemDictionary::URL_klass(), size, CHECK);
|
||||
vmClasses::URL_klass(), size, CHECK);
|
||||
_shared_jar_urls = OopHandle(Universe::vm_global(), sju);
|
||||
}
|
||||
}
|
||||
|
@ -1108,7 +1109,7 @@ void SystemDictionaryShared::allocate_shared_jar_url_array(int size, TRAPS) {
|
|||
void SystemDictionaryShared::allocate_shared_jar_manifest_array(int size, TRAPS) {
|
||||
if (_shared_jar_manifests.resolve() == NULL) {
|
||||
oop sjm = oopFactory::new_objArray(
|
||||
SystemDictionary::Jar_Manifest_klass(), size, CHECK);
|
||||
vmClasses::Jar_Manifest_klass(), size, CHECK);
|
||||
_shared_jar_manifests = OopHandle(Universe::vm_global(), sjm);
|
||||
}
|
||||
}
|
||||
|
@ -2187,8 +2188,8 @@ void SystemDictionaryShared::serialize_dictionary_headers(SerializeClosure* soc,
|
|||
}
|
||||
|
||||
void SystemDictionaryShared::serialize_vm_classes(SerializeClosure* soc) {
|
||||
for (auto id : EnumRange<VMClassID>{}) {
|
||||
soc->do_ptr((void**)klass_addr_at(id));
|
||||
for (auto id : EnumRange<vmClassID>{}) {
|
||||
soc->do_ptr((void**)vmClasses::klass_addr_at(id));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2021, 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
|
||||
|
@ -24,9 +24,11 @@
|
|||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/systemDictionaryShared.hpp"
|
||||
#include "classfile/verificationType.hpp"
|
||||
#include "classfile/verifier.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "logging/log.hpp"
|
||||
#include "oops/klass.inline.hpp"
|
||||
|
@ -69,8 +71,8 @@ bool VerificationType::resolve_and_check_assignability(InstanceKlass* klass, Sym
|
|||
// to interfaces java.lang.Cloneable and java.io.Serializable.
|
||||
// Otherwise, we treat interfaces as java.lang.Object.
|
||||
return !from_is_array ||
|
||||
this_class == SystemDictionary::Cloneable_klass() ||
|
||||
this_class == SystemDictionary::Serializable_klass();
|
||||
this_class == vmClasses::Cloneable_klass() ||
|
||||
this_class == vmClasses::Serializable_klass();
|
||||
} else if (from_is_object) {
|
||||
Klass* from_class;
|
||||
if (klass->is_hidden() && klass->name() == from_name) {
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2003, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2003, 2021, 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
|
||||
|
@ -25,7 +25,6 @@
|
|||
#ifndef SHARE_CLASSFILE_VERIFICATIONTYPE_HPP
|
||||
#define SHARE_CLASSFILE_VERIFICATIONTYPE_HPP
|
||||
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "oops/instanceKlass.hpp"
|
||||
#include "oops/oop.hpp"
|
||||
#include "oops/symbol.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2021, 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
|
||||
|
@ -33,6 +33,7 @@
|
|||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/verifier.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "interpreter/bytecodes.hpp"
|
||||
#include "interpreter/bytecodeStream.hpp"
|
||||
|
@ -266,7 +267,7 @@ bool Verifier::verify(InstanceKlass* klass, bool should_verify_class, TRAPS) {
|
|||
|
||||
bool Verifier::is_eligible_for_verification(InstanceKlass* klass, bool should_verify_class) {
|
||||
Symbol* name = klass->name();
|
||||
Klass* refl_magic_klass = SystemDictionary::reflect_MagicAccessorImpl_klass();
|
||||
Klass* refl_magic_klass = vmClasses::reflect_MagicAccessorImpl_klass();
|
||||
|
||||
bool is_reflect = refl_magic_klass != NULL && klass->is_subtype_of(refl_magic_klass);
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
#include "classfile/vmClassMacros.hpp"
|
||||
#include "utilities/enumIterator.hpp"
|
||||
|
||||
enum class VMClassID : int {
|
||||
enum class vmClassID : int {
|
||||
#define DECLARE_VM_CLASS(name, symbol) _VM_CLASS_ENUM(name), _VM_CLASS_ENUM(symbol) = _VM_CLASS_ENUM(name),
|
||||
VM_CLASSES_DO(DECLARE_VM_CLASS)
|
||||
#undef DECLARE_VM_CLASS
|
||||
|
@ -38,6 +38,6 @@ enum class VMClassID : int {
|
|||
LAST = LIMIT - 1 // inclusive upper limit
|
||||
};
|
||||
|
||||
ENUMERATOR_RANGE(VMClassID, VMClassID::FIRST, VMClassID::LAST) // (inclusive start, inclusive end)
|
||||
ENUMERATOR_RANGE(vmClassID, vmClassID::FIRST, vmClassID::LAST) // (inclusive start, inclusive end)
|
||||
|
||||
#endif // SHARE_CLASSFILE_VMCLASSID_HPP
|
||||
|
|
|
@ -25,10 +25,10 @@
|
|||
#ifndef SHARE_CLASSFILE_VMCLASSMACROS_HPP
|
||||
#define SHARE_CLASSFILE_VMCLASSMACROS_HPP
|
||||
|
||||
// _VM_CLASS_ENUM - internal: should be used only by VMClass*.{hpp,cpp}
|
||||
// _VM_CLASS_ENUM - internal: should be used only by vmClass*.{hpp,cpp}
|
||||
#define _VM_CLASS_ENUM(kname) kname##_knum
|
||||
|
||||
#define VM_CLASS_ID(kname) VMClassID::_VM_CLASS_ENUM(kname)
|
||||
#define VM_CLASS_ID(kname) vmClassID::_VM_CLASS_ENUM(kname)
|
||||
|
||||
// VM_CLASSES_DO iterates the classes that are directly referenced
|
||||
// by the VM, suhch as java.lang.Object and java.lang.String. These
|
||||
|
@ -37,7 +37,7 @@
|
|||
//
|
||||
// Each VM class has a short klass name (like Object_klass),
|
||||
// and a vmSymbol name (like java_lang_Object). Both of these can
|
||||
// be used to find the VMClassID for this class. The following two
|
||||
// be used to find the vmClassID for this class. The following two
|
||||
// macros will evaluate to the same value:
|
||||
//
|
||||
// VM_CLASS_ID(Object_klass)
|
||||
|
|
|
@ -37,14 +37,14 @@
|
|||
#include "prims/jvmtiExport.hpp"
|
||||
#include "runtime/globals.hpp"
|
||||
|
||||
InstanceKlass* vmClasses::_klasses[static_cast<int>(VMClassID::LIMIT)]
|
||||
InstanceKlass* vmClasses::_klasses[static_cast<int>(vmClassID::LIMIT)]
|
||||
= { NULL /*, NULL...*/ };
|
||||
InstanceKlass* vmClasses::_box_klasses[T_VOID+1] = { NULL /*, NULL...*/ };
|
||||
|
||||
|
||||
// CDS: scan and relocate all classes referenced by _klasses[].
|
||||
void vmClasses::metaspace_pointers_do(MetaspaceClosure* it) {
|
||||
for (auto id : EnumRange<VMClassID>{}) {
|
||||
for (auto id : EnumRange<vmClassID>{}) {
|
||||
it->push(klass_addr_at(id));
|
||||
}
|
||||
}
|
||||
|
@ -79,7 +79,7 @@ bool vmClasses::contain(Klass* k) {
|
|||
}
|
||||
#endif
|
||||
|
||||
bool vmClasses::resolve(VMClassID id, TRAPS) {
|
||||
bool vmClasses::resolve(vmClassID id, TRAPS) {
|
||||
InstanceKlass** klassp = &_klasses[as_int(id)];
|
||||
|
||||
#if INCLUDE_CDS
|
||||
|
@ -102,9 +102,9 @@ bool vmClasses::resolve(VMClassID id, TRAPS) {
|
|||
return ((*klassp) != NULL);
|
||||
}
|
||||
|
||||
void vmClasses::resolve_until(VMClassID limit_id, VMClassID &start_id, TRAPS) {
|
||||
void vmClasses::resolve_until(vmClassID limit_id, vmClassID &start_id, TRAPS) {
|
||||
assert((int)start_id <= (int)limit_id, "IDs are out of order!");
|
||||
for (auto id : EnumRange<VMClassID>{start_id, limit_id}) { // (inclusive start, exclusive end)
|
||||
for (auto id : EnumRange<vmClassID>{start_id, limit_id}) { // (inclusive start, exclusive end)
|
||||
resolve(id, CHECK);
|
||||
}
|
||||
|
||||
|
@ -120,7 +120,7 @@ void vmClasses::resolve_all(TRAPS) {
|
|||
ClassLoader::classLoader_init2(CHECK);
|
||||
|
||||
// Preload commonly used klasses
|
||||
VMClassID scan = VMClassID::FIRST;
|
||||
vmClassID scan = vmClassID::FIRST;
|
||||
// first do Object, then String, Class
|
||||
#if INCLUDE_CDS
|
||||
if (UseSharedSpaces) {
|
||||
|
@ -135,7 +135,7 @@ void vmClasses::resolve_all(TRAPS) {
|
|||
//
|
||||
// HeapShared::fixup_mapped_heap_regions() fills the empty
|
||||
// spaces in the archived heap regions and may use
|
||||
// SystemDictionary::Object_klass(), so we can do this only after
|
||||
// vmClasses::Object_klass(), so we can do this only after
|
||||
// Object_klass is resolved. See the above resolve_through()
|
||||
// call. No mirror objects are accessed/restored in the above call.
|
||||
// Mirrors are restored after java.lang.Class is loaded.
|
||||
|
@ -185,11 +185,11 @@ void vmClasses::resolve_all(TRAPS) {
|
|||
vmClasses::PhantomReference_klass()->set_reference_type(REF_PHANTOM);
|
||||
|
||||
// JSR 292 classes
|
||||
VMClassID jsr292_group_start = VM_CLASS_ID(MethodHandle_klass);
|
||||
VMClassID jsr292_group_end = VM_CLASS_ID(VolatileCallSite_klass);
|
||||
vmClassID jsr292_group_start = VM_CLASS_ID(MethodHandle_klass);
|
||||
vmClassID jsr292_group_end = VM_CLASS_ID(VolatileCallSite_klass);
|
||||
resolve_until(jsr292_group_start, scan, CHECK);
|
||||
resolve_through(jsr292_group_end, scan, CHECK);
|
||||
resolve_until(VMClassID::LIMIT, scan, CHECK);
|
||||
resolve_until(vmClassID::LIMIT, scan, CHECK);
|
||||
|
||||
_box_klasses[T_BOOLEAN] = vmClasses::Boolean_klass();
|
||||
_box_klasses[T_CHAR] = vmClasses::Character_klass();
|
||||
|
@ -206,7 +206,7 @@ void vmClasses::resolve_all(TRAPS) {
|
|||
if (UseSharedSpaces) {
|
||||
JVMTI_ONLY(assert(JvmtiExport::is_early_phase(),
|
||||
"All well known classes must be resolved in JVMTI early phase"));
|
||||
for (auto id : EnumRange<VMClassID>{}) {
|
||||
for (auto id : EnumRange<vmClassID>{}) {
|
||||
InstanceKlass* k = _klasses[as_int(id)];
|
||||
assert(k->is_shared(), "must not be replaced by JVMTI class file load hook");
|
||||
}
|
||||
|
|
|
@ -37,17 +37,17 @@ class MetaspaceClosure;
|
|||
class vmClasses : AllStatic {
|
||||
friend class VMStructs;
|
||||
|
||||
static VMClassID check_id(VMClassID id) {
|
||||
assert((int)id >= (int)VMClassID::FIRST && (int)id < (int)VMClassID::LIMIT, "oob");
|
||||
static vmClassID check_id(vmClassID id) {
|
||||
assert((int)id >= (int)vmClassID::FIRST && (int)id < (int)vmClassID::LIMIT, "oob");
|
||||
return id;
|
||||
}
|
||||
|
||||
static int as_int(VMClassID id) {
|
||||
static int as_int(vmClassID id) {
|
||||
return static_cast<int>(check_id(id));
|
||||
}
|
||||
|
||||
static VMClassID as_id(int i) {
|
||||
VMClassID id = static_cast<VMClassID>(i);
|
||||
static vmClassID as_id(int i) {
|
||||
vmClassID id = static_cast<vmClassID>(i);
|
||||
return check_id(id);
|
||||
}
|
||||
|
||||
|
@ -57,9 +57,9 @@ class vmClasses : AllStatic {
|
|||
}
|
||||
|
||||
static bool is_loaded(InstanceKlass* klass);
|
||||
static bool resolve(VMClassID id, TRAPS);
|
||||
static void resolve_until(VMClassID limit_id, VMClassID &start_id, TRAPS);
|
||||
static void resolve_through(VMClassID last_id, VMClassID &start_id, TRAPS) {
|
||||
static bool resolve(vmClassID id, TRAPS);
|
||||
static void resolve_until(vmClassID limit_id, vmClassID &start_id, TRAPS);
|
||||
static void resolve_through(vmClassID last_id, vmClassID &start_id, TRAPS) {
|
||||
int limit = as_int(last_id) + 1;
|
||||
resolve_until(as_id(limit), start_id, THREAD);
|
||||
}
|
||||
|
@ -87,11 +87,11 @@ public:
|
|||
VM_CLASSES_DO(_VM_CLASS_DECLARE);
|
||||
#undef _VM_CLASS_DECLARE
|
||||
|
||||
static InstanceKlass* klass_at(VMClassID id) {
|
||||
static InstanceKlass* klass_at(vmClassID id) {
|
||||
return _klasses[as_int(id)];
|
||||
}
|
||||
|
||||
static InstanceKlass** klass_addr_at(VMClassID id) {
|
||||
static InstanceKlass** klass_addr_at(vmClassID id) {
|
||||
return &_klasses[as_int(id)];
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2021, 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
|
||||
|
@ -23,7 +23,6 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/codeBehaviours.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/compiledIC.hpp"
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
#include "ci/ciKlass.hpp"
|
||||
#include "ci/ciMethod.hpp"
|
||||
#include "classfile/javaClasses.inline.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "code/dependencies.hpp"
|
||||
#include "compiler/compileLog.hpp"
|
||||
#include "compiler/compileBroker.hpp"
|
||||
|
@ -1811,7 +1812,7 @@ Klass* Dependencies::check_has_no_finalizable_subclasses(Klass* ctxk, KlassDepCh
|
|||
Klass* Dependencies::check_call_site_target_value(oop call_site, oop method_handle, CallSiteDepChange* changes) {
|
||||
assert(call_site != NULL, "sanity");
|
||||
assert(method_handle != NULL, "sanity");
|
||||
assert(call_site->is_a(SystemDictionary::CallSite_klass()), "sanity");
|
||||
assert(call_site->is_a(vmClasses::CallSite_klass()), "sanity");
|
||||
|
||||
if (changes == NULL) {
|
||||
// Validate all CallSites
|
||||
|
@ -2034,6 +2035,6 @@ void Dependencies::print_statistics() {
|
|||
CallSiteDepChange::CallSiteDepChange(Handle call_site, Handle method_handle) :
|
||||
_call_site(call_site),
|
||||
_method_handle(method_handle) {
|
||||
assert(_call_site()->is_a(SystemDictionary::CallSite_klass()), "must be");
|
||||
assert(_method_handle.is_null() || _method_handle()->is_a(SystemDictionary::MethodHandle_klass()), "must be");
|
||||
assert(_call_site()->is_a(vmClasses::CallSite_klass()), "must be");
|
||||
assert(_method_handle.is_null() || _method_handle()->is_a(vmClasses::MethodHandle_klass()), "must be");
|
||||
}
|
||||
|
|
|
@ -62,6 +62,7 @@
|
|||
#include "runtime/safepointVerifiers.hpp"
|
||||
#include "runtime/serviceThread.hpp"
|
||||
#include "runtime/sharedRuntime.hpp"
|
||||
#include "runtime/signature.hpp"
|
||||
#include "runtime/sweeper.hpp"
|
||||
#include "runtime/vmThread.hpp"
|
||||
#include "utilities/align.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1999, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1999, 2021, 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
|
||||
|
@ -26,7 +26,7 @@
|
|||
#include "jvm.h"
|
||||
#include "classfile/javaClasses.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "code/codeHeapState.hpp"
|
||||
|
@ -795,7 +795,7 @@ Handle CompileBroker::create_thread_oop(const char* name, TRAPS) {
|
|||
Handle string = java_lang_String::create_from_str(name, CHECK_NH);
|
||||
Handle thread_group(THREAD, Universe::system_thread_group());
|
||||
return JavaCalls::construct_new_instance(
|
||||
SystemDictionary::Thread_klass(),
|
||||
vmClasses::Thread_klass(),
|
||||
vmSymbols::threadgroup_string_void_signature(),
|
||||
thread_group,
|
||||
string,
|
||||
|
@ -1272,7 +1272,7 @@ void CompileBroker::compile_method_base(const methodHandle& method,
|
|||
vframeStream vfst(thread->as_Java_thread());
|
||||
for (; !vfst.at_end(); vfst.next()) {
|
||||
if (vfst.method()->is_static_initializer() ||
|
||||
(vfst.method()->method_holder()->is_subclass_of(SystemDictionary::ClassLoader_klass()) &&
|
||||
(vfst.method()->method_holder()->is_subclass_of(vmClasses::ClassLoader_klass()) &&
|
||||
vfst.method()->name() == vmSymbols::loadClass_name())) {
|
||||
blocking = false;
|
||||
break;
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/classLoaderDataGraph.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "gc/g1/g1BarrierSet.hpp"
|
||||
#include "gc/g1/g1CollectedHeap.inline.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2017, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2017, 2021, 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
|
||||
|
@ -23,6 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "gc/g1/g1CollectedHeap.hpp"
|
||||
#include "gc/g1/g1FullCollector.inline.hpp"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "gc/g1/g1Allocator.inline.hpp"
|
||||
#include "gc/g1/g1CollectedHeap.inline.hpp"
|
||||
#include "gc/g1/g1CollectionSet.hpp"
|
||||
|
@ -78,7 +78,7 @@ G1ParScanThreadState::G1ParScanThreadState(G1CollectedHeap* g1h,
|
|||
_partial_objarray_chunk_size(ParGCArrayScanChunk),
|
||||
_partial_array_stepper(n_workers),
|
||||
_string_klass_or_null(G1StringDedup::is_enabled()
|
||||
? SystemDictionary::String_klass()
|
||||
? vmClasses::String_klass()
|
||||
: nullptr),
|
||||
_num_optional_regions(optional_cset_length),
|
||||
_numa(g1h->numa()),
|
||||
|
@ -86,7 +86,7 @@ G1ParScanThreadState::G1ParScanThreadState(G1CollectedHeap* g1h,
|
|||
{
|
||||
// Verify klass comparison with _string_klass_or_null is sufficient
|
||||
// to determine whether dedup is enabled and the object is a String.
|
||||
assert(SystemDictionary::String_klass()->is_final(), "precondition");
|
||||
assert(vmClasses::String_klass()->is_final(), "precondition");
|
||||
|
||||
// We allocate number of young gen regions in the collection set plus one
|
||||
// entries, since entry 0 keeps track of surviving bytes for non-young regions.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2005, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2005, 2021, 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
|
||||
|
@ -23,7 +23,6 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "gc/parallel/objectStartArray.hpp"
|
||||
#include "gc/parallel/parMarkBitMap.inline.hpp"
|
||||
#include "gc/parallel/parallelScavengeHeap.hpp"
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "gc/shared/allocTracer.hpp"
|
||||
#include "gc/shared/barrierSet.hpp"
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
|
@ -455,7 +455,7 @@ CollectedHeap::fill_with_object_impl(HeapWord* start, size_t words, bool zap)
|
|||
fill_with_array(start, words, zap);
|
||||
} else if (words > 0) {
|
||||
assert(words == min_fill_size(), "unaligned size");
|
||||
ObjAllocator allocator(SystemDictionary::Object_klass(), words);
|
||||
ObjAllocator allocator(vmClasses::Object_klass(), words);
|
||||
allocator.initialize(start);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/javaClasses.inline.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "gc/shared/collectedHeap.hpp"
|
||||
#include "gc/shared/collectedHeap.inline.hpp"
|
||||
#include "gc/shared/gcTimer.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2018, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2021, 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
|
||||
|
@ -23,7 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "gc/shared/blockOffsetTable.inline.hpp"
|
||||
#include "gc/shared/collectedHeap.inline.hpp"
|
||||
|
@ -603,7 +603,7 @@ void ContiguousSpace::allocate_temporary_filler(int factor) {
|
|||
instanceOop obj = (instanceOop) allocate(size);
|
||||
obj->set_mark(markWord::prototype());
|
||||
obj->set_klass_gap(0);
|
||||
obj->set_klass(SystemDictionary::Object_klass());
|
||||
obj->set_klass(vmClasses::Object_klass());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include "precompiled.hpp"
|
||||
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
|
||||
#include "gc/shared/weakProcessor.inline.hpp"
|
||||
|
|
|
@ -71,6 +71,7 @@
|
|||
#include "gc/shenandoah/shenandoahJfrSupport.hpp"
|
||||
#endif
|
||||
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "memory/classLoaderMetaspace.hpp"
|
||||
#include "oops/compressedOops.inline.hpp"
|
||||
#include "prims/jvmtiTagMap.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2019, 2021, 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
|
||||
|
@ -26,6 +26,8 @@
|
|||
#include "jvm.h"
|
||||
#include "classfile/javaClasses.inline.hpp"
|
||||
#include "classfile/resolutionErrors.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "interpreter/bootstrapInfo.hpp"
|
||||
#include "interpreter/linkResolver.hpp"
|
||||
#include "logging/log.hpp"
|
||||
|
@ -183,7 +185,7 @@ void BootstrapInfo::resolve_args(TRAPS) {
|
|||
|
||||
if (!use_BSCI) {
|
||||
// return {arg...}; resolution of arguments is done immediately, before JDK code is called
|
||||
objArrayOop args_oop = oopFactory::new_objArray(SystemDictionary::Object_klass(), _argc, CHECK);
|
||||
objArrayOop args_oop = oopFactory::new_objArray(vmClasses::Object_klass(), _argc, CHECK);
|
||||
objArrayHandle args(THREAD, args_oop);
|
||||
_pool->copy_bootstrap_arguments_at(_bss_index, 0, _argc, args, 0, true, Handle(), CHECK);
|
||||
oop arg_oop = ((_argc == 1) ? args->obj_at(0) : (oop)NULL);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2019, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2019, 2021, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2019 SAP SE. All rights reserved.
|
||||
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
||||
*
|
||||
|
@ -24,7 +24,7 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "gc/shared/gcLocker.hpp"
|
||||
#include "interpreter/bytecodeUtils.hpp"
|
||||
|
@ -1448,7 +1448,7 @@ bool BytecodeUtils::get_NPE_message_at(outputStream* ss, Method* method, int bci
|
|||
|
||||
// If this NPE was created via reflection, we have no real NPE.
|
||||
if (method->method_holder() ==
|
||||
SystemDictionary::reflect_NativeConstructorAccessorImpl_klass()) {
|
||||
vmClasses::reflect_NativeConstructorAccessorImpl_klass()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include "jvm_io.h"
|
||||
#include "classfile/javaClasses.inline.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "code/codeCache.hpp"
|
||||
#include "compiler/compilationPolicy.hpp"
|
||||
|
@ -318,7 +318,7 @@ void InterpreterRuntime::note_trap_inner(JavaThread* thread, int reason,
|
|||
Method::build_interpreter_method_data(trap_method, THREAD);
|
||||
if (HAS_PENDING_EXCEPTION) {
|
||||
// Only metaspace OOM is expected. No Java code executed.
|
||||
assert((PENDING_EXCEPTION->is_a(SystemDictionary::OutOfMemoryError_klass())),
|
||||
assert((PENDING_EXCEPTION->is_a(vmClasses::OutOfMemoryError_klass())),
|
||||
"we expect only an OOM error here");
|
||||
CLEAR_PENDING_EXCEPTION;
|
||||
}
|
||||
|
@ -365,7 +365,7 @@ static Handle get_preinitialized_exception(Klass* k, TRAPS) {
|
|||
// constructor for the same reason (it is empty, anyway).
|
||||
JRT_ENTRY(void, InterpreterRuntime::throw_StackOverflowError(JavaThread* thread))
|
||||
Handle exception = get_preinitialized_exception(
|
||||
SystemDictionary::StackOverflowError_klass(),
|
||||
vmClasses::StackOverflowError_klass(),
|
||||
CHECK);
|
||||
// Increment counter for hs_err file reporting
|
||||
Atomic::inc(&Exceptions::_stack_overflow_errors);
|
||||
|
@ -374,7 +374,7 @@ JRT_END
|
|||
|
||||
JRT_ENTRY(void, InterpreterRuntime::throw_delayed_StackOverflowError(JavaThread* thread))
|
||||
Handle exception = get_preinitialized_exception(
|
||||
SystemDictionary::StackOverflowError_klass(),
|
||||
vmClasses::StackOverflowError_klass(),
|
||||
CHECK);
|
||||
java_lang_Throwable::set_message(exception(),
|
||||
Universe::delayed_stack_overflow_error_message());
|
||||
|
@ -493,7 +493,7 @@ JRT_ENTRY(address, InterpreterRuntime::exception_handler_for_exception(JavaThrea
|
|||
// assertions
|
||||
assert(h_exception.not_null(), "NULL exceptions should be handled by athrow");
|
||||
// Check that exception is a subclass of Throwable.
|
||||
assert(h_exception->is_a(SystemDictionary::Throwable_klass()),
|
||||
assert(h_exception->is_a(vmClasses::Throwable_klass()),
|
||||
"Exception not subclass of Throwable");
|
||||
|
||||
// tracing
|
||||
|
@ -774,9 +774,9 @@ JRT_ENTRY(void, InterpreterRuntime::new_illegal_monitor_state_exception(JavaThre
|
|||
Handle exception(thread, thread->vm_result());
|
||||
assert(exception() != NULL, "vm result should be set");
|
||||
thread->set_vm_result(NULL); // clear vm result before continuing (may cause memory leaks and assert failures)
|
||||
if (!exception->is_a(SystemDictionary::ThreadDeath_klass())) {
|
||||
if (!exception->is_a(vmClasses::ThreadDeath_klass())) {
|
||||
exception = get_preinitialized_exception(
|
||||
SystemDictionary::IllegalMonitorStateException_klass(),
|
||||
vmClasses::IllegalMonitorStateException_klass(),
|
||||
CATCH);
|
||||
}
|
||||
thread->set_vm_result(exception());
|
||||
|
@ -842,7 +842,7 @@ void InterpreterRuntime::resolve_invoke(JavaThread* thread, Bytecodes::Code byte
|
|||
|
||||
#ifdef ASSERT
|
||||
if (bytecode == Bytecodes::_invokeinterface) {
|
||||
if (resolved_method->method_holder() == SystemDictionary::Object_klass()) {
|
||||
if (resolved_method->method_holder() == vmClasses::Object_klass()) {
|
||||
// NOTE: THIS IS A FIX FOR A CORNER CASE in the JVM spec
|
||||
// (see also CallInfo::set_interface for details)
|
||||
assert(info.call_kind() == CallInfo::vtable_call ||
|
||||
|
@ -1116,7 +1116,7 @@ JRT_ENTRY(MethodCounters*, InterpreterRuntime::build_method_counters(JavaThread*
|
|||
MethodCounters* mcs = Method::build_method_counters(m, thread);
|
||||
if (HAS_PENDING_EXCEPTION) {
|
||||
// Only metaspace OOM is expected. No Java code executed.
|
||||
assert((PENDING_EXCEPTION->is_a(SystemDictionary::OutOfMemoryError_klass())), "we expect only an OOM error here");
|
||||
assert((PENDING_EXCEPTION->is_a(vmClasses::OutOfMemoryError_klass())), "we expect only an OOM error here");
|
||||
CLEAR_PENDING_EXCEPTION;
|
||||
}
|
||||
return mcs;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1997, 2021, 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
|
||||
|
@ -29,6 +29,7 @@
|
|||
#include "classfile/resolutionErrors.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "compiler/compilationPolicy.hpp"
|
||||
#include "compiler/compileBroker.hpp"
|
||||
|
@ -96,7 +97,7 @@ void CallInfo::set_virtual(Klass* resolved_klass,
|
|||
|
||||
void CallInfo::set_handle(const methodHandle& resolved_method,
|
||||
Handle resolved_appendix, TRAPS) {
|
||||
set_handle(SystemDictionary::MethodHandle_klass(), resolved_method, resolved_appendix, CHECK);
|
||||
set_handle(vmClasses::MethodHandle_klass(), resolved_method, resolved_appendix, CHECK);
|
||||
}
|
||||
|
||||
void CallInfo::set_handle(Klass* resolved_klass,
|
||||
|
@ -159,7 +160,7 @@ CallInfo::CallInfo(Method* resolved_method, Klass* resolved_klass, TRAPS) {
|
|||
|
||||
#ifdef ASSERT
|
||||
// Ensure that this is really the case.
|
||||
Klass* object_klass = SystemDictionary::Object_klass();
|
||||
Klass* object_klass = vmClasses::Object_klass();
|
||||
Method * object_resolved_method = object_klass->vtable().method_at(index);
|
||||
assert(object_resolved_method->name() == resolved_method->name(),
|
||||
"Object and interface method names should match at vtable index %d, %s != %s",
|
||||
|
@ -350,7 +351,7 @@ Method* LinkResolver::lookup_method_in_klasses(const LinkInfo& link_info,
|
|||
result != NULL &&
|
||||
ik->is_interface() &&
|
||||
(result->is_static() || !result->is_public()) &&
|
||||
result->method_holder() == SystemDictionary::Object_klass()) {
|
||||
result->method_holder() == vmClasses::Object_klass()) {
|
||||
result = NULL;
|
||||
}
|
||||
|
||||
|
@ -454,8 +455,8 @@ Method* LinkResolver::lookup_polymorphic_method(const LinkInfo& link_info,
|
|||
log_info(methodhandles)("lookup_polymorphic_method iid=%s %s.%s%s",
|
||||
vmIntrinsics::name_at(iid), klass->external_name(),
|
||||
name->as_C_string(), full_signature->as_C_string());
|
||||
if ((klass == SystemDictionary::MethodHandle_klass() ||
|
||||
klass == SystemDictionary::VarHandle_klass()) &&
|
||||
if ((klass == vmClasses::MethodHandle_klass() ||
|
||||
klass == vmClasses::VarHandle_klass()) &&
|
||||
iid != vmIntrinsics::_none) {
|
||||
if (MethodHandles::is_signature_polymorphic_intrinsic(iid)) {
|
||||
// Most of these do not need an up-call to Java to resolve, so can be done anywhere.
|
||||
|
@ -488,7 +489,7 @@ Method* LinkResolver::lookup_polymorphic_method(const LinkInfo& link_info,
|
|||
// We will ask Java code to spin an adapter method for it.
|
||||
if (!MethodHandles::enabled()) {
|
||||
// Make sure the Java part of the runtime has been booted up.
|
||||
Klass* natives = SystemDictionary::MethodHandleNatives_klass();
|
||||
Klass* natives = vmClasses::MethodHandleNatives_klass();
|
||||
if (natives == NULL || InstanceKlass::cast(natives)->is_not_initialized()) {
|
||||
SystemDictionary::resolve_or_fail(vmSymbols::java_lang_invoke_MethodHandleNatives(),
|
||||
Handle(),
|
||||
|
@ -574,7 +575,7 @@ void LinkResolver::check_method_accessability(Klass* ref_klass,
|
|||
// We'll check for the method name first, as that's most likely
|
||||
// to be false (so we'll short-circuit out of these tests).
|
||||
if (sel_method->name() == vmSymbols::clone_name() &&
|
||||
sel_klass == SystemDictionary::Object_klass() &&
|
||||
sel_klass == vmClasses::Object_klass() &&
|
||||
resolved_klass->is_array_klass()) {
|
||||
// We need to change "protected" to "public".
|
||||
assert(flags.is_protected(), "clone not protected?");
|
||||
|
@ -632,7 +633,7 @@ Method* LinkResolver::resolve_method_statically(Bytecodes::Code code,
|
|||
// FIXME: Remove this method and ciMethod::check_call; refactor to use the other LinkResolver entry points.
|
||||
// resolve klass
|
||||
if (code == Bytecodes::_invokedynamic) {
|
||||
Klass* resolved_klass = SystemDictionary::MethodHandle_klass();
|
||||
Klass* resolved_klass = vmClasses::MethodHandle_klass();
|
||||
Symbol* method_name = vmSymbols::invoke_name();
|
||||
Symbol* method_signature = pool->signature_ref_at(index);
|
||||
Klass* current_klass = pool->pool_holder();
|
||||
|
@ -644,7 +645,7 @@ Method* LinkResolver::resolve_method_statically(Bytecodes::Code code,
|
|||
Klass* resolved_klass = link_info.resolved_klass();
|
||||
|
||||
if (pool->has_preresolution()
|
||||
|| (resolved_klass == SystemDictionary::MethodHandle_klass() &&
|
||||
|| (resolved_klass == vmClasses::MethodHandle_klass() &&
|
||||
MethodHandles::is_signature_polymorphic_name(resolved_klass, link_info.name()))) {
|
||||
Method* result = ConstantPool::method_at_if_loaded(pool, index);
|
||||
if (result != NULL) {
|
||||
|
@ -1184,7 +1185,7 @@ Method* LinkResolver::linktime_resolve_special_method(const LinkInfo& link_info,
|
|||
ck->unsafe_anonymous_host();
|
||||
// Disable verification for the dynamically-generated reflection bytecodes.
|
||||
bool is_reflect = klass_to_check->is_subclass_of(
|
||||
SystemDictionary::reflect_MagicAccessorImpl_klass());
|
||||
vmClasses::reflect_MagicAccessorImpl_klass());
|
||||
|
||||
if (!is_reflect &&
|
||||
!klass_to_check->is_same_or_direct_interface(resolved_klass)) {
|
||||
|
@ -1538,7 +1539,7 @@ void LinkResolver::runtime_resolve_interface_method(CallInfo& result,
|
|||
log_develop_trace(itables)(" -- non itable/vtable index: %d", index);
|
||||
assert(index == Method::nonvirtual_vtable_index, "Oops hit another case!");
|
||||
assert(resolved_method()->is_private() ||
|
||||
(resolved_method()->is_final() && resolved_method->method_holder() == SystemDictionary::Object_klass()),
|
||||
(resolved_method()->is_final() && resolved_method->method_holder() == vmClasses::Object_klass()),
|
||||
"Should only have non-virtual invokeinterface for private or final-Object methods!");
|
||||
assert(resolved_method()->can_be_statically_bound(), "Should only have non-virtual invokeinterface for statically bound methods!");
|
||||
// This sets up the nonvirtual form of "virtual" call (as needed for final and private methods)
|
||||
|
@ -1724,8 +1725,8 @@ void LinkResolver::resolve_handle_call(CallInfo& result,
|
|||
TRAPS) {
|
||||
// JSR 292: this must be an implicitly generated method MethodHandle.invokeExact(*...) or similar
|
||||
Klass* resolved_klass = link_info.resolved_klass();
|
||||
assert(resolved_klass == SystemDictionary::MethodHandle_klass() ||
|
||||
resolved_klass == SystemDictionary::VarHandle_klass(), "");
|
||||
assert(resolved_klass == vmClasses::MethodHandle_klass() ||
|
||||
resolved_klass == vmClasses::VarHandle_klass(), "");
|
||||
assert(MethodHandles::is_signature_polymorphic_name(link_info.name()), "");
|
||||
Handle resolved_appendix;
|
||||
Method* resolved_method = lookup_polymorphic_method(link_info, &resolved_appendix, CHECK);
|
||||
|
@ -1785,7 +1786,7 @@ void LinkResolver::resolve_dynamic_call(CallInfo& result,
|
|||
Exceptions::wrap_dynamic_exception(/* is_indy */ true, THREAD);
|
||||
|
||||
if (HAS_PENDING_EXCEPTION) {
|
||||
if (!PENDING_EXCEPTION->is_a(SystemDictionary::LinkageError_klass())) {
|
||||
if (!PENDING_EXCEPTION->is_a(vmClasses::LinkageError_klass())) {
|
||||
// Let any random low-level IE or SOE or OOME just bleed through.
|
||||
// Basically we pretend that the bootstrap method was never called,
|
||||
// if it fails this way: We neither record a successful linkage,
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 1998, 2021, 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
|
||||
|
@ -23,6 +23,7 @@
|
|||
*/
|
||||
|
||||
#include "precompiled.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "interpreter/bytecodes.hpp"
|
||||
#include "interpreter/interpreter.hpp"
|
||||
#include "interpreter/rewriter.hpp"
|
||||
|
@ -219,13 +220,13 @@ void Rewriter::maybe_rewrite_invokehandle(address opc, int cp_index, int cache_i
|
|||
assert(status >= -1 && status <= 1, "oob tri-state");
|
||||
if (status == 0) {
|
||||
if (_pool->klass_ref_at_noresolve(cp_index) == vmSymbols::java_lang_invoke_MethodHandle() &&
|
||||
MethodHandles::is_signature_polymorphic_name(SystemDictionary::MethodHandle_klass(),
|
||||
MethodHandles::is_signature_polymorphic_name(vmClasses::MethodHandle_klass(),
|
||||
_pool->name_ref_at(cp_index))) {
|
||||
// we may need a resolved_refs entry for the appendix
|
||||
add_invokedynamic_resolved_references_entry(cp_index, cache_index);
|
||||
status = +1;
|
||||
} else if (_pool->klass_ref_at_noresolve(cp_index) == vmSymbols::java_lang_invoke_VarHandle() &&
|
||||
MethodHandles::is_signature_polymorphic_name(SystemDictionary::VarHandle_klass(),
|
||||
MethodHandles::is_signature_polymorphic_name(vmClasses::VarHandle_klass(),
|
||||
_pool->name_ref_at(cp_index))) {
|
||||
// we may need a resolved_refs entry for the appendix
|
||||
add_invokedynamic_resolved_references_entry(cp_index, cache_index);
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2021, 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
|
||||
|
@ -32,6 +32,7 @@
|
|||
#include "classfile/modules.hpp"
|
||||
#include "classfile/stackMapTable.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/verificationType.hpp"
|
||||
#include "interpreter/bytecodes.hpp"
|
||||
#include "jfr/instrumentation/jfrEventClassTransformer.hpp"
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
|
||||
* Copyright (c) 2016, 2021, 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
|
||||
|
@ -26,7 +26,7 @@
|
|||
#include "classfile/javaClasses.inline.hpp"
|
||||
#include "classfile/modules.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "jfr/jni/jfrJavaCall.hpp"
|
||||
#include "jfr/jni/jfrJavaSupport.hpp"
|
||||
|
@ -566,23 +566,23 @@ void JfrJavaSupport::set_cause(jthrowable throwable, Thread* t) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (ex->is_a(SystemDictionary::OutOfMemoryError_klass())) {
|
||||
if (ex->is_a(vmClasses::OutOfMemoryError_klass())) {
|
||||
_cause = OUT_OF_MEMORY;
|
||||
return;
|
||||
}
|
||||
if (ex->is_a(SystemDictionary::StackOverflowError_klass())) {
|
||||
if (ex->is_a(vmClasses::StackOverflowError_klass())) {
|
||||
_cause = STACK_OVERFLOW;
|
||||
return;
|
||||
}
|
||||
if (ex->is_a(SystemDictionary::Error_klass())) {
|
||||
if (ex->is_a(vmClasses::Error_klass())) {
|
||||
_cause = VM_ERROR;
|
||||
return;
|
||||
}
|
||||
if (ex->is_a(SystemDictionary::RuntimeException_klass())) {
|
||||
if (ex->is_a(vmClasses::RuntimeException_klass())) {
|
||||
_cause = RUNTIME_EXCEPTION;
|
||||
return;
|
||||
}
|
||||
if (ex->is_a(SystemDictionary::Exception_klass())) {
|
||||
if (ex->is_a(vmClasses::Exception_klass())) {
|
||||
_cause = UNKNOWN;
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
#include "jvm_io.h"
|
||||
#include "classfile/javaClasses.inline.hpp"
|
||||
#include "classfile/symbolTable.hpp"
|
||||
#include "classfile/systemDictionary.hpp"
|
||||
#include "classfile/vmClasses.hpp"
|
||||
#include "classfile/vmSymbols.hpp"
|
||||
#include "jfr/leakprofiler/checkpoint/objectSampleDescription.hpp"
|
||||
#include "jfr/recorder/checkpoint/jfrCheckpointWriter.hpp"
|
||||
|
@ -126,17 +126,17 @@ void ObjectSampleDescription::write_object_details() {
|
|||
Symbol* class_name = klass->name();
|
||||
jint size;
|
||||
|
||||
if (_object->is_a(SystemDictionary::Class_klass())) {
|
||||
if (_object->is_a(vmClasses::Class_klass())) {
|
||||
write_class_name();
|
||||
return;
|
||||
}
|
||||
|
||||
if (_object->is_a(SystemDictionary::Thread_klass())) {
|
||||
if (_object->is_a(vmClasses::Thread_klass())) {
|
||||
write_thread_name();
|
||||
return;
|
||||
}
|
||||
|
||||
if (_object->is_a(SystemDictionary::ThreadGroup_klass())) {
|
||||
if (_object->is_a(vmClasses::ThreadGroup_klass())) {
|
||||
write_thread_group_name();
|
||||
return;
|
||||
}
|
||||
|
@ -148,7 +148,7 @@ void ObjectSampleDescription::write_object_details() {
|
|||
}
|
||||
|
||||
void ObjectSampleDescription::write_class_name() {
|
||||
assert(_object->is_a(SystemDictionary::Class_klass()), "invariant");
|
||||
assert(_object->is_a(vmClasses::Class_klass()), "invariant");
|
||||
const Klass* const k = java_lang_Class::as_Klass(_object);
|
||||
if (k == NULL) {
|
||||
// might represent a primitive
|
||||
|
@ -176,7 +176,7 @@ void ObjectSampleDescription::write_class_name() {
|
|||
}
|
||||
|
||||
void ObjectSampleDescription::write_thread_group_name() {
|
||||
assert(_object->is_a(SystemDictionary::ThreadGroup_klass()), "invariant");
|
||||
assert(_object->is_a(vmClasses::ThreadGroup_klass()), "invariant");
|
||||
const char* tg_name = java_lang_ThreadGroup::name(_object);
|
||||
if (tg_name != NULL) {
|
||||
write_text("Thread Group: ");
|
||||
|
@ -185,7 +185,7 @@ void ObjectSampleDescription::write_thread_group_name() {
|
|||
}
|
||||
|
||||
void ObjectSampleDescription::write_thread_name() {
|
||||
assert(_object->is_a(SystemDictionary::Thread_klass()), "invariant");
|
||||
assert(_object->is_a(vmClasses::Thread_klass()), "invariant");
|
||||
oop name = java_lang_Thread::name(_object);
|
||||
if (name != NULL) {
|
||||
char* p = java_lang_String::as_utf8_string(name);
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue