mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
6977640: Zero and Shark fixes
A number of fixes for Zero and Shark. Reviewed-by: twisti
This commit is contained in:
parent
0f1f7c3b7f
commit
a325f5589a
5 changed files with 19 additions and 10 deletions
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 2002, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2007 Red Hat, Inc.
|
* Copyright 2007, 2010 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
|
||||||
|
@ -268,7 +268,7 @@ inline jint BytecodeInterpreter::VMintSub(jint op1, jint op2) {
|
||||||
return op1 - op2;
|
return op1 - op2;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline jint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
|
inline juint BytecodeInterpreter::VMintUshr(jint op1, jint op2) {
|
||||||
return ((juint) op1) >> (op2 & 0x1F);
|
return ((juint) op1) >> (op2 & 0x1F);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -82,6 +82,10 @@
|
||||||
return _last_Java_fp;
|
return _last_Java_fp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
address last_Java_pc() const {
|
||||||
|
return _last_Java_pc;
|
||||||
|
}
|
||||||
|
|
||||||
static ByteSize last_Java_fp_offset() {
|
static ByteSize last_Java_fp_offset() {
|
||||||
return byte_offset_of(JavaFrameAnchor, _last_Java_fp);
|
return byte_offset_of(JavaFrameAnchor, _last_Java_fp);
|
||||||
}
|
}
|
||||||
|
|
|
@ -435,22 +435,22 @@ extern "C" {
|
||||||
void _Copy_arrayof_conjoint_bytes(HeapWord* from,
|
void _Copy_arrayof_conjoint_bytes(HeapWord* from,
|
||||||
HeapWord* to,
|
HeapWord* to,
|
||||||
size_t count) {
|
size_t count) {
|
||||||
ShouldNotCallThis();
|
memmove(to, from, count);
|
||||||
}
|
}
|
||||||
void _Copy_arrayof_conjoint_jshorts(HeapWord* from,
|
void _Copy_arrayof_conjoint_jshorts(HeapWord* from,
|
||||||
HeapWord* to,
|
HeapWord* to,
|
||||||
size_t count) {
|
size_t count) {
|
||||||
ShouldNotCallThis();
|
memmove(to, from, count * 2);
|
||||||
}
|
}
|
||||||
void _Copy_arrayof_conjoint_jints(HeapWord* from,
|
void _Copy_arrayof_conjoint_jints(HeapWord* from,
|
||||||
HeapWord* to,
|
HeapWord* to,
|
||||||
size_t count) {
|
size_t count) {
|
||||||
ShouldNotCallThis();
|
memmove(to, from, count * 4);
|
||||||
}
|
}
|
||||||
void _Copy_arrayof_conjoint_jlongs(HeapWord* from,
|
void _Copy_arrayof_conjoint_jlongs(HeapWord* from,
|
||||||
HeapWord* to,
|
HeapWord* to,
|
||||||
size_t count) {
|
size_t count) {
|
||||||
ShouldNotCallThis();
|
memmove(to, from, count * 8);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
|
* Copyright (c) 1997, 2007, Oracle and/or its affiliates. All rights reserved.
|
||||||
* Copyright 2009 Red Hat, Inc.
|
* Copyright 2009, 2010 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
|
||||||
|
@ -23,6 +23,9 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// This file is intentionally empty
|
#include "incls/_precompiled.incl"
|
||||||
|
#include "incls/_thread_linux_zero.cpp.incl"
|
||||||
|
|
||||||
void JavaThread::cache_global_variables() { }
|
void JavaThread::cache_global_variables() {
|
||||||
|
// nothing to do
|
||||||
|
}
|
||||||
|
|
|
@ -421,7 +421,9 @@ BytecodeInterpreter::run(interpreterState istate) {
|
||||||
#ifdef ASSERT
|
#ifdef ASSERT
|
||||||
if (istate->_msg != initialize) {
|
if (istate->_msg != initialize) {
|
||||||
assert(abs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
|
assert(abs(istate->_stack_base - istate->_stack_limit) == (istate->_method->max_stack() + 1), "bad stack limit");
|
||||||
|
#ifndef SHARK
|
||||||
IA32_ONLY(assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1, "wrong"));
|
IA32_ONLY(assert(istate->_stack_limit == istate->_thread->last_Java_sp() + 1, "wrong"));
|
||||||
|
#endif // !SHARK
|
||||||
}
|
}
|
||||||
// Verify linkages.
|
// Verify linkages.
|
||||||
interpreterState l = istate;
|
interpreterState l = istate;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue