/hg/icedtea: 5 new changesets

andrew at icedtea.classpath.org andrew at icedtea.classpath.org
Mon May 10 04:15:58 PDT 2010


changeset e5494d5e9d73 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=e5494d5e9d73
author: Gary Benson <gbenson at redhat.com>
date: Wed Nov 11 13:52:48 2009 +0000

	Use SharkType::oop_type() instead of SharkType::jobject_type()

	2009-11-11 Gary Benson <gbenson at redhat.com>

	 * ports/hotspot/src/share/vm/shark/sharkType.hpp
	(SharkType::jobject_type): Removed.

	 * ports/hotspot/src/share/vm/shark/llvmValue.hpp
	(LLVMValue::null): Use SharkType::oop_type() instead of
	SharkType::jobject_type().
		* ports/hotspot/src/share/vm/shark/sharkBuilder.cpp
	(SharkBuilder::CreateInlineOop): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp
	(SharkIntrinsics::do_Object_getClass): Likewise.
	(SharkIntrinsics::do_Thread_currentThread): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp
	(SharkTopLevelBlock::pending_exception_address): Likewise.
	(SharkTopLevelBlock::get_vm_result): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
	(SharkTopLevelBlock::call_register_finalizer): Likewise.
	(SharkTopLevelBlock::get_virtual_callee): Likewise.
	(SharkTopLevelBlock::get_interface_callee): Likewise.
	(SharkTopLevelBlock::do_full_instance_check): Likewise.
	(SharkTopLevelBlock::do_new): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkType.cpp
	(SharkType::initialize): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkValue.hpp
	(SharkValue::create_jobject): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkValue.cpp
	(SharkNormalValue::is_jobject): Likewise.


changeset 1ff59115a3bb in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=1ff59115a3bb
author: Gary Benson <gbenson at redhat.com>
date: Wed Nov 11 10:50:38 2009 -0500

	PR icedtea/324 workaround by using is_jobject instead of is_jarray.

	2009-11-11 Gary Benson <gbenson at redhat.com>

	 PR icedtea/324:
		* ports/hotspot/src/share/vm/shark/sharkValue.cpp
	(SharkNormalValue::jarray_value): Work around the above.


changeset 6cd52dd6a5d8 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=6cd52dd6a5d8
author: Gary Benson <gbenson at redhat.com
date: Mon May 10 12:05:40 2010 +0100

	Remove support for LLVM < 2.6.

	2009-11-11 Gary Benson <gbenson at redhat.com>

	 * ports/hotspot/src/share/vm/shark/sharkBuilder.hpp
	(SharkBuilder::SharkBuilder): Removed module argument.
	(SharkBuilder::_module): Removed. (SharkBuilder::module):
	Likewise.
	(SharkBuilder::check_special_condition_for_native_trans): New
	method. (SharkBuilder::CreateInlineOop): New method with
	jobject argument.
		* ports/hotspot/src/share/vm/shark/sharkBuilder.cpp
	(SharkBuilder::SharkBuilder): Removed module argument, and changed
	to use Shark context instead of global context.
	(SharkBuilder::make_type): Updated for new SharkType.
	(SharkBuilder::make_function): Use SharkContext for resolution.
	(SharkBuilder::check_special_condition_for_native_trans): New
	method. (SharkBuilder::CreateDump): Removed support for LLVM
	< 2.6. (SharkBuilder::CreateBlock): Likewise.
	(SharkBuilder::CreateInlineOop): Changed object argument type.

	 * ports/hotspot/src/share/vm/shark/sharkCacheDecache.hpp
	(SharkDecacher::oopmap_slot_munge): Defer to SharkStack method.
	(SharkDecacher::slot2reg): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp
	(SharkDecacher::start_frame): Use new SharkStack code.
	(SharkDecacher::start_stack): Likewise.
	(SharkDecacher::process_pc_slot): Likewise.
	(SharkOSREntryCacher::process_monitor): Likewise.
	(SharkDecacher::write_value_to_frame): Likewise.
	(SharkCacher::read_value_from_frame): Likewise.

	 * ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp
	(SharkCodeBuffer::SharkCodeBuffer): Wrap a MacroAssembler
	instead of creating one along with a CodeBuffer.
	(SharkCodeBuffer::_cb): Removed. (SharkCodeBuffer::_cb):
	Likewise. (SharkCodeBuffer::inline_oop): Changed object
	argument type.

	 * ports/hotspot/src/share/vm/shark/sharkCompiler.hpp
	(SharkCompiler::supports_native): Return true instead of false.
	(SharkCompiler::generate_native_wrapper): New method.
	(SharkCompiler::_module): Removed. (SharkCompiler::module):
	Likewise. (SharkCompiler::_normal_context): New field.
	(SharkCompiler::_native_context): Likewise.
	(SharkCompiler::_execution_engine_lock): Likewise.
	(SharkCompiler::context): New method.
	(SharkCompiler::execution_engine_lock): Likewise.
	(SharkCompiler::memory_manager): Added assertion.
	(SharkCompiler::execution_engine): Likewise.
	(SharkCompiler::compiler): New method.
	(SharkCompiler::generate_native_code): Likewise.
	(SharkCompiler::free_queued_methods): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkCompiler.cpp
	(SharkCompiler::SharkCompiler): Create the lock and the two
	contexts. Removed support for LLVM < 2.6.
	(SharkCompiler::compile_method): Create the HotSpot code buffer
	and macro assembler, and defer native code generation to new
	method SharkCompiler::generate_native_code().
	(SharkCompiler::generate_native_wrapper): New method.
	(SharkCompiler::generate_native_code): Likewise.
	(SharkCompiler::free_compiled_method): New implementation.
	(SharkCompiler::free_queued_methods): New method.

	 * ports/hotspot/src/share/vm/shark/sharkEntry.hpp
	(SharkEntry::_context): New field. (SharkEntry::context):
	New method. (SharkEntry::set_context): Likewise.

	 * ports/hotspot/src/share/vm/shark/sharkFunction.hpp
	(SharkFunction::build): Removed compiler argument.
	(SharkFunction::SharkFunction): Likewise.
	(SharkFunction::_stack): New field. (SharkFunction::stack):
	New method. (SharkFunction::CreateBlock): Removed support
	for LLVM < 2.6. (SharkFunction::_zero_stack_base): Removed.
	(SharkFunction::_zero_stack_pointer_addr): Likewise.
	(SharkFunction::_zero_frame_pointer_addr): Likewise.
	(SharkFunction::zero_stack_base): Likewise.
	(SharkFunction::zero_stack_pointer_addr): Likewise.
	(SharkFunction::zero_frame_pointer_addr): Likewise.
	(SharkFunction::CreateInitZeroStack): Likewise.
	(SharkFunction::CreateLoadZeroStackPointer): Likewise.
	(SharkFunction::CreateStoreZeroStackPointer): Likewise.
	(SharkFunction::CreateLoadZeroFramePointer): Likewise.
	(SharkFunction::CreateStoreZeroFramePointer): Likewise.
	(SharkFunction::CreateStackOverflowCheck): Likewise.
	(SharkFunction::CreatePushFrame): Likewise.
	(SharkFunction::CreatePopFrame): Likewise.
	(SharkFunction::_frame): Likewise.
	(SharkFunction::CreateAddressOfFrameEntry): Likewise.
	(SharkFunction::CreateBuildFrame): Likewise.
	(SharkFunction::_extended_frame_size): Likewise.
	(SharkFunction::_stack_slots_offset): Likewise.
	(SharkFunction::_monitors_slots_offset): Likewise.
	(SharkFunction::_oop_tmp_slot_offset): Likewise.
	(SharkFunction::_method_slot_offset): Likewise.
	(SharkFunction::_pc_slot_offset): Likewise.
	(SharkFunction::_locals_slots_offset): Likewise.
	(SharkFunction::extended_frame_size): Likewise.
	(SharkFunction::oopmap_frame_size): Likewise.
	(SharkFunction::stack_slots_offset): Likewise.
	(SharkFunction::monitors_slots_offset): Likewise.
	(SharkFunction::oop_tmp_slot_offset): Likewise.
	(SharkFunction::method_slot_offset): Likewise.
	(SharkFunction::pc_slot_offset): Likewise.
	(SharkFunction::locals_slots_offset): Likewise.
	(SharkFunction::monitor_offset): Likewise.
	(SharkFunction::monitor_object_offset): Likewise.
	(SharkFunction::monitor_header_offset): Likewise.
	(SharkFunction::monitor_addr): Likewise.
	(SharkFunction::monitor_object_addr): Likewise.
	(SharkFunction::monitor_header_addr): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkFunction.cpp
	(SharkFunction::initialize): Defer stack frame creation to new
	SharkStack code. (SharkFunction::CreateInitZeroStack):
	Removed. (SharkFunction::CreateStackOverflowCheck):
	Likewise. (SharkFunction::CreatePushFrame): Likewise.
	(SharkFunction::CreatePopFrame): Likewise.
	(SharkFunction::CreateBuildFrame): Likewise.
	(SharkFunction::CreateAddressOfFrameEntry): Likewise.

	 * ports/hotspot/src/share/vm/shark/sharkInvariants.hpp
	(SharkCompileInvariants::SharkCompileInvariants): Removed
	compiler argument.
	(SharkTargetInvariants::SharkTargetInvariants): Likewise.
	(SharkCompileInvariants::_compiler): Removed.
	(SharkCompileInvariants::env): Added assertion.

	 * ports/hotspot/src/share/vm/shark/sharkStateScanner.hpp
	(SharkStateScanner::SharkStateScanner): Updated.
	(SharkStateScanner::_function): Removed.
	(SharkStateScanner::function): Likewise.
	(SharkStateScanner::_stack): New field.
	(SharkStateScanner::stack): New method.
		* ports/hotspot/src/share/vm/shark/sharkStateScanner.cpp
	(SharkStateScanner::scan): Use new SharkStack code.

	 * ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp
	(SharkTopLevelBlock::stack): New method.
	(SharkTopLevelBlock::set_last_Java_frame): Removed.
	(SharkTopLevelBlock::reset_last_Java_frame): Likewise.
	(SharkTopLevelBlock::call_vm): Use new SharkStack code.
		* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
	(SharkTopLevelBlock::handle_return): Likewise.
	(SharkTopLevelBlock::do_multianewarray): Likewise.
	(SharkTopLevelBlock::acquire_lock): Likewise.
	(SharkTopLevelBlock::release_lock): Likewise.

	 * ports/hotspot/src/share/vm/shark/sharkType.hpp:
	Defer everything to new SharkContext code.
		* ports/hotspot/src/share/vm/shark/sharkType.cpp: Removed.

	 * ports/hotspot/src/share/vm/shark/llvmHeaders.hpp:
	Removed support for LLVM < 2.6.
		* ports/hotspot/src/share/vm/shark/llvmValue.hpp
	(LLVMValue::jfloat_constant): Likewise.
	(LLVMValue::jdouble_constant): Likewise.
	(LLVMValue::bit_constant): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkBlock.cpp
	(SharkBlock::parse_bytecode): Likewise.
		* ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp: Likewise.
		* ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp: Likewise.

	 * ports/hotspot/src/share/vm/shark/sharkContext.hpp: New
	file.
		* ports/hotspot/src/share/vm/shark/sharkContext.cpp: Likewise.
		* ports/hotspot/src/share/vm/shark/sharkNativeWrapper.hpp: Likewise.
		* ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp: Likewise.
		* ports/hotspot/src/share/vm/shark/sharkStack.hpp: Likewise.
		* ports/hotspot/src/share/vm/shark/sharkStack.cpp: Likewise.

	 * ports/hotspot/src/share/vm/includeDB_shark: Updated.


changeset 72abc86bca08 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=72abc86bca08
author: Gary Benson <gbenson at redhat.com>
date: Wed Nov 11 16:08:49 2009 +0000

	Remove src/share/vm/shark/sharkType.cpp (missed from previous
	commit)


changeset ffc24070b575 in /hg/icedtea
details: http://icedtea.classpath.org/hg/icedtea?cmd=changeset;node=ffc24070b575
author: Xerxes R?nby <xerxes at zafena.se>
date: Thu Nov 12 16:36:32 2009 +0100

	Added NOT_X86 macro to fix Shark + LLVM 2.7 builds.

	2009-11-12 Xerxes R?nby <xerxes at zafena.se>

	 * patches/hotspot/default/icedtea-shark.patch
	(hotspot/src/share/vm/utilities/macros.hpp): Added NOT_X86
	macro.


diffstat:

34 files changed, 2209 insertions(+), 990 deletions(-)
ChangeLog                                               |  224 +++++++++
patches/hotspot/default/icedtea-shark.patch             |   20 
ports/hotspot/src/share/vm/includeDB_shark              |   58 ++
ports/hotspot/src/share/vm/shark/llvmHeaders.hpp        |    4 
ports/hotspot/src/share/vm/shark/llvmValue.hpp          |   20 
ports/hotspot/src/share/vm/shark/sharkBlock.cpp         |   32 -
ports/hotspot/src/share/vm/shark/sharkBuilder.cpp       |   50 --
ports/hotspot/src/share/vm/shark/sharkBuilder.hpp       |   25 -
ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp  |   22 
ports/hotspot/src/share/vm/shark/sharkCacheDecache.hpp  |    6 
ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp    |   20 
ports/hotspot/src/share/vm/shark/sharkCompiler.cpp      |  256 ++++++----
ports/hotspot/src/share/vm/shark/sharkCompiler.hpp      |   70 ++
ports/hotspot/src/share/vm/shark/sharkContext.cpp       |  185 +++++++
ports/hotspot/src/share/vm/shark/sharkContext.hpp       |  208 ++++++++
ports/hotspot/src/share/vm/shark/sharkEntry.hpp         |   11 
ports/hotspot/src/share/vm/shark/sharkFunction.cpp      |  155 ------
ports/hotspot/src/share/vm/shark/sharkFunction.hpp      |  178 -------
ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp    |    4 
ports/hotspot/src/share/vm/shark/sharkInvariants.hpp    |   35 -
ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp |    8 
ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp |    5 
ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp |  352 +++++++++++++++
ports/hotspot/src/share/vm/shark/sharkNativeWrapper.hpp |  204 ++++++++
ports/hotspot/src/share/vm/shark/sharkStack.cpp         |  239 ++++++++++
ports/hotspot/src/share/vm/shark/sharkStack.hpp         |  292 ++++++++++++
ports/hotspot/src/share/vm/shark/sharkStateScanner.cpp  |   14 
ports/hotspot/src/share/vm/shark/sharkStateScanner.hpp  |    8 
ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp |   38 -
ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp |   35 -
ports/hotspot/src/share/vm/shark/sharkType.cpp          |  180 -------
ports/hotspot/src/share/vm/shark/sharkType.hpp          |  233 +++------
ports/hotspot/src/share/vm/shark/sharkValue.cpp         |    6 
ports/hotspot/src/share/vm/shark/sharkValue.hpp         |    2 

diffs (truncated from 4145 to 500 lines):

