mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-25 22:04:51 +02:00
7018673: Zero: 6953144, 6990754 and 7009756 made some changes which broke Zero
Reviewed-by: kvn, chrisphi, twisti
This commit is contained in:
parent
c13062093b
commit
01cc76e02d
4 changed files with 23 additions and 7 deletions
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2003, 2011, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007, 2008 Red Hat, Inc.
|
* Copyright 2007, 2008, 2011 Red Hat, Inc.
|
||||||
* 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
|
||||||
|
@ -300,4 +300,18 @@ inline void* Atomic::cmpxchg_ptr(void* exchange_value,
|
||||||
(intptr_t) compare_value);
|
(intptr_t) compare_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
inline jlong Atomic::load(volatile jlong* src) {
|
||||||
|
volatile jlong dest;
|
||||||
|
os::atomic_copy64(src, &dest);
|
||||||
|
return dest;
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void Atomic::store(jlong store_value, jlong* dest) {
|
||||||
|
os::atomic_copy64((volatile jlong*)&store_value, (volatile jlong*)dest);
|
||||||
|
}
|
||||||
|
|
||||||
|
inline void Atomic::store(jlong store_value, volatile jlong* dest) {
|
||||||
|
os::atomic_copy64((volatile jlong*)&store_value, dest);
|
||||||
|
}
|
||||||
|
|
||||||
#endif // OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_INLINE_HPP
|
#endif // OS_CPU_LINUX_ZERO_VM_ATOMIC_LINUX_ZERO_INLINE_HPP
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1999, 2010, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1999, 2011, 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
|
||||||
|
@ -768,7 +768,9 @@ CompilerThread* CompileBroker::make_compiler_thread(const char* name, CompileQue
|
||||||
// Initialize the compilation queue
|
// Initialize the compilation queue
|
||||||
void CompileBroker::init_compiler_threads(int c1_compiler_count, int c2_compiler_count) {
|
void CompileBroker::init_compiler_threads(int c1_compiler_count, int c2_compiler_count) {
|
||||||
EXCEPTION_MARK;
|
EXCEPTION_MARK;
|
||||||
|
#ifndef ZERO
|
||||||
assert(c2_compiler_count > 0 || c1_compiler_count > 0, "No compilers?");
|
assert(c2_compiler_count > 0 || c1_compiler_count > 0, "No compilers?");
|
||||||
|
#endif // !ZERO
|
||||||
if (c2_compiler_count > 0) {
|
if (c2_compiler_count > 0) {
|
||||||
_c2_method_queue = new CompileQueue("C2MethodQueue", MethodCompileQueue_lock);
|
_c2_method_queue = new CompileQueue("C2MethodQueue", MethodCompileQueue_lock);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1936,7 +1936,7 @@ run:
|
||||||
constantPoolOop constants = istate->method()->constants();
|
constantPoolOop constants = istate->method()->constants();
|
||||||
if (!constants->tag_at(index).is_unresolved_klass()) {
|
if (!constants->tag_at(index).is_unresolved_klass()) {
|
||||||
// Make sure klass is initialized and doesn't have a finalizer
|
// Make sure klass is initialized and doesn't have a finalizer
|
||||||
oop entry = (klassOop) *constants->obj_at_addr(index);
|
oop entry = constants->slot_at(index).get_oop();
|
||||||
assert(entry->is_klass(), "Should be resolved klass");
|
assert(entry->is_klass(), "Should be resolved klass");
|
||||||
klassOop k_entry = (klassOop) entry;
|
klassOop k_entry = (klassOop) entry;
|
||||||
assert(k_entry->klass_part()->oop_is_instance(), "Should be instanceKlass");
|
assert(k_entry->klass_part()->oop_is_instance(), "Should be instanceKlass");
|
||||||
|
@ -2026,7 +2026,7 @@ run:
|
||||||
if (METHOD->constants()->tag_at(index).is_unresolved_klass()) {
|
if (METHOD->constants()->tag_at(index).is_unresolved_klass()) {
|
||||||
CALL_VM(InterpreterRuntime::quicken_io_cc(THREAD), handle_exception);
|
CALL_VM(InterpreterRuntime::quicken_io_cc(THREAD), handle_exception);
|
||||||
}
|
}
|
||||||
klassOop klassOf = (klassOop) *(METHOD->constants()->obj_at_addr(index));
|
klassOop klassOf = (klassOop) METHOD->constants()->slot_at(index).get_oop();
|
||||||
klassOop objKlassOop = STACK_OBJECT(-1)->klass(); //ebx
|
klassOop objKlassOop = STACK_OBJECT(-1)->klass(); //ebx
|
||||||
//
|
//
|
||||||
// Check for compatibilty. This check must not GC!!
|
// Check for compatibilty. This check must not GC!!
|
||||||
|
@ -2061,7 +2061,7 @@ run:
|
||||||
if (METHOD->constants()->tag_at(index).is_unresolved_klass()) {
|
if (METHOD->constants()->tag_at(index).is_unresolved_klass()) {
|
||||||
CALL_VM(InterpreterRuntime::quicken_io_cc(THREAD), handle_exception);
|
CALL_VM(InterpreterRuntime::quicken_io_cc(THREAD), handle_exception);
|
||||||
}
|
}
|
||||||
klassOop klassOf = (klassOop) *(METHOD->constants()->obj_at_addr(index));
|
klassOop klassOf = (klassOop) METHOD->constants()->slot_at(index).get_oop();
|
||||||
klassOop objKlassOop = STACK_OBJECT(-1)->klass();
|
klassOop objKlassOop = STACK_OBJECT(-1)->klass();
|
||||||
//
|
//
|
||||||
// Check for compatibilty. This check must not GC!!
|
// Check for compatibilty. This check must not GC!!
|
||||||
|
|
|
@ -934,7 +934,7 @@ methodHandle methodOopDesc::make_invoke_method(KlassHandle holder,
|
||||||
assert(m->signature() == signature, "");
|
assert(m->signature() == signature, "");
|
||||||
assert(m->is_method_handle_invoke(), "");
|
assert(m->is_method_handle_invoke(), "");
|
||||||
#ifdef CC_INTERP
|
#ifdef CC_INTERP
|
||||||
ResultTypeFinder rtf(signature());
|
ResultTypeFinder rtf(signature);
|
||||||
m->set_result_index(rtf.type());
|
m->set_result_index(rtf.type());
|
||||||
#endif
|
#endif
|
||||||
m->compute_size_of_parameters(THREAD);
|
m->compute_size_of_parameters(THREAD);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue