8248337: sparc related code clean up after solaris removal

Reviewed-by: dholmes, kvn
This commit is contained in:
Yumin Qi 2020-09-02 09:29:31 -07:00
parent f3597c4a54
commit a588752fd6
29 changed files with 42 additions and 58 deletions

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -58,7 +58,7 @@ enum {
pd_nof_cpu_regs_linearscan = 32, // number of registers visible to linear scan pd_nof_cpu_regs_linearscan = 32, // number of registers visible to linear scan
pd_nof_fpu_regs_linearscan = pd_nof_fpu_regs_frame_map, // number of registers visible to linear scan pd_nof_fpu_regs_linearscan = pd_nof_fpu_regs_frame_map, // number of registers visible to linear scan
pd_nof_xmm_regs_linearscan = 0, // like sparc we don't have any of these pd_nof_xmm_regs_linearscan = 0, // don't have vector registers
pd_first_cpu_reg = 0, pd_first_cpu_reg = 0,
pd_last_cpu_reg = 16, pd_last_cpu_reg = 16,
pd_first_byte_reg = 0, pd_first_byte_reg = 0,

View file

@ -2072,7 +2072,7 @@ void LIR_Assembler::ic_call(LIR_OpJavaCall* op) {
} }
/* Currently, vtable-dispatch is only enabled for sparc platforms */ /* vtable-dispatch is not enabled for aarch64 platform*/
void LIR_Assembler::vtable_call(LIR_OpJavaCall* op) { void LIR_Assembler::vtable_call(LIR_OpJavaCall* op) {
ShouldNotReachHere(); ShouldNotReachHere();
} }

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -39,7 +39,7 @@ class JNITypes : AllStatic {
// I.e., they are functionally 'push' operations if they have a 'pos' // I.e., they are functionally 'push' operations if they have a 'pos'
// formal parameter. Note that jlong's and jdouble's are written // formal parameter. Note that jlong's and jdouble's are written
// _in reverse_ of the order in which they appear in the interpreter // _in reverse_ of the order in which they appear in the interpreter
// stack. This is because call stubs (see stubGenerator_sparc.cpp) // stack. This is because call stubs (see stubGenerator_arm.cpp)
// reverse the argument list constructed by JavaCallArguments (see // reverse the argument list constructed by JavaCallArguments (see
// javaCalls.hpp). // javaCalls.hpp).

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2014, Red Hat Inc. All rights reserved. * Copyright (c) 2014, Red Hat Inc. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -33,8 +33,6 @@
// This is the hook for finding a register in an "well-known" location, // This is the hook for finding a register in an "well-known" location,
// such as a register block of a predetermined format. // such as a register block of a predetermined format.
// Since there is none, we just return NULL. // Since there is none, we just return NULL.
// See registerMap_sparc.hpp for an example of grabbing registers
// from register save areas of a standard layout.
address pd_location(VMReg reg) const {return NULL;} address pd_location(VMReg reg) const {return NULL;}
// no PD state to clear or copy: // no PD state to clear or copy:

View file

@ -823,7 +823,7 @@ int SharedRuntime::c_calling_convention(const BasicType *sig_bt,
} }
// On 64 bit we will store integer like items to the stack as // On 64 bit we will store integer like items to the stack as
// 64 bits items (sparc abi) even though java would only store // 64 bits items (Aarch64 abi) even though java would only store
// 32bits for a parameter. On 32bit it will simply be 32 bits // 32bits for a parameter. On 32bit it will simply be 32 bits
// So this routine will do 32->32 on 32bit and 32->64 on 64bit // So this routine will do 32->32 on 32bit and 32->64 on 64bit
static void move32_64(MacroAssembler* masm, VMRegPair src, VMRegPair dst) { static void move32_64(MacroAssembler* masm, VMRegPair src, VMRegPair dst) {

View file

@ -1941,7 +1941,7 @@ void LIR_Assembler::ic_call(LIR_OpJavaCall *op) {
} }
/* Currently, vtable-dispatch is only enabled for sparc platforms */ /* vtable-dispatch is not enabled for arm platforms */
void LIR_Assembler::vtable_call(LIR_OpJavaCall* op) { void LIR_Assembler::vtable_call(LIR_OpJavaCall* op) {
ShouldNotReachHere(); ShouldNotReachHere();
} }

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2008, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2008, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -71,9 +71,9 @@
// The interpreter and adapters will extend the frame of the caller. // The interpreter and adapters will extend the frame of the caller.
// Since oopMaps are based on the sp of the caller before extension // Since oopMaps are based on the sp of the caller before extension
// we need to know that value. However in order to compute the address // we need to know that value. However in order to compute the address
// of the return address we need the real "raw" sp. Since sparc already // of the return address we need the real "raw" sp. By convention we
// uses sp() to mean "raw" sp and unextended_sp() to mean the caller's // use sp() to mean "raw" sp and unextended_sp() to mean the caller's
// original sp we use that convention. // original sp.
intptr_t* _unextended_sp; intptr_t* _unextended_sp;
void adjust_unextended_sp(); void adjust_unextended_sp();

View file

@ -1617,7 +1617,7 @@ void SharedRuntime::generate_deopt_blob() {
#ifdef COMPILER2 #ifdef COMPILER2
//------------------------------generate_uncommon_trap_blob-------------------- //------------------------------generate_uncommon_trap_blob--------------------
// Ought to generate an ideal graph & compile, but here's some SPARC ASM // Ought to generate an ideal graph & compile, but here's some ASM
// instead. // instead.
void SharedRuntime::generate_uncommon_trap_blob() { void SharedRuntime::generate_uncommon_trap_blob() {
// allocate space for the code // allocate space for the code

View file

@ -705,6 +705,7 @@ void LIR_Assembler::ic_call(LIR_OpJavaCall* op) {
} }
/* vtable_call is not enabled for ppc platform */
void LIR_Assembler::vtable_call(LIR_OpJavaCall* op) { void LIR_Assembler::vtable_call(LIR_OpJavaCall* op) {
ShouldNotReachHere(); // ic_call is used instead. ShouldNotReachHere(); // ic_call is used instead.
} }

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved. * Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -40,7 +40,7 @@ class JNITypes : AllStatic {
// if they have a 'pos' formal parameter. Note that jlong's and // if they have a 'pos' formal parameter. Note that jlong's and
// jdouble's are written _in reverse_ of the order in which they // jdouble's are written _in reverse_ of the order in which they
// appear in the interpreter stack. This is because call stubs (see // appear in the interpreter stack. This is because call stubs (see
// stubGenerator_sparc.cpp) reverse the argument list constructed by // stubGenerator_ppc.cpp) reverse the argument list constructed by
// JavaCallArguments (see javaCalls.hpp). // JavaCallArguments (see javaCalls.hpp).
private: private:

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2012, 2013 SAP SE. All rights reserved. * Copyright (c) 2012, 2013 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -33,8 +33,6 @@
// This is the hook for finding a register in an "well-known" location, // This is the hook for finding a register in an "well-known" location,
// such as a register block of a predetermined format. // such as a register block of a predetermined format.
// Since there is none, we just return NULL. // Since there is none, we just return NULL.
// See registerMap_sparc.hpp for an example of grabbing registers
// from register save areas of a standard layout.
address pd_location(VMReg reg) const { return NULL; } address pd_location(VMReg reg) const { return NULL; }
// no PD state to clear or copy: // no PD state to clear or copy:

View file

@ -3033,7 +3033,7 @@ void TemplateTable::putstatic(int byte_no) {
putfield_or_static(byte_no, true); putfield_or_static(byte_no, true);
} }
// See SPARC. On PPC64, we have a different jvmti_post_field_mod which does the job. // On PPC64, we have a different jvmti_post_field_mod which does the job.
void TemplateTable::jvmti_post_fast_field_mod() { void TemplateTable::jvmti_post_fast_field_mod() {
__ should_not_reach_here(); __ should_not_reach_here();
} }

View file

@ -96,7 +96,7 @@ void LIR_Assembler::clinit_barrier(ciMethod* method) {
} }
void LIR_Assembler::osr_entry() { void LIR_Assembler::osr_entry() {
// On-stack-replacement entry sequence (interpreter frame layout described in interpreter_sparc.cpp): // On-stack-replacement entry sequence (interpreter frame layout described in frame_s390.hpp):
// //
// 1. Create a new compiled activation. // 1. Create a new compiled activation.
// 2. Initialize local variables in the compiled activation. The expression stack must be empty // 2. Initialize local variables in the compiled activation. The expression stack must be empty
@ -2524,7 +2524,7 @@ void LIR_Assembler::emit_typecheck_helper(LIR_OpTypeCheck *op, Label* success, L
Label *failure_target = op->should_profile() ? &profile_cast_failure : failure; Label *failure_target = op->should_profile() ? &profile_cast_failure : failure;
Label *success_target = op->should_profile() ? &profile_cast_success : success; Label *success_target = op->should_profile() ? &profile_cast_success : success;
// Patching may screw with our temporaries on sparc, // Patching may screw with our temporaries,
// so let's do it before loading the class. // so let's do it before loading the class.
if (k->is_loaded()) { if (k->is_loaded()) {
metadata2reg(k->constant_encoding(), k_RInfo); metadata2reg(k->constant_encoding(), k_RInfo);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016 SAP SE. All rights reserved. * Copyright (c) 2016 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -76,7 +76,7 @@
); );
enum { enum {
max_array_allocation_length = 0x01000000 // Sparc friendly value, requires sethi only. max_array_allocation_length = 0x01000000
}; };
// Allocation of arrays. // Allocation of arrays.

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved. * Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -31,7 +31,6 @@
// Sets the default values for platform dependent flags used by the client compiler. // Sets the default values for platform dependent flags used by the client compiler.
// (see c1_globals.hpp) // (see c1_globals.hpp)
// Flags sorted according to sparc.
#ifndef TIERED #ifndef TIERED
define_pd_global(bool, BackgroundCompilation, true); define_pd_global(bool, BackgroundCompilation, true);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2018 SAP SE. All rights reserved. * Copyright (c) 2016, 2018 SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -31,7 +31,6 @@
// Sets the default values for platform dependent flags used by the server compiler. // Sets the default values for platform dependent flags used by the server compiler.
// (see c2_globals.hpp). // (see c2_globals.hpp).
// Sorted according to sparc.
define_pd_global(bool, BackgroundCompilation, true); define_pd_global(bool, BackgroundCompilation, true);
define_pd_global(bool, CICompileOSR, true); define_pd_global(bool, CICompileOSR, true);

View file

@ -31,7 +31,6 @@
// Sets the default values for platform dependent flags used by the runtime system. // Sets the default values for platform dependent flags used by the runtime system.
// (see globals.hpp) // (see globals.hpp)
// Sorted according to sparc.
define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks. define_pd_global(bool, ImplicitNullChecks, true); // Generate code for implicit null checks.
define_pd_global(bool, TrapBasedNullChecks, true); define_pd_global(bool, TrapBasedNullChecks, true);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2016, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2016, 2020, Oracle and/or its affiliates. All rights reserved.
* Copyright (c) 2016, 2019, SAP SE. All rights reserved. * Copyright (c) 2016, 2019, SAP SE. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
@ -652,7 +652,7 @@ class StubGenerator: public StubCodeGenerator {
assert(Universe::heap() != NULL, "java heap must be initialized to generate partial_subtype_check stub"); assert(Universe::heap() != NULL, "java heap must be initialized to generate partial_subtype_check stub");
} }
// Always take the slow path (see SPARC). // Always take the slow path.
__ check_klass_subtype_slow_path(Rsubklass, Rsuperklass, __ check_klass_subtype_slow_path(Rsubklass, Rsuperklass,
Rarray_ptr, Rlength, NULL, &miss); Rarray_ptr, Rlength, NULL, &miss);

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -112,9 +112,9 @@
// The interpreter and adapters will extend the frame of the caller. // The interpreter and adapters will extend the frame of the caller.
// Since oopMaps are based on the sp of the caller before extension // Since oopMaps are based on the sp of the caller before extension
// we need to know that value. However in order to compute the address // we need to know that value. However in order to compute the address
// of the return address we need the real "raw" sp. Since sparc already // of the return address we need the real "raw" sp. By convention we
// uses sp() to mean "raw" sp and unextended_sp() to mean the caller's // use sp() to mean "raw" sp and unextended_sp() to mean the caller's
// original sp we use that convention. // original sp.
intptr_t* _unextended_sp; intptr_t* _unextended_sp;
void adjust_unextended_sp() NOT_DEBUG_RETURN; void adjust_unextended_sp() NOT_DEBUG_RETURN;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -38,7 +38,7 @@ class JNITypes : AllStatic {
// I.e., they are functionally 'push' operations if they have a 'pos' // I.e., they are functionally 'push' operations if they have a 'pos'
// formal parameter. Note that jlong's and jdouble's are written // formal parameter. Note that jlong's and jdouble's are written
// _in reverse_ of the order in which they appear in the interpreter // _in reverse_ of the order in which they appear in the interpreter
// stack. This is because call stubs (see stubGenerator_sparc.cpp) // stack. This is because call stubs (see stubGenerator_x86_[32,64].cpp)
// reverse the argument list constructed by JavaCallArguments (see // reverse the argument list constructed by JavaCallArguments (see
// javaCalls.hpp). // javaCalls.hpp).

View file

@ -1120,7 +1120,7 @@ int SharedRuntime::c_calling_convention(const BasicType *sig_bt,
} }
// On 64 bit we will store integer like items to the stack as // On 64 bit we will store integer like items to the stack as
// 64 bits items (sparc abi) even though java would only store // 64 bits items (x86_32/64 abi) even though java would only store
// 32bits for a parameter. On 32bit it will simply be 32 bits // 32bits for a parameter. On 32bit it will simply be 32 bits
// So this routine will do 32->32 on 32bit and 32->64 on 64bit // So this routine will do 32->32 on 32bit and 32->64 on 64bit
static void move32_64(MacroAssembler* masm, VMRegPair src, VMRegPair dst) { static void move32_64(MacroAssembler* masm, VMRegPair src, VMRegPair dst) {
@ -1246,7 +1246,6 @@ static void float_move(MacroAssembler* masm, VMRegPair src, VMRegPair dst) {
// The calling conventions assures us that each VMregpair is either // The calling conventions assures us that each VMregpair is either
// all really one physical register or adjacent stack slots. // all really one physical register or adjacent stack slots.
// This greatly simplifies the cases here compared to sparc.
if (src.first()->is_stack()) { if (src.first()->is_stack()) {
if (dst.first()->is_stack()) { if (dst.first()->is_stack()) {
@ -1275,7 +1274,6 @@ static void long_move(MacroAssembler* masm, VMRegPair src, VMRegPair dst) {
// The calling conventions assures us that each VMregpair is either // The calling conventions assures us that each VMregpair is either
// all really one physical register or adjacent stack slots. // all really one physical register or adjacent stack slots.
// This greatly simplifies the cases here compared to sparc.
if (src.is_single_phys_reg() ) { if (src.is_single_phys_reg() ) {
if (dst.is_single_phys_reg()) { if (dst.is_single_phys_reg()) {
@ -1301,7 +1299,6 @@ static void double_move(MacroAssembler* masm, VMRegPair src, VMRegPair dst) {
// The calling conventions assures us that each VMregpair is either // The calling conventions assures us that each VMregpair is either
// all really one physical register or adjacent stack slots. // all really one physical register or adjacent stack slots.
// This greatly simplifies the cases here compared to sparc.
if (src.is_single_phys_reg() ) { if (src.is_single_phys_reg() ) {
if (dst.is_single_phys_reg()) { if (dst.is_single_phys_reg()) {

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 1998, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 1998, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -32,8 +32,6 @@
// This is the hook for finding a register in an "well-known" location, // This is the hook for finding a register in an "well-known" location,
// such as a register block of a predetermined format. // such as a register block of a predetermined format.
// Since there is none, we just return NULL. // Since there is none, we just return NULL.
// See registerMap_sparc.hpp for an example of grabbing registers
// from register save areas of a standard layout.
address pd_location(VMReg reg) const { return NULL; } address pd_location(VMReg reg) const { return NULL; }
// no PD state to clear or copy: // no PD state to clear or copy:

View file

@ -321,7 +321,7 @@ bool os::have_special_privileges() {
#ifndef SYS_gettid #ifndef SYS_gettid
// i386: 224, ia64: 1105, amd64: 186, sparc 143 // i386: 224, ia64: 1105, amd64: 186, sparc: 143
#ifdef __ia64__ #ifdef __ia64__
#define SYS_gettid 1105 #define SYS_gettid 1105
#else #else

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -151,8 +151,8 @@ class FrameMap : public CompilationResourceObj {
VMReg sp_offset2vmreg(ByteSize offset) const; VMReg sp_offset2vmreg(ByteSize offset) const;
// platform dependent hook used to check that frame is properly // platform dependent hook used to check that frame is properly
// addressable on the platform. Used by sparc to verify that all // addressable on the platform. Used by arm, ppc to verify that all
// stack addresses are expressable in a simm13. // stack addresses are valid.
bool validate_frame(); bool validate_frame();
static LIR_Opr map_to_opr(BasicType type, VMRegPair* reg, bool incoming); static LIR_Opr map_to_opr(BasicType type, VMRegPair* reg, bool incoming);

View file

@ -1446,10 +1446,6 @@ void LIRGenerator::do_CompareAndSwap(Intrinsic* x, ValueType* type) {
LIRItem cmp (x->argument_at(2), this); // value to compare with field LIRItem cmp (x->argument_at(2), this); // value to compare with field
LIRItem val (x->argument_at(3), this); // replace field with val if matches cmp LIRItem val (x->argument_at(3), this); // replace field with val if matches cmp
assert(obj.type()->tag() == objectTag, "invalid type"); assert(obj.type()->tag() == objectTag, "invalid type");
// In 64bit the type can be long, sparc doesn't have this assert
// assert(offset.type()->tag() == intTag, "invalid type");
assert(cmp.type()->tag() == type->tag(), "invalid type"); assert(cmp.type()->tag() == type->tag(), "invalid type");
assert(val.type()->tag() == type->tag(), "invalid type"); assert(val.type()->tag() == type->tag(), "invalid type");

View file

@ -2704,7 +2704,7 @@ int LinearScan::append_scope_value_for_operand(LIR_Opr opr, GrowableArray<ScopeV
if (!frame_map()->locations_for_slot(opr->double_stack_ix(), loc_type, &loc1, NULL)) { if (!frame_map()->locations_for_slot(opr->double_stack_ix(), loc_type, &loc1, NULL)) {
bailout("too large frame"); bailout("too large frame");
} }
// Does this reverse on x86 vs. sparc?
first = new LocationValue(loc1); first = new LocationValue(loc1);
second = _int_0_scope_value; second = _int_0_scope_value;
#else #else

View file

@ -244,7 +244,7 @@ void Runtime1::generate_blob_for(BufferBlob* buffer_blob, StubID id) {
case unwind_exception_id: case unwind_exception_id:
case counter_overflow_id: case counter_overflow_id:
#if defined(PPC32) #if defined(PPC32)
case handle_exception_nofpu_id: // Unused on sparc case handle_exception_nofpu_id:
#endif #endif
expect_oop_map = false; expect_oop_map = false;
break; break;

View file

@ -1,5 +1,5 @@
/* /*
* Copyright (c) 2002, 2019, Oracle and/or its affiliates. All rights reserved. * Copyright (c) 2002, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* *
* This code is free software; you can redistribute it and/or modify it * This code is free software; you can redistribute it and/or modify it
@ -63,7 +63,7 @@ class SpaceDecorator: public AllStatic {
// spaces are resized after an expansion. // spaces are resized after an expansion.
// The class SpaceMangler keeps a pointer to the top of the allocated // The class SpaceMangler keeps a pointer to the top of the allocated
// area and provides the methods for doing the piece meal mangling. // area and provides the methods for doing the piece meal mangling.
// Methods for doing sparces and full checking of the mangling are // Methods for doing spaces and full checking of the mangling are
// included. The full checking is done if DEBUG_MANGLING is defined. // included. The full checking is done if DEBUG_MANGLING is defined.
// GenSpaceMangler is used with the GenCollectedHeap collectors and // GenSpaceMangler is used with the GenCollectedHeap collectors and
// MutableSpaceMangler is used with the ParallelScavengeHeap collectors. // MutableSpaceMangler is used with the ParallelScavengeHeap collectors.

View file

@ -48,7 +48,6 @@
// 31 bits, see os::random(). Also, 64-bit vm's require // 31 bits, see os::random(). Also, 64-bit vm's require
// a hash value no bigger than 32 bits because they will not // a hash value no bigger than 32 bits because they will not
// properly generate a mask larger than that: see library_call.cpp // properly generate a mask larger than that: see library_call.cpp
// and c1_CodePatterns_sparc.cpp.
// //
// - the biased lock pattern is used to bias a lock toward a given // - the biased lock pattern is used to bias a lock toward a given
// thread. When this pattern is set in the low three bits, the lock // thread. When this pattern is set in the low three bits, the lock