diff -r 9ccd1c960e63 -r ffc24070b575 ChangeLog
--- a/ChangeLog	Mon Nov 09 13:07:15 2009 +0100
+++ b/ChangeLog	Thu Nov 12 16:36:32 2009 +0100
@@ -1,3 +1,227 @@ 2009-11-09  Xerxes RÃ¥nby  <xerxes at zafen
+2009-11-12  Xerxes RÃ¥nby  <xerxes at zafena.se>
+
+	* patches/icedtea-shark.patch
+	(hotspot/src/share/vm/utilities/macros.hpp):
+	Added NOT_X86 macro.
+
+2009-11-11  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/cpu/zero/vm/cppInterpreter_zero.cpp
+	(CppInterpreter::native_entry): Add invocation counting for
+	non-synchronized native methods.
+
+	* ports/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp
+	(SharedRuntime::generate_native_wrapper): Implemented.
+
+	* ports/hotspot/src/cpu/zero/vm/sharkFrame_zero.hpp
+	(SharkFrame): Made friendly with SharkStack.  Snubbed
+	SharkFunction.
+
+	* ports/hotspot/src/share/vm/shark/sharkBuilder.hpp
+	(SharkBuilder::SharkBuilder): Removed module argument.
+	(SharkBuilder::_module): Removed.
+	(SharkBuilder::module): Likewise.
+	(SharkBuilder::check_special_condition_for_native_trans): New method.
+	(SharkBuilder::CreateInlineOop): New method with jobject argument.
+	* ports/hotspot/src/share/vm/shark/sharkBuilder.cpp
+	(SharkBuilder::SharkBuilder): Removed module argument, and changed
+	to use Shark context instead of global context.
+	(SharkBuilder::make_type): Updated for new SharkType.
+	(SharkBuilder::make_function): Use SharkContext for resolution.
+	(SharkBuilder::check_special_condition_for_native_trans): New method.
+	(SharkBuilder::CreateDump): Removed support for LLVM < 2.6.
+	(SharkBuilder::CreateBlock): Likewise.
+	(SharkBuilder::CreateInlineOop): Changed object argument type.
+
+	* ports/hotspot/src/share/vm/shark/sharkCacheDecache.hpp
+	(SharkDecacher::oopmap_slot_munge): Defer to SharkStack method.
+	(SharkDecacher::slot2reg): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkCacheDecache.cpp
+	(SharkDecacher::start_frame): Use new SharkStack code.
+	(SharkDecacher::start_stack): Likewise.
+	(SharkDecacher::process_pc_slot): Likewise.
+	(SharkOSREntryCacher::process_monitor): Likewise.
+	(SharkDecacher::write_value_to_frame): Likewise.
+	(SharkCacher::read_value_from_frame): Likewise.
+
+	* ports/hotspot/src/share/vm/shark/sharkCodeBuffer.hpp
+	(SharkCodeBuffer::SharkCodeBuffer): Wrap a MacroAssembler
+	instead of creating one along with a CodeBuffer.
+	(SharkCodeBuffer::_cb): Removed.
+	(SharkCodeBuffer::_cb): Likewise.
+	(SharkCodeBuffer::inline_oop): Changed object argument type.
+
+	* ports/hotspot/src/share/vm/shark/sharkCompiler.hpp
+	(SharkCompiler::supports_native): Return true instead of false.
+	(SharkCompiler::generate_native_wrapper): New method.
+	(SharkCompiler::_module): Removed.
+	(SharkCompiler::module): Likewise.
+	(SharkCompiler::_normal_context): New field.
+	(SharkCompiler::_native_context): Likewise.
+	(SharkCompiler::_execution_engine_lock): Likewise.
+	(SharkCompiler::context): New method.
+	(SharkCompiler::execution_engine_lock): Likewise.
+	(SharkCompiler::memory_manager): Added assertion.
+	(SharkCompiler::execution_engine): Likewise.
+	(SharkCompiler::compiler): New method.
+	(SharkCompiler::generate_native_code): Likewise.
+	(SharkCompiler::free_queued_methods): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkCompiler.cpp
+	(SharkCompiler::SharkCompiler): Create the lock and the two
+	contexts.  Removed support for LLVM < 2.6.
+	(SharkCompiler::compile_method): Create the HotSpot code buffer
+	and macro assembler, and defer native code generation to new
+	method SharkCompiler::generate_native_code().
+	(SharkCompiler::generate_native_wrapper): New method.
+	(SharkCompiler::generate_native_code): Likewise.
+	(SharkCompiler::free_compiled_method): New implementation.
+	(SharkCompiler::free_queued_methods): New method.
+
+	* ports/hotspot/src/share/vm/shark/sharkEntry.hpp
+	(SharkEntry::_context): New field.
+	(SharkEntry::context): New method.
+	(SharkEntry::set_context): Likewise.
+
+	* ports/hotspot/src/share/vm/shark/sharkFunction.hpp
+	(SharkFunction::build): Removed compiler argument.
+	(SharkFunction::SharkFunction): Likewise.
+	(SharkFunction::_stack): New field.
+	(SharkFunction::stack): New method.
+	(SharkFunction::CreateBlock): Removed support for LLVM < 2.6.
+	(SharkFunction::_zero_stack_base): Removed.
+	(SharkFunction::_zero_stack_pointer_addr): Likewise.
+	(SharkFunction::_zero_frame_pointer_addr): Likewise.
+	(SharkFunction::zero_stack_base): Likewise.
+	(SharkFunction::zero_stack_pointer_addr): Likewise.
+	(SharkFunction::zero_frame_pointer_addr): Likewise.
+	(SharkFunction::CreateInitZeroStack): Likewise.
+	(SharkFunction::CreateLoadZeroStackPointer): Likewise.
+	(SharkFunction::CreateStoreZeroStackPointer): Likewise.
+	(SharkFunction::CreateLoadZeroFramePointer): Likewise.
+	(SharkFunction::CreateStoreZeroFramePointer): Likewise.
+	(SharkFunction::CreateStackOverflowCheck): Likewise.
+	(SharkFunction::CreatePushFrame): Likewise.
+	(SharkFunction::CreatePopFrame): Likewise.
+	(SharkFunction::_frame): Likewise.
+	(SharkFunction::CreateAddressOfFrameEntry): Likewise.
+	(SharkFunction::CreateBuildFrame): Likewise.
+	(SharkFunction::_extended_frame_size): Likewise.
+	(SharkFunction::_stack_slots_offset): Likewise.
+	(SharkFunction::_monitors_slots_offset): Likewise.
+	(SharkFunction::_oop_tmp_slot_offset): Likewise.
+	(SharkFunction::_method_slot_offset): Likewise.
+	(SharkFunction::_pc_slot_offset): Likewise.
+	(SharkFunction::_locals_slots_offset): Likewise.
+	(SharkFunction::extended_frame_size): Likewise.
+	(SharkFunction::oopmap_frame_size): Likewise.
+	(SharkFunction::stack_slots_offset): Likewise.
+	(SharkFunction::monitors_slots_offset): Likewise.
+	(SharkFunction::oop_tmp_slot_offset): Likewise.
+	(SharkFunction::method_slot_offset): Likewise.
+	(SharkFunction::pc_slot_offset): Likewise.
+	(SharkFunction::locals_slots_offset): Likewise.
+	(SharkFunction::monitor_offset): Likewise.
+	(SharkFunction::monitor_object_offset): Likewise.
+	(SharkFunction::monitor_header_offset): Likewise.
+	(SharkFunction::monitor_addr): Likewise.
+	(SharkFunction::monitor_object_addr): Likewise.
+	(SharkFunction::monitor_header_addr): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkFunction.cpp
+	(SharkFunction::initialize): Defer stack frame creation to new
+	SharkStack code.
+	(SharkFunction::CreateInitZeroStack): Removed.
+	(SharkFunction::CreateStackOverflowCheck): Likewise.
+	(SharkFunction::CreatePushFrame): Likewise.
+	(SharkFunction::CreatePopFrame): Likewise.
+	(SharkFunction::CreateBuildFrame): Likewise.
+	(SharkFunction::CreateAddressOfFrameEntry): Likewise.
+
+	* ports/hotspot/src/share/vm/shark/sharkInvariants.hpp
+	(SharkCompileInvariants::SharkCompileInvariants): Removed
+	compiler argument. 
+	(SharkTargetInvariants::SharkTargetInvariants): Likewise.
+	(SharkCompileInvariants::_compiler): Removed.
+	(SharkCompileInvariants::env): Added assertion.
+
+	* ports/hotspot/src/share/vm/shark/sharkStateScanner.hpp
+	(SharkStateScanner::SharkStateScanner): Updated.
+	(SharkStateScanner::_function): Removed.
+	(SharkStateScanner::function): Likewise.
+	(SharkStateScanner::_stack): New field.
+	(SharkStateScanner::stack): New method.
+	* ports/hotspot/src/share/vm/shark/sharkStateScanner.cpp
+	(SharkStateScanner::scan): Use new SharkStack code.
+
+	* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp
+	(SharkTopLevelBlock::stack): New method.
+	(SharkTopLevelBlock::set_last_Java_frame): Removed.
+	(SharkTopLevelBlock::reset_last_Java_frame): Likewise.
+	(SharkTopLevelBlock::call_vm): Use new SharkStack code.
+	* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
+	(SharkTopLevelBlock::handle_return): Likewise.
+	(SharkTopLevelBlock::do_multianewarray): Likewise.
+	(SharkTopLevelBlock::acquire_lock): Likewise.
+	(SharkTopLevelBlock::release_lock): Likewise.
+
+	* ports/hotspot/src/share/vm/shark/sharkType.hpp:
+	Defer everything to new SharkContext code.
+	* ports/hotspot/src/share/vm/shark/sharkType.cpp: Removed.
+	
+	* ports/hotspot/src/share/vm/shark/llvmHeaders.hpp:
+	Removed support for LLVM < 2.6.
+	* ports/hotspot/src/share/vm/shark/llvmValue.hpp
+	(LLVMValue::jfloat_constant): Likewise.
+	(LLVMValue::jdouble_constant): Likewise.
+	(LLVMValue::bit_constant): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkBlock.cpp
+	(SharkBlock::parse_bytecode): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkMemoryManager.hpp: Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkMemoryManager.cpp: Likewise.
+
+	* ports/hotspot/src/share/vm/shark/sharkContext.hpp: New file.
+	* ports/hotspot/src/share/vm/shark/sharkContext.cpp: Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkNativeWrapper.hpp: Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkNativeWrapper.cpp: Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkStack.hpp: Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkStack.cpp: Likewise.
+
+	* ports/hotspot/src/share/vm/includeDB_shark: Updated.
+
+2009-11-11  Gary Benson  <gbenson at redhat.com>
+
+	PR icedtea/324:
+	* ports/hotspot/src/share/vm/shark/sharkValue.cpp
+	(SharkNormalValue::jarray_value): Work around the above.
+
+2009-11-11  Gary Benson  <gbenson at redhat.com>
+
+	* ports/hotspot/src/share/vm/shark/sharkType.hpp
+	(SharkType::jobject_type): Removed.
+
+	* ports/hotspot/src/share/vm/shark/llvmValue.hpp
+	(LLVMValue::null): Use SharkType::oop_type() instead of
+	SharkType::jobject_type().
+	* ports/hotspot/src/share/vm/shark/sharkBuilder.cpp
+	(SharkBuilder::CreateInlineOop): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkIntrinsics.cpp
+	(SharkIntrinsics::do_Object_getClass): Likewise.
+	(SharkIntrinsics::do_Thread_currentThread): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.hpp
+	(SharkTopLevelBlock::pending_exception_address): Likewise.
+	(SharkTopLevelBlock::get_vm_result): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkTopLevelBlock.cpp
+	(SharkTopLevelBlock::call_register_finalizer): Likewise.
+	(SharkTopLevelBlock::get_virtual_callee): Likewise.
+	(SharkTopLevelBlock::get_interface_callee): Likewise.
+	(SharkTopLevelBlock::do_full_instance_check): Likewise.
+	(SharkTopLevelBlock::do_new): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkType.cpp
+	(SharkType::initialize): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkValue.hpp
+	(SharkValue::create_jobject): Likewise.
+	* ports/hotspot/src/share/vm/shark/sharkValue.cpp
+	(SharkNormalValue::is_jobject): Likewise.
+
 2009-11-09  Xerxes RÃ¥nby  <xerxes at zafena.se>
 
 	* ports/hotspot/src/share/vm/shark/llvmHeaders.hpp,
