/hg/icedtea6: cppInterpreter_arm.S: Designate function labels as...

xranby at icedtea.classpath.org xranby at icedtea.classpath.org
Thu Nov 3 05:52:09 PDT 2011


changeset f7f8d71c851c in /hg/icedtea6
details: http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=f7f8d71c851c
author: Xerxes Ranby <xerxes at zafena.se>
date: Thu Nov 03 14:12:53 2011 +0100

	cppInterpreter_arm.S: Designate function labels as such; required
	for thumb interworking.

	2011-11-03 Xerxes Ranby <xerxes at zafena.se>

	 * arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S
	(cmpxchg_ptr): Designate function label as such; required for
	thumb interworking. (asm_generate_method_entry,
	asm_check_null_ptr, Thumb2_Install Thumb2_stubs,
	Thumb2_idiv_stub, Thumb2_irem_stub,
	Thumb2_invokeinterface_stub, Thumb2_invokevirtual_stub,
	Thumb2_invokestatic_stub, Thumb2_invokespecial_stub,
	Thumb2_getfield_word_stub, Thumb2_getfield_sh_stub,
	Thumb2_getfield_h_stub, Thumb2_getfield_sb_stub,
	Thumb2_getfield_dw_stub, Thumb2_putfield_word_stub,
	Thumb2_putfield_h_stub, Thumb2_putfield_b_stub,
	Thumb2_putfield_a_stub, Thumb2_putfield_dw_stub,
	Thumb2_getstatic_word_stub, Thumb2_getstatic_h_stub,
	Thumb2_getstatic_sh_stub, Thumb2_getstatic_sb_stub,
	Thumb2_getstatic_dw_stub, Thumb2_putstatic_word_stub,
	Thumb2_putstatic_h_stub, Thumb2_putstatic_b_stub,
	Thumb2_putstatic_dw_stub, Thumb2_putstatic_a_stub,
	Thumb2_stubs_end, Thumb2_DivZero_Handler,
	Thumb2_Handle_Exception, Thumb2_Handle_Exception_NoRegs,
	Thumb2_ArrayBounds_Handler, Thumb2_NullPtr_Handler,
	Thumb2_Stack_Overflow, Thumb2_Exit_To_Interpreter,
	Thumb2_Clear_Cache): Likewise.


diffstat:

 ChangeLog                                             |  25 ++++++++++
 arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S |  44 ++++++++++++++++++-
 2 files changed, 67 insertions(+), 2 deletions(-)

diffs (328 lines):

diff -r 6f61af32cc26 -r f7f8d71c851c ChangeLog
--- a/ChangeLog	Wed Nov 02 16:20:25 2011 +0000
+++ b/ChangeLog	Thu Nov 03 14:12:53 2011 +0100
@@ -1,3 +1,28 @@
+2011-11-03  Xerxes RÃ¥nby  <xerxes at zafena.se>
+
+	* arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S
+	(cmpxchg_ptr): Designate function label as such; required for
+	thumb interworking.
+	(asm_generate_method_entry, asm_check_null_ptr, Thumb2_Install
+	Thumb2_stubs, Thumb2_idiv_stub, Thumb2_irem_stub,
+	Thumb2_invokeinterface_stub, Thumb2_invokevirtual_stub,
+	Thumb2_invokestatic_stub, Thumb2_invokespecial_stub,
+	Thumb2_getfield_word_stub, Thumb2_getfield_sh_stub,
+	Thumb2_getfield_h_stub, Thumb2_getfield_sb_stub,
+	Thumb2_getfield_dw_stub, Thumb2_putfield_word_stub,
+	Thumb2_putfield_h_stub, Thumb2_putfield_b_stub,
+	Thumb2_putfield_a_stub, Thumb2_putfield_dw_stub,
+	Thumb2_getstatic_word_stub, Thumb2_getstatic_h_stub,
+	Thumb2_getstatic_sh_stub, Thumb2_getstatic_sb_stub,
+	Thumb2_getstatic_dw_stub, Thumb2_putstatic_word_stub,
+	Thumb2_putstatic_h_stub, Thumb2_putstatic_b_stub,
+	Thumb2_putstatic_dw_stub, Thumb2_putstatic_a_stub,
+	Thumb2_stubs_end, Thumb2_DivZero_Handler,
+	Thumb2_Handle_Exception, Thumb2_Handle_Exception_NoRegs,
+	Thumb2_ArrayBounds_Handler, Thumb2_NullPtr_Handler,
+	Thumb2_Stack_Overflow, Thumb2_Exit_To_Interpreter,
+	Thumb2_Clear_Cache): Likewise.
+
 2011-11-02  Andrew Haley  <aph at redhat.com>
 
 	* openjdk-ecj/hotspot/src/cpu/zero/vm/thumb2.cpp (Thumb2_codegen):
diff -r 6f61af32cc26 -r f7f8d71c851c arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S
--- a/arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S	Wed Nov 02 16:20:25 2011 +0000
+++ b/arm_port/hotspot/src/cpu/zero/vm/cppInterpreter_arm.S	Thu Nov 03 14:12:53 2011 +0100
@@ -595,6 +595,7 @@
 	.text
 
 	.global	cmpxchg_ptr
+	.type cmpxchg_ptr, %function
 cmpxchg_ptr:
 	stmfd	sp!, {r4, r5, r6, r7, r8, lr}
 	mov	r6, #0xffffffc0
@@ -701,6 +702,7 @@
 
 	ALIGN_CODE
 	.global	asm_generate_method_entry
+	.type asm_generate_method_entry, %function
 asm_generate_method_entry:
 	mov	r3, r0
 	mov	r0, #0
@@ -783,6 +785,7 @@
 @ ---- START execute.s ---------------------------------------------------------------------
 
 	.global	asm_check_null_ptr
+	.type asm_check_null_ptr, %function
 asm_check_null_ptr:
 
 #ifdef HW_NULL_PTR_CHECK
@@ -3222,6 +3225,7 @@
 
 #endif // USE_COMPILER
 	.global	Thumb2_Install
+	.type Thumb2_Install, %function
 Thumb2_Install:
 @	ldr	r0, [r0]
 	str	r1, [r0, #METHOD_FROM_INTERPRETED]
@@ -4856,8 +4860,10 @@
 
 	ALIGN_CODE
 	.global	Thumb2_stubs
+	.type Thumb2_stubs, %function
 Thumb2_stubs:
 	.global	Thumb2_idiv_stub
+	.type Thumb2_idiv_stub, %function
 Thumb2_idiv_stub:
 int_div:
 	cmp     r1, #0x21
@@ -5032,6 +5038,7 @@
 	.word	jdiv_32
 	ALIGN_CODE
 	.global	Thumb2_irem_stub
+	.type Thumb2_irem_stub, %function
 Thumb2_irem_stub:
 int_rem:
 	cmp     r1, #0x21
@@ -5172,6 +5179,7 @@
 @ R1 = index
 #define Rthread	r9
 	.global	Thumb2_invokeinterface_stub
+	.type Thumb2_invokeinterface_stub, %function
 Thumb2_invokeinterface_stub:
 	stmdb	sp!, {ip, lr}
 	ldr	ip, [istate, #ISTATE_METHOD]
@@ -5315,6 +5323,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_invokevirtual_stub
+	.type Thumb2_invokevirtual_stub, %function
 Thumb2_invokevirtual_stub:
 	stmdb	sp!, {ip, lr}
         ldr     ip, [istate, #ISTATE_METHOD]
@@ -5399,6 +5408,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_invokestatic_stub
+	.type Thumb2_invokestatic_stub, %function
 Thumb2_invokestatic_stub:
         stmdb   sp!, {ip, lr}
         ldr     ip, [istate, #ISTATE_METHOD]
@@ -5469,6 +5479,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_invokespecial_stub
+	.type Thumb2_invokespecial_stub, %function
 Thumb2_invokespecial_stub:
         stmdb   sp!, {ip, lr}
         ldr     ip, [istate, #ISTATE_METHOD]
@@ -5542,6 +5553,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_getfield_word_stub
+	.type Thumb2_getfield_word_stub, %function
 Thumb2_getfield_word_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5567,6 +5579,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_getfield_sh_stub
+	.type Thumb2_getfield_sh_stub, %function
 Thumb2_getfield_sh_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5592,6 +5605,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_getfield_h_stub
+	.type Thumb2_getfield_h_stub, %function
 Thumb2_getfield_h_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5617,6 +5631,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_getfield_sb_stub
+	.type Thumb2_getfield_sb_stub, %function
 Thumb2_getfield_sb_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5642,6 +5657,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_getfield_dw_stub
+	.type Thumb2_getfield_dw_stub, %function
 Thumb2_getfield_dw_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5712,6 +5728,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_putfield_word_stub
+	.type Thumb2_putfield_word_stub, %function
 Thumb2_putfield_word_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5734,6 +5751,7 @@
 	b	2b
 
 	.global	Thumb2_putfield_h_stub
+	.type Thumb2_putfield_h_stub, %function
 Thumb2_putfield_h_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5756,6 +5774,7 @@
 	b	2b
 
 	.global	Thumb2_putfield_b_stub
+	.type Thumb2_putfield_b_stub, %function
 Thumb2_putfield_b_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5778,6 +5797,7 @@
 	b	2b
 
 	.global	Thumb2_putfield_a_stub
+	.type Thumb2_putfield_a_stub, %function
 Thumb2_putfield_a_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5802,6 +5822,7 @@
 	b	2b
 
 	.global	Thumb2_putfield_dw_stub
+	.type Thumb2_putfield_dw_stub, %function
 Thumb2_putfield_dw_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5826,6 +5847,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_getstatic_word_stub
+	.type Thumb2_getstatic_word_stub, %function
 Thumb2_getstatic_word_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5847,6 +5869,7 @@
 	b	2b
 
 	.global	Thumb2_getstatic_h_stub
+	.type Thumb2_getstatic_h_stub, %function
 Thumb2_getstatic_h_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5868,6 +5891,7 @@
 	b	2b
 
 	.global	Thumb2_getstatic_sh_stub
+	.type Thumb2_getstatic_sh_stub, %function
 Thumb2_getstatic_sh_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5889,6 +5913,7 @@
 	b	2b
 
 	.global	Thumb2_getstatic_sb_stub
+	.type Thumb2_getstatic_sb_stub, %function
 Thumb2_getstatic_sb_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5910,6 +5935,7 @@
 	b	2b
 
 	.global	Thumb2_getstatic_dw_stub
+	.type Thumb2_getstatic_dw_stub, %function
 Thumb2_getstatic_dw_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5933,6 +5959,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_putstatic_word_stub
+	.type Thumb2_putstatic_word_stub, %function
 Thumb2_putstatic_word_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5956,6 +5983,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_putstatic_h_stub
+	.type Thumb2_putstatic_h_stub, %function
 Thumb2_putstatic_h_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -5979,6 +6007,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_putstatic_b_stub
+	.type Thumb2_putstatic_b_stub, %function
 Thumb2_putstatic_b_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -6002,6 +6031,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_putstatic_dw_stub
+	.type Thumb2_putstatic_dw_stub, %function
 Thumb2_putstatic_dw_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -6025,6 +6055,7 @@
 @ R0 = BCI
 @ R1 = index
 	.global	Thumb2_putstatic_a_stub
+	.type Thumb2_putstatic_a_stub, %function
 Thumb2_putstatic_a_stub:
 	ldr	r2, [istate, #ISTATE_CONSTANTS]
 	add	r2, r2, r1, lsl #4
@@ -6050,6 +6081,7 @@
 #endif // THUMB2EE
 
 	.global	Thumb2_stubs_end
+	.type Thumb2_stubs_end, %function
 Thumb2_stubs_end:
 
 	ALIGN_CODE
@@ -6510,6 +6542,7 @@
 #define TBIT 1
 
 	.global	Thumb2_DivZero_Handler
+	.type Thumb2_DivZero_Handler, %function
 Thumb2_DivZero_Handler:
 #ifdef THUMB2EE
 
@@ -6546,10 +6579,15 @@
 #ifdef THUMB2EE
 
 	.global	Thumb2_Handle_Exception
+	.type Thumb2_Handle_Exception, %function
 	.global	Thumb2_Handle_Exception_NoRegs
-	.global	Thumb2_ArrayBounds_Handler
-	.global	Thumb2_NullPtr_Handler
+	.type Thumb2_Handle_Exception_NoRegs, %function
+	.global Thumb2_ArrayBounds_Handler
+	.type Thumb2_ArrayBounds_Handler, %function
+	.global Thumb2_NullPtr_Handler
+	.type Thumb2_NullPtr_Handler, %function
 	.global Thumb2_Stack_Overflow
+	.type Thumb2_Stack_Overflow, %function
 Thumb2_ArrayBounds_Handler:
 	stmdb	sp!, {JAZ_REGSET}
 	bic	r0, lr, #TBIT
@@ -6622,6 +6660,7 @@
 	ldmfd	arm_sp!, {fast_regset, pc}
 
 	.global	Thumb2_Exit_To_Interpreter
+	.type Thumb2_Exit_To_Interpreter, %function
 Thumb2_Exit_To_Interpreter:
 	bl	load_dispatch
 	sub	stack, stack, #4
@@ -6630,6 +6669,7 @@
 	DISPATCH	0
 
 	.global	Thumb2_Clear_Cache
+	.type Thumb2_Clear_Cache, %function
 Thumb2_Clear_Cache:
 	stmdb	sp!, {r7}
 	mov	r2, #0



More information about the distro-pkg-dev mailing list