diff -r 9ccd1c960e63 -r ffc24070b575 patches/hotspot/default/icedtea-shark.patch
--- a/patches/hotspot/default/icedtea-shark.patch	Mon Nov 09 13:07:15 2009 +0100
+++ b/patches/hotspot/default/icedtea-shark.patch	Thu Nov 12 16:36:32 2009 +0100
@@ -150,6 +150,26 @@ diff -Nru openjdk.orig/hotspot/src/share
    ((CodeBlob*)(this))->flush();
  
    CodeCache::free(this);
+Index: openjdk/hotspot/src/share/vm/utilities/macros.hpp
+===================================================================
+--- openjdk.orig/ports/hotspot/src/share/vm/utilities/macros.hpp	2009-11-12 15:17:14.458064088 +0100
++++ openjdk/hotspot/src/share/vm/utilities/macros.hpp	2009-11-12 15:19:18.097063844 +0100
+@@ -146,12 +146,14 @@
+ #define NOT_WINDOWS(code) code
+ #endif
+ 
+-#if defined(IA32) || defined(AMD64)
++#if defined(IA32) || defined(IA64) || defined(AMD64)
+ #define X86
+ #define X86_ONLY(code) code
++#define NOT_X86(code)
+ #else
+ #undef X86
+ #define X86_ONLY(code)
++#define NOT_X86(code) code
+ #endif
+ 
+ #ifdef IA32
 @@ -1736,6 +1745,7 @@
  // Method that knows how to preserve outgoing arguments at call. This method must be
  // called with a frame corresponding to a Java invoke
diff -r 9ccd1c960e63 -r ffc24070b575 ports/hotspot/src/share/vm/includeDB_shark
--- a/ports/hotspot/src/share/vm/includeDB_shark	Mon Nov 09 13:07:15 2009 +0100
+++ b/ports/hotspot/src/share/vm/includeDB_shark	Thu Nov 12 16:36:32 2009 +0100
@@ -48,6 +48,8 @@ ciTypeFlow.hpp                          
 ciTypeFlow.hpp                          ciKlass.hpp
 ciTypeFlow.hpp                          ciMethodBlocks.hpp
 
+cppInterpreter_<arch>.cpp               shark_globals.hpp
+
 compileBroker.cpp                       sharkCompiler.hpp
 
 globals.hpp                             shark_globals_<arch>.hpp
@@ -55,9 +57,13 @@ globals.cpp                             
 globals.cpp                             shark_globals.hpp
 
 llvmValue.hpp                           llvmHeaders.hpp
+llvmValue.hpp                           sharkContext.hpp
 llvmValue.hpp                           sharkType.hpp
 
 nmethod.cpp                             sharkCompiler.hpp
+
+sharedRuntime_<arch>.cpp                compileBroker.hpp
+sharedRuntime_<arch>.cpp                sharkCompiler.hpp
 
 shark_globals.cpp                       shark_globals.hpp
 
@@ -95,7 +101,7 @@ sharkBuilder.cpp                        
 sharkBuilder.cpp                        resourceArea.hpp
 sharkBuilder.cpp                        llvmHeaders.hpp
 sharkBuilder.cpp                        sharkBuilder.hpp
-sharkBuilder.cpp                        sharkCompiler.hpp
+sharkBuilder.cpp                        sharkContext.hpp
 sharkBuilder.cpp                        sharkRuntime.hpp
 sharkBuilder.cpp                        synchronizer.hpp
 sharkBuilder.cpp                        thread.hpp
@@ -108,7 +114,6 @@ sharkBuilder.hpp                        
 sharkBuilder.hpp                        llvmValue.hpp
 sharkBuilder.hpp                        sizes.hpp
 sharkBuilder.hpp                        sharkCodeBuffer.hpp
-sharkBuilder.hpp                        sharkCompiler.hpp
 sharkBuilder.hpp                        sharkType.hpp
 sharkBuilder.hpp                        sharkValue.hpp
 sharkBuilder.hpp                        sharkEntry.hpp
@@ -145,16 +150,29 @@ sharkCompiler.cpp                       
 sharkCompiler.cpp                       sharkBuilder.hpp
 sharkCompiler.cpp                       sharkCodeBuffer.hpp
 sharkCompiler.cpp                       sharkCompiler.hpp
+sharkCompiler.cpp                       sharkContext.hpp
 sharkCompiler.cpp                       sharkEntry.hpp
 sharkCompiler.cpp                       sharkFunction.hpp
 sharkCompiler.cpp                       sharkMemoryManager.hpp
+sharkCompiler.cpp                       sharkNativeWrapper.hpp
 
 sharkCompiler.hpp                       abstractCompiler.hpp
 sharkCompiler.hpp                       ciEnv.hpp
 sharkCompiler.hpp                       ciMethod.hpp
+sharkCompiler.hpp                       compileBroker.hpp
 sharkCompiler.hpp                       llvmHeaders.hpp
 sharkCompiler.hpp                       sharkMemoryManager.hpp
 
+sharkContext.cpp                        arrayOop.hpp
+sharkContext.cpp                        globalDefinitions.hpp
+sharkContext.cpp                        llvmHeaders.hpp
+sharkContext.cpp                        oop.hpp
+sharkContext.cpp                        sharkContext.hpp
+
+sharkContext.hpp                        llvmHeaders.hpp
+sharkContext.hpp                        sharkCompiler.hpp
+
+sharkConstant.cpp                       ciInstance.hpp
 sharkConstant.cpp                       ciStreams.hpp
 sharkConstant.cpp                       sharkBuilder.hpp
 sharkConstant.cpp                       sharkConstant.hpp
@@ -186,7 +204,9 @@ sharkFunction.hpp                       
 sharkFunction.hpp                       llvmHeaders.hpp
 sharkFunction.hpp                       llvmValue.hpp
 sharkFunction.hpp                       sharkBuilder.hpp
+sharkFunction.hpp                       sharkContext.hpp
 sharkFunction.hpp                       sharkInvariants.hpp
+sharkFunction.hpp                       sharkStack.hpp
 
 sharkInliner.cpp                        allocation.hpp
 sharkInliner.cpp                        bytecodes.hpp
@@ -229,8 +249,6 @@ sharkInvariants.hpp                     
 sharkInvariants.hpp                     dependencies.hpp
 sharkInvariants.hpp                     llvmHeaders.hpp
 sharkInvariants.hpp                     sharkBuilder.hpp
-sharkInvariants.hpp                     sharkCompiler.hpp
-sharkInvariants.hpp                     sharkMemoryManager.hpp
 
 sharkMemoryManager.hpp                  llvmHeaders.hpp
 sharkMemoryManager.hpp                  sharkEntry.hpp
@@ -238,6 +256,17 @@ sharkMemoryManager.cpp                  
 sharkMemoryManager.cpp                  llvmHeaders.hpp
 sharkMemoryManager.cpp                  sharkEntry.hpp
 sharkMemoryManager.cpp                  sharkMemoryManager.hpp
+
+sharkNativeWrapper.cpp                  llvmHeaders.hpp
+sharkNativeWrapper.cpp                  sharkNativeWrapper.hpp
+sharkNativeWrapper.cpp                  sharkType.hpp
+
+sharkNativeWrapper.hpp                  handles.hpp
+sharkNativeWrapper.hpp                  llvmHeaders.hpp
+sharkNativeWrapper.hpp                  sharkBuilder.hpp
+sharkNativeWrapper.hpp                  sharkContext.hpp
+sharkNativeWrapper.hpp                  sharkInvariants.hpp
+sharkNativeWrapper.hpp                  sharkStack.hpp
 
 sharkRuntime.cpp                        biasedLocking.hpp
 sharkRuntime.cpp                        deoptimization.hpp
@@ -248,8 +277,19 @@ sharkRuntime.cpp                        
 
 sharkRuntime.hpp                        allocation.hpp
 sharkRuntime.hpp                        llvmHeaders.hpp
+sharkRuntime.hpp                        llvmValue.hpp
 sharkRuntime.hpp                        klassOop.hpp
 sharkRuntime.hpp                        thread.hpp
+
+sharkStack.cpp                          llvmHeaders.hpp
+sharkStack.cpp                          sharkFunction.hpp
+sharkStack.cpp                          sharkNativeWrapper.hpp
+sharkStack.cpp                          sharkStack.hpp
+sharkStack.cpp                          sharkType.hpp
+
+sharkStack.hpp                          llvmHeaders.hpp
+sharkStack.hpp                          sharkInvariants.hpp
+sharkStack.hpp                          sharkType.hpp
 
 sharkState.cpp                          allocation.hpp
 sharkState.cpp                          ciType.hpp
@@ -279,6 +319,8 @@ sharkTopLevelBlock.cpp                  
 sharkTopLevelBlock.cpp                  allocation.hpp
 sharkTopLevelBlock.cpp                  bytecodes.hpp
 sharkTopLevelBlock.cpp                  ciField.hpp
+sharkTopLevelBlock.cpp                  ciInstance.hpp
+sharkTopLevelBlock.cpp                  ciObjArrayKlass.hpp
 sharkTopLevelBlock.cpp                  ciStreams.hpp
 sharkTopLevelBlock.cpp                  ciType.hpp
 sharkTopLevelBlock.cpp                  ciTypeFlow.hpp
@@ -307,17 +349,11 @@ sharkTopLevelBlock.hpp                  
 sharkTopLevelBlock.hpp                  sharkState.hpp
 sharkTopLevelBlock.hpp                  sharkValue.hpp
 
-sharkType.cpp                           arrayOop.hpp
-sharkType.cpp                           globalDefinitions.hpp
-sharkType.cpp                           llvmHeaders.hpp
-sharkType.cpp                           oop.hpp
-sharkType.cpp                           sharkEntry.hpp
-sharkType.cpp                           sharkType.hpp
-
 sharkType.hpp                           allocation.hpp
 sharkType.hpp                           ciType.hpp
 sharkType.hpp                           globalDefinitions.hpp
 sharkType.hpp                           llvmHeaders.hpp
+sharkType.hpp                           sharkContext.hpp
 
 sharkValue.cpp                          ciType.hpp
 sharkValue.cpp                          llvmHeaders.hpp
diff -r 9ccd1c960e63 -r ffc24070b575 ports/hotspot/src/share/vm/shark/llvmHeaders.hpp
--- a/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp	Mon Nov 09 13:07:15 2009 +0100
+++ b/ports/hotspot/src/share/vm/shark/llvmHeaders.hpp	Thu Nov 12 16:36:32 2009 +0100
@@ -32,16 +32,12 @@
 #include <llvm/DerivedTypes.h>
 #include <llvm/ExecutionEngine/ExecutionEngine.h>
 #include <llvm/Instructions.h>
-#if SHARK_LLVM_VERSION >= 26
 #include <llvm/LLVMContext.h>
-#endif
 #include <llvm/Module.h>
 #include <llvm/ModuleProvider.h>
 #include <llvm/Support/IRBuilder.h>
-#if SHARK_LLVM_VERSION >= 26
 #include <llvm/System/Threading.h>
 #include <llvm/Target/TargetSelect.h>
-#endif
 #include <llvm/Type.h>
 #include <llvm/ExecutionEngine/JITMemoryManager.h>
 #if SHARK_LLVM_VERSION < 27
diff -r 9ccd1c960e63 -r ffc24070b575 ports/hotspot/src/share/vm/shark/llvmValue.hpp
--- a/ports/hotspot/src/share/vm/shark/llvmValue.hpp	Mon Nov 09 13:07:15 2009 +0100
+++ b/ports/hotspot/src/share/vm/shark/llvmValue.hpp	Thu Nov 12 16:36:32 2009 +0100
@@ -39,33 +39,21 @@ class LLVMValue : public AllStatic {
   }
   static llvm::ConstantFP* jfloat_constant(jfloat value)
   {
-#if SHARK_LLVM_VERSION >= 26
-    return llvm::ConstantFP::get(llvm::getGlobalContext(), llvm::APFloat(value));
-#else
-    return llvm::ConstantFP::get(SharkType::jfloat_type(), value);
-#endif
+    return llvm::ConstantFP::get(SharkContext::current(), llvm::APFloat(value));
   }
   static llvm::ConstantFP* jdouble_constant(jdouble value)
   {
-#if SHARK_LLVM_VERSION >= 26
-    return llvm::ConstantFP::get(llvm::getGlobalContext(), llvm::APFloat(value));
-#else
-    return llvm::ConstantFP::get(SharkType::jdouble_type(), value);
-#endif
+    return llvm::ConstantFP::get(SharkContext::current(), llvm::APFloat(value));
   }
   static llvm::ConstantPointerNull* null()
   {
-    return llvm::ConstantPointerNull::get(SharkType::jobject_type());
+    return llvm::ConstantPointerNull::get(SharkType::oop_type());
   }
 
  public:
   static llvm::ConstantInt* bit_constant(int value)
   {
-#if SHARK_LLVM_VERSION >= 26
-    return llvm::ConstantInt::get(llvm::Type::getInt1Ty(llvm::getGlobalContext()), value, false);
-#else
-    return llvm::ConstantInt::get(llvm::Type::Int1Ty, value, false);
-#endif
+    return llvm::ConstantInt::get(SharkType::bit_type(), value, false);
   }
   static llvm::ConstantInt* intptr_constant(intptr_t value)
   {
diff -r 9ccd1c960e63 -r ffc24070b575 ports/hotspot/src/share/vm/shark/sharkBlock.cpp
--- a/ports/hotspot/src/share/vm/shark/sharkBlock.cpp	Mon Nov 09 13:07:15 2009 +0100
+++ b/ports/hotspot/src/share/vm/shark/sharkBlock.cpp	Thu Nov 12 16:36:32 2009 +0100
@@ -532,31 +532,19 @@ void SharkBlock::parse_bytecode(int star
       b = pop();
       a = pop();
       push(SharkValue::create_jfloat(
-#if SHARK_LLVM_VERSION >= 26
         builder()->CreateFAdd(a->jfloat_value(), b->jfloat_value())));
-#else
-        builder()->CreateAdd(a->jfloat_value(), b->jfloat_value())));
-#endif
       break;
     case Bytecodes::_fsub:
       b = pop();
       a = pop();
       push(SharkValue::create_jfloat(
-#if SHARK_LLVM_VERSION >= 26
         builder()->CreateFSub(a->jfloat_value(), b->jfloat_value())));
-#else



More information about the distro-pkg-dev mailing list