From liuqi at loongson.cn Thu Dec 2 00:37:50 2010 From: liuqi at loongson.cn (LIU Qi) Date: Thu, 2 Dec 2010 16:37:50 +0800 Subject: [liuqi@icedtea.classpath.org: /hg/openjdk6-mips: 4 new changesets] Message-ID: <20101202083750.GA16984@loongson.cn> ----- Forwarded message from liuqi at icedtea.classpath.org ----- Date: Thu, 02 Dec 2010 07:12:17 +0000 From: liuqi at icedtea.classpath.org To: distro-pkg-dev at openjdk.java.net Subject: /hg/openjdk6-mips: 4 new changesets changeset 75473a9073f5 in /hg/openjdk6-mips details: http://icedtea.classpath.org/hg/openjdk6-mips?cmd=changeset;node=75473a9073f5 author: Ao Qi date: Wed Dec 01 17:12:39 2010 +0800 Fix bugs occurred when adding -XX:+VerifyOops. Array length should not be stored in a register of oop type. changeset dd1d79f9798b in /hg/openjdk6-mips details: http://icedtea.classpath.org/hg/openjdk6-mips?cmd=changeset;node=dd1d79f9798b author: Ao Qi date: Wed Dec 01 17:39:16 2010 +0800 Fix deoptimization bugs. Fix bugs of exception_offset and reexecute_offset entries, and of saving return value into registers. changeset 18922e417eb4 in /hg/openjdk6-mips details: http://icedtea.classpath.org/hg/openjdk6-mips?cmd=changeset;node=18922e417eb4 author: Ao Qi date: Wed Dec 01 17:47:08 2010 +0800 Fix bugs in reg2mem and mem2reg of T_LONG & needs_patching cases. changeset 15f398a44411 in /hg/openjdk6-mips details: http://icedtea.classpath.org/hg/openjdk6-mips?cmd=changeset;node=15f398a44411 author: Ao Qi date: Wed Dec 01 17:08:35 2010 +0800 Fix verify_oop bug. When verify oop in A0, A0 would be coverd by b. diffstat: 4 files changed, 361 insertions(+), 368 deletions(-) hotspot/src/cpu/mips/vm/assembler_mips.cpp | 2 hotspot/src/cpu/mips/vm/c1_LIRAssembler_mips.cpp | 675 +++++++++++----------- hotspot/src/cpu/mips/vm/c1_LIRGenerator_mips.cpp | 4 hotspot/src/cpu/mips/vm/sharedRuntime_mips.cpp | 48 - diffs (truncated from 897 to 500 lines): diff -r 9fdc8715b0a2 -r 15f398a44411 hotspot/src/cpu/mips/vm/assembler_mips.cpp --- a/hotspot/src/cpu/mips/vm/assembler_mips.cpp Fri Nov 26 12:00:58 2010 +0800 +++ b/hotspot/src/cpu/mips/vm/assembler_mips.cpp Wed Dec 01 17:08:35 2010 +0800 @@ -2069,8 +2069,8 @@ void MacroAssembler::verify_oop(Register sw(AT, SP ,- 6*wordSize); sw(T9, SP ,- 7*wordSize); addiu(SP, SP, - 7 * wordSize); + move(A1, reg); move(A0, (int)b); - move(A1, reg); // call indirectly to solve generation ordering problem move(AT, (int)StubRoutines::verify_oop_subroutine_entry_address()); lw(T9, AT, 0); diff -r 9fdc8715b0a2 -r 15f398a44411 hotspot/src/cpu/mips/vm/c1_LIRAssembler_mips.cpp --- a/hotspot/src/cpu/mips/vm/c1_LIRAssembler_mips.cpp Fri Nov 26 12:00:58 2010 +0800 +++ b/hotspot/src/cpu/mips/vm/c1_LIRAssembler_mips.cpp Wed Dec 01 17:08:35 2010 +0800 @@ -432,7 +432,7 @@ void LIR_Assembler::emit_deopt_handler() #endif // ASSERT compilation()->offsets()->set_value(CodeOffsets::Deopt, code_offset()); - + __ call(SharedRuntime::deopt_blob()->unpack()); __ delayed()->nop(); @@ -811,156 +811,155 @@ void LIR_Assembler::reg2mem(LIR_Opr src, void LIR_Assembler::reg2mem(LIR_Opr src, LIR_Opr dest, BasicType type, LIR_PatchCode patch_code, CodeEmitInfo* info,bool pop_fpu_stack, bool/*unaliged*/) { LIR_Address* to_addr = dest->as_address_ptr(); Register dest_reg = to_addr->base()->as_register(); - PatchingStub* patch = NULL; - bool needs_patching = (patch_code != lir_patch_none); + PatchingStub* patch = NULL; + bool needs_patching = (patch_code != lir_patch_none); Register disp_reg = NOREG; - int disp_value = to_addr->disp(); - - if (type == T_ARRAY || type == T_OBJECT) { + int disp_value = to_addr->disp(); + + if (type == T_ARRAY || type == T_OBJECT) { __ verify_oop(src->as_register()); } - if (needs_patching) { - patch = new PatchingStub(_masm, PatchingStub::access_field_id); - assert(!src->is_double_cpu() || - patch_code == lir_patch_none || - patch_code == lir_patch_normal, - "patching doesn't match register"); - } - - if (info != NULL) { - add_debug_info_for_null_check_here(info); - } - if (needs_patching) { - disp_reg = AT; - __ lui(AT, Assembler::split_high(disp_value)); - __ addiu(AT, AT, Assembler::split_low(disp_value)); - } else if (!Assembler::is_simm16(disp_value)) { - disp_reg = AT; - __ lui(AT, Assembler::split_high(disp_value)); - } - int offset = code_offset(); - - switch(type) { - case T_DOUBLE: - assert(src->is_double_fpu(), "just check"); - if (disp_reg == noreg) { - __ swc1(src->as_double_reg(), dest_reg, disp_value); - __ swc1(src->as_double_reg()+1, dest_reg, disp_value+4); - } else if (needs_patching) { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ swc1(src->as_double_reg(), AT, 0); - __ swc1(src->as_double_reg()+1, AT, 4); - } else { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ swc1(src->as_double_reg(), AT, Assembler::split_low(disp_value)); - __ swc1(src->as_double_reg()+1, AT, Assembler::split_low(disp_value) + 4); - } - break; - - case T_FLOAT: - // assert(src->is_single_cpu(), "just check"); - - if (disp_reg == noreg) { - __ swc1(src->as_float_reg(), dest_reg, disp_value); - } else if(needs_patching) { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ swc1(src->as_float_reg(), AT, 0); - } else { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ swc1(src->as_float_reg(), AT, Assembler::split_low(disp_value)); - } - break; - - case T_LONG: { - Register from_lo = src->as_register_lo(); - Register from_hi = src->as_register_hi(); - Register base = to_addr->base()->as_register(); - Register index = noreg; - if (to_addr->index()->is_register()) { - index = to_addr->index()->as_register(); - } - if (base == from_lo || index == from_lo) { - assert(base != from_hi, "can't be"); - assert(index == noreg || (index != base && index != from_hi), "can't handle this"); - __ sw(from_hi,as_Address_hi(to_addr)); - if (patch != NULL) { - patching_epilog(patch, lir_patch_high, base, info); - patch = new PatchingStub(_masm, PatchingStub::access_field_id); - patch_code = lir_patch_low; - } - __ sw(from_lo,as_Address_lo(to_addr)); - } else { - assert(index == noreg || (index != base && index != from_lo), "can't handle this"); - __ sw(from_lo,as_Address_lo(to_addr)); - if (patch != NULL) { - patching_epilog(patch, lir_patch_low, base, info); - patch = new PatchingStub(_masm, PatchingStub::access_field_id); - patch_code = lir_patch_high; - } - __ sw(from_hi,as_Address_hi(to_addr)); - } - break; - } - case T_ADDRESS: - case T_ARRAY: - case T_OBJECT: - case T_INT: - //assert(from_reg.is_word(), "just check"); - if (disp_reg == noreg) { - __ sw(src->as_register(), dest_reg, disp_value); - } else if (needs_patching) { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ sw(src->as_register(), AT, 0); - } else { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ sw(src->as_register(), AT, Assembler::split_low(disp_value)); - } - break; - - case T_CHAR: - case T_SHORT: -// assert(from_reg.is_word(), "just check"); - - if (disp_reg == noreg) { - __ sh(src->as_register(), dest_reg, disp_value); - } else if (needs_patching) { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ sh(src->as_register(), AT, 0); - } else { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ sh(src->as_register(), AT, Assembler::split_low(disp_value)); - } - break; - - case T_BYTE: - case T_BOOLEAN: - assert(src->is_single_cpu(), "just check"); - - if (disp_reg == noreg) { - __ sb(src->as_register(), dest_reg, disp_value); - } else if (needs_patching) { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ sb(src->as_register(), AT, 0); - } else { - __ add(AT, dest_reg, disp_reg); - offset = code_offset(); - __ sb(src->as_register(), AT, Assembler::split_low(disp_value)); - } - break; - - default: - ShouldNotReachHere(); - } + if (needs_patching) { + patch = new PatchingStub(_masm, PatchingStub::access_field_id); + assert(!src->is_double_cpu() || + patch_code == lir_patch_none || + patch_code == lir_patch_normal, + "patching doesn't match register"); + } + + if (info != NULL) { + add_debug_info_for_null_check_here(info); + } + if (needs_patching) { + disp_reg = AT; + __ lui(AT, Assembler::split_high(disp_value)); + __ addiu(AT, AT, Assembler::split_low(disp_value)); + } else if (!Assembler::is_simm16(disp_value)) { + disp_reg = AT; + __ lui(AT, Assembler::split_high(disp_value)); + } + int offset = code_offset(); + + switch(type) { + case T_DOUBLE: + assert(src->is_double_fpu(), "just check"); + if (disp_reg == noreg) { + __ swc1(src->as_double_reg(), dest_reg, disp_value); + __ swc1(src->as_double_reg()+1, dest_reg, disp_value+4); + } else if (needs_patching) { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ swc1(src->as_double_reg(), AT, 0); + __ swc1(src->as_double_reg()+1, AT, 4); + } else { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ swc1(src->as_double_reg(), AT, Assembler::split_low(disp_value)); + __ swc1(src->as_double_reg()+1, AT, Assembler::split_low(disp_value) + 4); + } + break; + + case T_FLOAT: + if (disp_reg == noreg) { + __ swc1(src->as_float_reg(), dest_reg, disp_value); + } else if(needs_patching) { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ swc1(src->as_float_reg(), AT, 0); + } else { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ swc1(src->as_float_reg(), AT, Assembler::split_low(disp_value)); + } + break; + + case T_LONG: { + Register from_lo = src->as_register_lo(); + Register from_hi = src->as_register_hi(); + Register base = to_addr->base()->as_register(); + Register index = noreg; + if (to_addr->index()->is_register()) { + index = to_addr->index()->as_register(); + } + if (base == from_lo || index == from_lo) { + assert(base != from_hi, "can't be"); + assert(index == noreg || (index != base && index != from_hi), "can't handle this"); + if (needs_patching) { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ sw(from_hi,AT, longSize/2); + __ sw(from_lo, AT, 0); + } else { + __ sw(from_hi,as_Address_hi(to_addr)); + __ sw(from_lo,as_Address_lo(to_addr)); + } + } else { + assert(index == noreg || (index != base && index != from_lo), "can't handle this"); + if (needs_patching) { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ sw(from_lo,AT, 0); + __ sw(from_hi, AT, longSize/2); + } else { + __ sw(from_lo,as_Address_lo(to_addr)); + __ sw(from_hi,as_Address_hi(to_addr)); + } + } + break; + } + case T_ADDRESS: + case T_ARRAY: + case T_OBJECT: + case T_INT: + if (disp_reg == noreg) { + __ sw(src->as_register(), dest_reg, disp_value); + } else if (needs_patching) { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ sw(src->as_register(), AT, 0); + } else { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ sw(src->as_register(), AT, Assembler::split_low(disp_value)); + } + break; + + case T_CHAR: + case T_SHORT: + if (disp_reg == noreg) { + __ sh(src->as_register(), dest_reg, disp_value); + } else if (needs_patching) { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ sh(src->as_register(), AT, 0); + } else { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ sh(src->as_register(), AT, Assembler::split_low(disp_value)); + } + break; + + case T_BYTE: + case T_BOOLEAN: + assert(src->is_single_cpu(), "just check"); + + if (disp_reg == noreg) { + __ sb(src->as_register(), dest_reg, disp_value); + } else if (needs_patching) { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ sb(src->as_register(), AT, 0); + } else { + __ add(AT, dest_reg, disp_reg); + offset = code_offset(); + __ sb(src->as_register(), AT, Assembler::split_low(disp_value)); + } + break; + + default: + ShouldNotReachHere(); + } if (needs_patching) { patching_epilog(patch, patch_code, to_addr->base()->as_register(), info); @@ -970,32 +969,32 @@ void LIR_Assembler::reg2mem(LIR_Opr src, void LIR_Assembler::stack2reg(LIR_Opr src, LIR_Opr dest, BasicType type) { - assert(src->is_stack(), "should not call otherwise"); + assert(src->is_stack(), "should not call otherwise"); assert(dest->is_register(), "should not call otherwise"); - if (dest->is_single_cpu()) { + if (dest->is_single_cpu()) { __ lw(dest->as_register(), frame_map()->address_for_slot(src->single_stack_ix())); if (type == T_ARRAY || type == T_OBJECT) { __ verify_oop(dest->as_register()); } - } else if (dest->is_double_cpu()) { - Address src_addr_LO = frame_map()->address_for_slot(src->double_stack_ix(),lo_word_offset_in_bytes); - Address src_addr_HI = frame_map()->address_for_slot(src->double_stack_ix(), hi_word_offset_in_bytes); - __ lw(dest->as_register_lo(), src_addr_LO); - __ lw(dest->as_register_hi(), src_addr_HI); - }else if (dest->is_single_fpu()) { - Address addr = frame_map()->address_for_slot(src->single_stack_ix()); - __ lwc1(dest->as_float_reg(), addr); - } else if (dest->is_double_fpu()) { - Address src_addr_LO = frame_map()->address_for_slot(src->double_stack_ix(),lo_word_offset_in_bytes); - Address src_addr_HI = frame_map()->address_for_slot(src->double_stack_ix(), hi_word_offset_in_bytes); - __ lwc1(dest->as_double_reg(), src_addr_LO); - __ lwc1(dest->as_double_reg()+1, src_addr_HI); - } else { - assert(dest->is_single_cpu(), "cannot be anything else but a single cpu"); - assert(type!= T_ILLEGAL, "Bad type in stack2reg") - Address addr = frame_map()->address_for_slot(src->single_stack_ix()); - __ lw(dest->as_register(), addr); - } + } else if (dest->is_double_cpu()) { + Address src_addr_LO = frame_map()->address_for_slot(src->double_stack_ix(),lo_word_offset_in_bytes); + Address src_addr_HI = frame_map()->address_for_slot(src->double_stack_ix(), hi_word_offset_in_bytes); + __ lw(dest->as_register_lo(), src_addr_LO); + __ lw(dest->as_register_hi(), src_addr_HI); + }else if (dest->is_single_fpu()) { + Address addr = frame_map()->address_for_slot(src->single_stack_ix()); + __ lwc1(dest->as_float_reg(), addr); + } else if (dest->is_double_fpu()) { + Address src_addr_LO = frame_map()->address_for_slot(src->double_stack_ix(),lo_word_offset_in_bytes); + Address src_addr_HI = frame_map()->address_for_slot(src->double_stack_ix(), hi_word_offset_in_bytes); + __ lwc1(dest->as_double_reg(), src_addr_LO); + __ lwc1(dest->as_double_reg()+1, src_addr_HI); + } else { + assert(dest->is_single_cpu(), "cannot be anything else but a single cpu"); + assert(type!= T_ILLEGAL, "Bad type in stack2reg") + Address addr = frame_map()->address_for_slot(src->single_stack_ix()); + __ lw(dest->as_register(), addr); + } } void LIR_Assembler::stack2stack(LIR_Opr src, LIR_Opr dest, BasicType type) { @@ -1016,189 +1015,193 @@ void LIR_Assembler::stack2stack(LIR_Opr // if patching needed, be sure the instruction at offset is a MoveMemReg void LIR_Assembler::mem2reg(LIR_Opr src, LIR_Opr dest, BasicType type, LIR_PatchCode patch_code, CodeEmitInfo* info, bool) { - assert(src->is_address(), "should not call otherwise"); + assert(src->is_address(), "should not call otherwise"); assert(dest->is_register(), "should not call otherwise"); LIR_Address* addr = src->as_address_ptr(); Address from_addr = as_Address(addr); - - Register src_reg = addr->base()->as_register(); - Register disp_reg = noreg; - int disp_value = addr->disp(); - bool needs_patching = (patch_code != lir_patch_none); - - PatchingStub* patch = NULL; - if (needs_patching) { - patch = new PatchingStub(_masm, PatchingStub::access_field_id); -// assert(!to_reg.is_long() || patch_code == LIR_Op1::patch_low || patch_code == LIR_Op1::patch_high, "patching doesn't match register"); - } - - // we must use lui&addiu, - if (needs_patching) { - disp_reg = AT; - __ lui(AT, Assembler::split_high(disp_value)); - __ addiu(AT, AT, Assembler::split_low(disp_value)); - } else if (!Assembler::is_simm16(disp_value)) { - disp_reg = AT; - __ lui(AT, Assembler::split_high(disp_value)); - } - - // remember the offset of the load. The patching_epilog must be done - // before the call to add_debug_info, otherwise the PcDescs don't get - // entered in increasing order. - int offset = code_offset(); - - switch(type) { + + Register src_reg = addr->base()->as_register(); + Register disp_reg = noreg; + int disp_value = addr->disp(); + bool needs_patching = (patch_code != lir_patch_none); + + PatchingStub* patch = NULL; + if (needs_patching) { + patch = new PatchingStub(_masm, PatchingStub::access_field_id); + } + + // we must use lui&addiu, + if (needs_patching) { + disp_reg = AT; + __ lui(AT, Assembler::split_high(disp_value)); + __ addiu(AT, AT, Assembler::split_low(disp_value)); + } else if (!Assembler::is_simm16(disp_value)) { + disp_reg = AT; + __ lui(AT, Assembler::split_high(disp_value)); + } + + // remember the offset of the load. The patching_epilog must be done + // before the call to add_debug_info, otherwise the PcDescs don't get + // entered in increasing order. + int offset = code_offset(); + + switch(type) { case T_BOOLEAN: case T_BYTE: { - //assert(to_reg.is_word(), "just check"); - if (disp_reg == noreg) { - __ lb(dest->as_register(), src_reg, disp_value); - } else if (needs_patching) { - __ add(AT, src_reg, disp_reg); - offset = code_offset(); - __ lb(dest->as_register(), AT, 0); - } else { - __ add(AT, src_reg, disp_reg); - offset = code_offset(); - __ lb(dest->as_register(), AT, Assembler::split_low(disp_value)); - } - } - break; - + //assert(to_reg.is_word(), "just check"); + if (disp_reg == noreg) { + __ lb(dest->as_register(), src_reg, disp_value); + } else if (needs_patching) { + __ add(AT, src_reg, disp_reg); + offset = code_offset(); + __ lb(dest->as_register(), AT, 0); + } else { + __ add(AT, src_reg, disp_reg); + offset = code_offset(); + __ lb(dest->as_register(), AT, Assembler::split_low(disp_value)); + } + } + break; + case T_CHAR: { - //assert(to_reg.is_word(), "just check"); - if (disp_reg == noreg) { - __ lhu(dest->as_register(), src_reg, disp_value); - } else if (needs_patching) { - __ add(AT, src_reg, disp_reg); - offset = code_offset(); - __ lhu(dest->as_register(), AT, 0); - } else { - __ add(AT, src_reg, disp_reg); - offset = code_offset(); - __ lhu(dest->as_register(), AT, Assembler::split_low(disp_value)); - } - } - break; - + //assert(to_reg.is_word(), "just check"); + if (disp_reg == noreg) { + __ lhu(dest->as_register(), src_reg, disp_value); + } else if (needs_patching) { + __ add(AT, src_reg, disp_reg); + offset = code_offset(); + __ lhu(dest->as_register(), AT, 0); ----- End forwarded message ----- -- LIU Qi liuqi at loongson.cn liuqi82 at gmail.com Loongson Technology Co. Ltd. PGP Key fingerprint: 3D29 FDFD AFB3 225D B744 7FAB 51C7 4820 63BA 272F From liuqi at loongson.cn Mon Dec 6 17:26:12 2010 From: liuqi at loongson.cn (LIU Qi) Date: Tue, 7 Dec 2010 09:26:12 +0800 Subject: [liuqi@icedtea.classpath.org: /hg/openjdk6-mips: Fix a simple bug.] Message-ID: <20101207012612.GA3904@loongson.cn> ----- Forwarded message from liuqi at icedtea.classpath.org ----- Date: Tue, 07 Dec 2010 01:19:29 +0000 From: liuqi at icedtea.classpath.org To: distro-pkg-dev at openjdk.java.net Subject: /hg/openjdk6-mips: Fix a simple bug. changeset 4bd942efa7de in /hg/openjdk6-mips details: http://icedtea.classpath.org/hg/openjdk6-mips?cmd=changeset;node=4bd942efa7de author: Ao Qi date: Mon Dec 06 13:25:11 2010 +0800 Fix a simple bug. diffstat: 1 file changed, 1 deletion(-) hotspot/src/cpu/mips/vm/c1_LIRAssembler_mips.cpp | 1 - diffs (11 lines): diff -r 15f398a44411 -r 4bd942efa7de hotspot/src/cpu/mips/vm/c1_LIRAssembler_mips.cpp --- a/hotspot/src/cpu/mips/vm/c1_LIRAssembler_mips.cpp Wed Dec 01 17:08:35 2010 +0800 +++ b/hotspot/src/cpu/mips/vm/c1_LIRAssembler_mips.cpp Mon Dec 06 13:25:11 2010 +0800 @@ -1147,7 +1147,6 @@ void LIR_Assembler::mem2reg(LIR_Opr src, __ add(AT, src_reg, disp_reg); offset = code_offset(); __ lw(to_lo, AT, 0); - } __ lw(to_hi, AT, longSize/2); } else { __ lw(to_lo, as_Address_lo(addr)); ----- End forwarded message ----- -- LIU Qi liuqi at loongson.cn liuqi82 at gmail.com Loongson Technology Co. Ltd. PGP Key fingerprint: 3D29 FDFD AFB3 225D B744 7FAB 51C7 4820 63BA 272F From liuqi at loongson.cn Sun Dec 12 17:53:28 2010 From: liuqi at loongson.cn (LIU Qi) Date: Mon, 13 Dec 2010 09:53:28 +0800 Subject: [liuqi@icedtea.classpath.org: /hg/openjdk6-mips: 2 new changesets] Message-ID: <20101213015328.GB8557@loongson.cn> ----- Forwarded message from liuqi at icedtea.classpath.org ----- Date: Mon, 13 Dec 2010 01:47:47 +0000 From: liuqi at icedtea.classpath.org To: distro-pkg-dev at openjdk.java.net Subject: /hg/openjdk6-mips: 2 new changesets changeset 7d01189d02d7 in /hg/openjdk6-mips details: http://icedtea.classpath.org/hg/openjdk6-mips?cmd=changeset;node=7d01189d02d7 author: Ao Qi date: Mon Dec 13 08:40:39 2010 +0800 Chinese font display support on Debian. changeset 76218a369227 in /hg/openjdk6-mips details: http://icedtea.classpath.org/hg/openjdk6-mips?cmd=changeset;node=76218a369227 author: Ao Qi date: Tue Nov 30 10:23:02 2010 +0800 Disable output in JVM_handle_linux_signal with the product version. diffstat: 3 files changed, 238 insertions(+), 1 deletion(-) hotspot/src/os_cpu/linux_mips/vm/os_linux_mips.cpp | 50 ++ jdk/make/sun/awt/Makefile | 1 jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Debian.properties | 188 ++++++++++ diffs (420 lines): diff -r 4bd942efa7de -r 76218a369227 hotspot/src/os_cpu/linux_mips/vm/os_linux_mips.cpp --- a/hotspot/src/os_cpu/linux_mips/vm/os_linux_mips.cpp Mon Dec 06 13:25:11 2010 +0800 +++ b/hotspot/src/os_cpu/linux_mips/vm/os_linux_mips.cpp Tue Nov 30 10:23:02 2010 +0800 @@ -184,6 +184,7 @@ JVM_handle_linux_signal(int sig, siginfo_t* info, void* ucVoid, int abort_if_unrecognized) { +#ifndef PRODUCT tty->print_cr("signal infomation:\n\ signo = %x, \n\ sicode = %x, \n\ @@ -193,6 +194,7 @@ JVM_handle_linux_signal(int sig, info->si_code, info->si_errno, info->si_addr); +#endif ucontext_t* uc = (ucontext_t*) ucVoid; @@ -225,11 +227,15 @@ JVM_handle_linux_signal(int sig, if (os::Linux::signal_handlers_are_installed) { if (t != NULL ){ if(t->is_Java_thread()) { +#ifndef PRODUCT tty->print_cr("this thread is a java thread\n"); +#endif thread = (JavaThread*)t; } else if(t->is_VM_thread()){ +#ifndef PRODUCT tty->print_cr("this thread is a VM thread\n"); +#endif vmthread = (VMThread *)t; } } @@ -240,7 +246,9 @@ JVM_handle_linux_signal(int sig, address pc = NULL; pc = (address) os::Linux::ucontext_get_pc(uc); +#ifndef PRODUCT tty->print_cr("pc=%x", pc); +#endif //%note os_trap_1 if (info != NULL && uc != NULL && thread != NULL) { pc = (address) os::Linux::ucontext_get_pc(uc); @@ -248,41 +256,57 @@ JVM_handle_linux_signal(int sig, if (sig == SIGSEGV) { address addr = (address) info->si_addr; // check if fault address is within thread stack +#ifndef PRODUCT printf("handle all stack overflow variations\n"); printf("addr = %x, stack base = %x, stack top = %x\n", addr, thread->stack_base(), thread->stack_base() - thread->stack_size()); +#endif if (addr < thread->stack_base() && addr >= thread->stack_base() - thread->stack_size()) { // stack overflow +#ifndef PRODUCT printf("stack exception check \n"); +#endif if (thread->in_stack_yellow_zone(addr)) { +#ifndef PRODUCT printf("exception addr is in yellow zone\n"); +#endif thread->disable_stack_yellow_zone(); if (thread->thread_state() == _thread_in_Java) { // Throw a stack overflow exception. Guard pages will be reenabled // while unwinding the stack. +#ifndef PRODUCT printf("this thread is in java\n"); +#endif stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::STACK_OVERFLOW); } else { // Thread was in the vm or native code. Return and try to finish. +#ifndef PRODUCT printf("this thread is in vm or native codes and return\n"); +#endif return 1; } } else if (thread->in_stack_red_zone(addr)) { // Fatal red zone violation. Disable the guard pages and fall through // to handle_unexpected_exception way down below. +#ifndef PRODUCT printf("exception addr is in red zone\n"); +#endif thread->disable_stack_red_zone(); +#ifndef PRODUCT tty->print_raw_cr("An irrecoverable stack overflow has occurred."); +#endif } else { // Accessing stack address below sp may cause SEGV if current // thread has MAP_GROWSDOWN stack. This should only happen when // current thread was created by user code with MAP_GROWSDOWN flag // and then attached to VM. See notes in os_linux.cpp. +#ifndef PRODUCT printf("exception addr is neither in yellow zone nor in the red one\n"); +#endif if (thread->osthread()->expanding_stack() == 0) { thread->osthread()->set_expanding_stack(); if (os::Linux::manually_expand_stack(thread, addr)) { @@ -300,8 +324,10 @@ JVM_handle_linux_signal(int sig, if (thread->thread_state() == _thread_in_Java) { // Java thread running in Java code => find exception handler if any // a fault inside compiled code, the interpreter, or a stub +#ifndef PRODUCT tty->print("java thread running in java code\n"); tty->print_cr("polling address = %x", os::get_polling_page()); +#endif if (sig == SIGSEGV && os::is_poll_address((address)info->si_addr)) { stub = SharedRuntime::get_poll_stub(pc); @@ -311,7 +337,9 @@ JVM_handle_linux_signal(int sig, // Do not crash the VM in such a case. CodeBlob* cb = CodeCache::find_blob_unsafe(pc); nmethod* nm = cb->is_nmethod() ? (nmethod*)cb : NULL; +#ifndef PRODUCT printf("cb = %x, nm = %x\n", cb, nm); +#endif if (nm != NULL && nm->has_unsafe_access()) { stub = StubRoutines::handler_for_unsafe_access(); } @@ -339,25 +367,33 @@ JVM_handle_linux_signal(int sig, else if (sig == SIGSEGV && !MacroAssembler::needs_explicit_null_check((intptr_t)info->si_addr)) { // Determination of interpreter/vtable stub/compiled code null exception +#ifndef PRODUCT printf("continuation for implicit exception\n"); +#endif stub = SharedRuntime::continuation_for_implicit_exception(thread, pc, SharedRuntime::IMPLICIT_NULL); } } else if (thread->thread_state() == _thread_in_vm && sig == SIGBUS && /* info->si_code == BUS_OBJERR && */ thread->doing_unsafe_access()) { +#ifndef PRODUCT tty->print_cr("SIGBUS in vm thread \n"); +#endif stub = StubRoutines::handler_for_unsafe_access(); } // jni_fast_GetField can trap at certain pc's if a GC kicks in // and the heap gets shrunk before the field access. if ((sig == SIGSEGV) || (sig == SIGBUS)) { +#ifndef PRODUCT printf("jni fast get trap\n"); +#endif address addr = JNI_FastGetField::find_slowcase_pc(pc); if (addr != (address)-1) { stub = addr; } +#ifndef PRODUCT tty->print_cr("addr = %d, stub = %d\n", addr, stub); +#endif } // Check to see if we caught the safepoint code in the @@ -367,7 +403,9 @@ JVM_handle_linux_signal(int sig, if ((sig == SIGSEGV) && os::is_memory_serialize_page(thread, (address) info->si_addr)) { // Block current thread until the memory serialize page permission restored. +#ifndef PRODUCT printf("write protecting the memory serialiazation page\n"); +#endif os::block_on_serialize_page_trap(); return true; } @@ -394,7 +432,9 @@ JVM_handle_linux_signal(int sig, //(uc->uc_mcontext.cause == 2 || uc->uc_mcontext.cause == 3)) { (uc->uc_mcontext.hi1 == 2 || uc->uc_mcontext.hi1 == 3)) { //aoqi: copy from jdk1.5, dont understand the struct mcontext_t. +#ifndef PRODUCT tty->print_cr("execution protection violation\n"); +#endif int page_size = os::vm_page_size(); address addr = (address) info->si_addr; @@ -462,7 +502,9 @@ JVM_handle_linux_signal(int sig, } if (stub != NULL) { +#ifndef PRODUCT tty->print_cr("resolved stub=%d\n",stub); +#endif // save all thread context in case we need to restore it if (thread != NULL) thread->set_saved_exception_pc(pc); @@ -472,13 +514,17 @@ JVM_handle_linux_signal(int sig, // signal-chaining if (os::Linux::chained_handler(sig, info, ucVoid)) { +#ifndef PRODUCT tty->print_cr("signal chaining\n"); +#endif return true; } if (!abort_if_unrecognized) { // caller wants another chance, so give it to him +#ifndef PRODUCT tty->print_cr("abort becauce of unrecognized\n"); +#endif return false; } @@ -491,7 +537,9 @@ JVM_handle_linux_signal(int sig, sigemptyset(&newset); sigaddset(&newset, sig); sigprocmask(SIG_UNBLOCK, &newset, NULL); - tty->print_cr("VMError in signal handler\n"); +#ifndef PRODUCT + tty->print_cr("VMError in signal handler\n"); +#endif VMError err(t, sig, pc, info, ucVoid); err.report_and_die(); diff -r 4bd942efa7de -r 76218a369227 jdk/make/sun/awt/Makefile --- a/jdk/make/sun/awt/Makefile Mon Dec 06 13:25:11 2010 +0800 +++ b/jdk/make/sun/awt/Makefile Tue Nov 30 10:23:02 2010 +0800 @@ -387,6 +387,7 @@ _FONTCONFIGS = \ fontconfig.properties \ fontconfig.SuSE.properties \ fontconfig.Ubuntu.properties \ + fontconfig.Debian.properties \ fontconfig.Fedora.properties else diff -r 4bd942efa7de -r 76218a369227 jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Debian.properties --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/jdk/src/solaris/classes/sun/awt/fontconfigs/linux.fontconfig.Debian.properties Tue Nov 30 10:23:02 2010 +0800 @@ -0,0 +1,188 @@ +# +# Copyright 2007 Sun Microsystems, Inc. All Rights Reserved. +# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. +# +# This code is free software; you can redistribute it and/or modify it +# under the terms of the GNU General Public License version 2 only, as +# published by the Free Software Foundation. Sun designates this +# particular file as subject to the "Classpath" exception as provided +# by Sun in the LICENSE file that accompanied this code. +# +# This code is distributed in the hope that it will be useful, but WITHOUT +# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +# version 2 for more details (a copy is included in the LICENSE file that +# accompanied this code). +# +# You should have received a copy of the GNU General Public License version +# 2 along with this work; if not, write to the Free Software Foundation, +# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. +# +# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, +# CA 95054 USA or visit www.sun.com if you need additional information or +# have any questions. +# + +# Version + +# Uses Fedora Core 6 fonts and file paths. +version=1 + +# Component Font Mappings + +dialog.plain.latin-1=DejaVu LGC Sans +dialog.plain.japanese-x0208=Sazanami Gothic +dialog.plain.korean=Baekmuk Gulim +dialog.plain.chinese-big5=AR PL ShanHeiSun Uni +dialog.plain.chinese-gb18030=AR PL ShanHeiSun Uni + +dialog.bold.latin-1=DejaVu LGC Sans Bold +dialog.bold.japanese-x0208=Sazanami Gothic +dialog.bold.korean=Baekmuk Gulim +dialog.bold.chinese-big5=AR PL ShanHeiSun Uni +dialog.bold.chinese-gb18030=AR PL ShanHeiSun Uni + +dialog.italic.latin-1=DejaVu LGC Sans Oblique +dialog.italic.japanese-x0208=Sazanami Gothic +dialog.italic.korean=Baekmuk Gulim +dialog.italic.chinese-big5=AR PL ShanHeiSun Uni +dialog.italic.chinese-gb18030=AR PL ShanHeiSun Uni + +dialog.bolditalic.latin-1=DejaVu LGC Sans Bold Oblique +dialog.bolditalic.japanese-x0208=Sazanami Gothic +dialog.bolditalic.korean=Baekmuk Gulim +dialog.bolditalic.chinese-big5=AR PL ShanHeiSun Uni +dialog.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni + + +sansserif.plain.latin-1=DejaVu LGC Sans +sansserif.plain.japanese-x0208=Sazanami Gothic +sansserif.plain.korean=Baekmuk Gulim +sansserif.plain.chinese-big5=AR PL ShanHeiSun Uni +sansserif.plain.chinese-gb18030=AR PL ShanHeiSun Uni + +sansserif.bold.latin-1=DejaVu LGC Sans Bold +sansserif.bold.japanese-x0208=Sazanami Gothic +sansserif.bold.korean=Baekmuk Gulim +sansserif.bold.chinese-big5=AR PL ShanHeiSun Uni +sansserif.bold.chinese-gb18030=AR PL ShanHeiSun Uni + +sansserif.italic.latin-1=DejaVu LGC Sans Oblique +sansserif.italic.japanese-x0208=Sazanami Gothic +sansserif.italic.korean=Baekmuk Gulim +sansserif.italic.chinese-big5=AR PL ShanHeiSun Uni +sansserif.italic.chinese-gb18030=AR PL ShanHeiSun Uni + +sansserif.bolditalic.latin-1=DejaVu LGC Sans Bold Oblique +sansserif.bolditalic.japanese-x0208=Sazanami Gothic +sansserif.bolditalic.korean=Baekmuk Gulim +sansserif.bolditalic.chinese-big5=AR PL ShanHeiSun Uni +sansserif.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni + + +serif.plain.latin-1=DejaVu LGC Serif +serif.plain.japanese-x0208=Sazanami Mincho +serif.plain.korean=Baekmuk Batang +serif.plain.chinese-big5=AR PL ZenKai Uni +serif.plain.chinese-gb18030=AR PL ZenKai Uni + +serif.bold.latin-1=DejaVu LGC Serif Bold +serif.bold.japanese-x0208=Sazanami Mincho +serif.bold.korean=Baekmuk Batang +serif.bold.chinese-big5=AR PL ZenKai Uni +serif.bold.chinese-gb18030=AR PL ZenKai Uni + +serif.italic.latin-1=DejaVu LGC Serif Oblique +serif.italic.japanese-x0208=Sazanami Mincho +serif.italic.korean=Baekmuk Batang +serif.italic.chinese-big5=AR PL ZenKai Uni +serif.italic.chinese-gb18030=AR PL ZenKai Uni + +serif.bolditalic.latin-1=DejaVu LGC Serif Bold Oblique +serif.bolditalic.japanese-x0208=Sazanami Mincho +serif.bolditalic.korean=Baekmuk Batang +serif.bolditalic.chinese-big5=AR PL ZenKai Uni +serif.bolditalic.chinese-gb18030=AR PL ZenKai Uni + + +monospaced.plain.latin-1=DejaVu LGC Sans Mono +monospaced.plain.japanese-x0208=Sazanami Gothic +monospaced.plain.korean=Baekmuk Gulim +monospaced.plain.chinese-big5=AR PL ShanHeiSun Uni +monospaced.plain.chinese-gb18030=AR PL ShanHeiSun Uni + +monospaced.bold.latin-1=DejaVu LGC Sans Mono Bold +monospaced.bold.japanese-x0208=Sazanami Gothic +monospaced.bold.korean=Baekmuk Gulim +monospaced.bold.chinese-big5=AR PL ShanHeiSun Uni +monospaced.bold.chinese-gb18030=AR PL ShanHeiSun Uni + +monospaced.italic.latin-1=DejaVu LGC Sans Mono Oblique +monospaced.italic.japanese-x0208=Sazanami Gothic +monospaced.italic.korean=Baekmuk Gulim +monospaced.italic.chinese-big5=AR PL ShanHeiSun Uni +monospaced.italic.chinese-gb18030=AR PL ShanHeiSun Uni + +monospaced.bolditalic.latin-1=DejaVu LGC Sans Mono Bold Oblique +monospaced.bolditalic.japanese-x0208=Sazanami Gothic +monospaced.bolditalic.korean=Baekmuk Gulim +monospaced.bolditalic.chinese-big5=AR PL ShanHeiSun Uni +monospaced.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni + + +dialoginput.plain.latin-1=DejaVu LGC Sans Mono +dialoginput.plain.japanese-x0208=Sazanami Gothic +dialoginput.plain.korean=Baekmuk Gulim +dialoginput.plain.chinese-big5=AR PL ShanHeiSun Uni +dialoginput.plain.chinese-gb18030=AR PL ShanHeiSun Uni + +dialoginput.bold.latin-1=DejaVu LGC Sans Mono Bold +dialoginput.bold.japanese-x0208=Sazanami Gothic +dialoginput.bold.korean=Baekmuk Gulim +dialoginput.bold.chinese-big5=AR PL ShanHeiSun Uni +dialoginput.bold.chinese-gb18030=AR PL ShanHeiSun Uni + +dialoginput.italic.latin-1=DejaVu LGC Sans Mono Oblique +dialoginput.italic.japanese-x0208=Sazanami Gothic +dialoginput.italic.korean=Baekmuk Gulim +dialoginput.italic.chinese-big5=AR PL ShanHeiSun Uni +dialoginput.italic.chinese-gb18030=AR PL ShanHeiSun Uni + +dialoginput.bolditalic.latin-1=DejaVu LGC Sans Mono Bold Oblique +dialoginput.bolditalic.japanese-x0208=Sazanami Gothic +dialoginput.bolditalic.korean=Baekmuk Gulim +dialoginput.bolditalic.chinese-big5=AR PL ShanHeiSun Uni +dialoginput.bolditalic.chinese-gb18030=AR PL ShanHeiSun Uni + +# Search Sequences + +sequence.allfonts=latin-1 +sequence.allfonts.Big5=chinese-big5,latin-1 +sequence.allfonts.x-euc-jp-linux=japanese-x0208,latin-1 +sequence.allfonts.EUC-KR=korean,latin-1 +sequence.allfonts.GB18030=chinese-gb18030,latin-1 +sequence.fallback=chinese-big5,chinese-gb18030,japanese-x0208,korean + +# Font File Names + +filename.DejaVu_LGC_Sans=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans.ttf +filename.DejaVu_LGC_Sans_Bold=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans-Bold.ttf +filename.DejaVu_LGC_Sans_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans-Oblique.ttf +filename.DejaVu_LGC_Sans_Bold_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSans-BoldOblique.ttf + +filename.DejaVu_LGC_Sans_Mono=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono.ttf +filename.DejaVu_LGC_Sans_Mono_Bold=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-Bold.ttf +filename.DejaVu_LGC_Sans_Mono_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-Oblique.ttf +filename.DejaVu_LGC_Sans_Mono_Bold_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSansMono-BoldOblique.ttf + +filename.DejaVu_LGC_Serif=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif.ttf +filename.DejaVu_LGC_Serif_Bold=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-Bold.ttf +filename.DejaVu_LGC_Serif_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-Oblique.ttf +filename.DejaVu_LGC_Serif_Bold_Oblique=/usr/share/fonts/dejavu-lgc/DejaVuLGCSerif-BoldOblique.ttf + +filename.Sazanami_Gothic=/usr/share/fonts/japanese/TrueType/sazanami-gothic.ttf +filename.Sazanami_Mincho=/usr/share/fonts/japanese/TrueType/sazanami-mincho.ttf +filename.AR_PL_ShanHeiSun_Uni=/usr/share/fonts/truetype/arphic/uming.ttc +filename.AR_PL_ZenKai_Uni=/usr/share/fonts/truetype/arphic/ukai.ttc +filename.Baekmuk_Gulim=/usr/share/fonts/korean/TrueType/gulim.ttf +filename.Baekmuk_Batang=/usr/share/fonts/korean/TrueType/batang.ttf ----- End forwarded message ----- -- LIU Qi liuqi at loongson.cn liuqi82 at gmail.com Loongson Technology Co. Ltd. PGP Key fingerprint: 3D29 FDFD AFB3 225D B744 7FAB 51C7 4820 63BA 272F From liuqi at loongson.cn Tue Dec 21 00:57:44 2010 From: liuqi at loongson.cn (LIU Qi) Date: Tue, 21 Dec 2010 16:57:44 +0800 Subject: =?gb2312?B?x+vQtNK7uPayzrzTamF2YSBvbmU=?= =?gb2312?B?u+HS6bXE19y94Q==?= Message-ID: <20101221085744.GA21066@loongson.cn> ?????? ???????????????????? ???? -- LIU Qi liuqi at loongson.cn liuqi82 at gmail.com Loongson Technology Co. Ltd. PGP Key fingerprint: 3D29 FDFD AFB3 225D B744 7FAB 51C7 4820 63BA 272F From kiran.3.kumar at nsn.com Wed Dec 22 22:02:43 2010 From: kiran.3.kumar at nsn.com (Kumar, Kiran 3. (NSN - IN/Bangalore)) Date: Thu, 23 Dec 2010 14:02:43 +0800 Subject: Need some Info regarding OpenJDK for MIPS. Message-ID: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> HI I am Kiran from Nokia Siemens Bangalore, I came across u r website http://icedtea.classpath.org/hg/openjdk6-mips/summary That I came to know that OpenJDK is available for MIPS ,we are also looking for java on MIPS. Here my question is this OpenJDK supports MIPS on big Endian architecure,as we are looking for OpenJDK on MIPS for big Endian. Thank you. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/mips-port/attachments/20101223/816adbfe/attachment.html From yangyongqiang at loongson.cn Wed Dec 22 22:28:02 2010 From: yangyongqiang at loongson.cn (YANG Yongqiang) Date: Thu, 23 Dec 2010 14:28:02 +0800 (CST) Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> Message-ID: <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> Hi Kiran Kumar P, Now it only supports MIPS on little Endian architecture. If you want a version supporting MIPS on big Endian architecture. You just need to change native instructions and bytes instructions yourself. Cheers, Yongqiang. > > HI > > I am Kiran from Nokia Siemens Bangalore, I came across u r website > http://icedtea.classpath.org/hg/openjdk6-mips/summary > That I came to know that OpenJDK is available for MIPS ,we are also > looking for java on MIPS. > > Here my question is this OpenJDK supports MIPS on big Endian > architecure,as we are looking for OpenJDK on MIPS for big Endian. > Thank you. > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -- Yongqiang ???????????????????????????????? From liuqi at loongson.cn Wed Dec 22 22:31:14 2010 From: liuqi at loongson.cn (LIU Qi) Date: Thu, 23 Dec 2010 14:31:14 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> Message-ID: <20101223063114.GA10046@loongson.cn> Hi Kiran, Currently the big endian is not supported by openjdk6-mips port located at icedtea.classpath.org. It will be great if you could join the development for the mips big endian. Regards, Qi On Thu, Dec 23, 2010 at 02:02:43PM +0800, Kumar, Kiran 3. (NSN - IN/Bangalore) wrote: > > HI > > I am Kiran from Nokia Siemens Bangalore, I came across u r website http:// > icedtea.classpath.org/hg/openjdk6-mips/summary > > That I came to know that OpenJDK is available for MIPS ,we are also looking for > java on MIPS. > > Here my question is this OpenJDK supports MIPS on big Endian architecure,as we > are looking for OpenJDK on MIPS for big Endian. > > Thank you. > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > -- LIU Qi liuqi at loongson.cn liuqi82 at gmail.com Loongson Technology Co. Ltd. PGP Key fingerprint: 3D29 FDFD AFB3 225D B744 7FAB 51C7 4820 63BA 272F From kiran.3.kumar at nsn.com Wed Dec 22 22:31:06 2010 From: kiran.3.kumar at nsn.com (Kumar, Kiran 3. (NSN - IN/Bangalore)) Date: Thu, 23 Dec 2010 14:31:06 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> Message-ID: <316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net> Hi YANG Here I have one question as JAVA by defaullt is big endian ,correct me if I am wrong. What I understood is it is ported to little endian now I have to change it back to use big endian right. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 -----Original Message----- From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] Sent: Thursday, December 23, 2010 11:58 AM To: Kumar, Kiran 3. (NSN - IN/Bangalore) Cc: mips-port at openjdk.java.net Subject: Re: Need some Info regarding OpenJDK for MIPS. Hi Kiran Kumar P, Now it only supports MIPS on little Endian architecture. If you want a version supporting MIPS on big Endian architecture. You just need to change native instructions and bytes instructions yourself. Cheers, Yongqiang. > > HI > > I am Kiran from Nokia Siemens Bangalore, I came across u r website > http://icedtea.classpath.org/hg/openjdk6-mips/summary > That I came to know that OpenJDK is available for MIPS ,we are also > looking for java on MIPS. > > Here my question is this OpenJDK supports MIPS on big Endian > architecure,as we are looking for OpenJDK on MIPS for big Endian. > Thank you. > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -- Yongqiang ???????????????? From kiran.3.kumar at nsn.com Wed Dec 22 22:33:47 2010 From: kiran.3.kumar at nsn.com (Kumar, Kiran 3. (NSN - IN/Bangalore)) Date: Thu, 23 Dec 2010 14:33:47 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: <20101223063114.GA10046@loongson.cn> References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> <20101223063114.GA10046@loongson.cn> Message-ID: <316C44F589D2CA42B93FBBF76A86C1CC025E8707@SGSIEXC008.nsn-intra.net> Hi Definitely our organization also wants it to be ported on MIPS big endian, Now I have the question is do u have any idea of how much effort it is needed to port It back. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 -----Original Message----- From: ext LIU Qi [mailto:liuqi at loongson.cn] Sent: Thursday, December 23, 2010 12:01 PM To: Kumar, Kiran 3. (NSN - IN/Bangalore) Cc: mips-port at openjdk.java.net Subject: Re: Need some Info regarding OpenJDK for MIPS. Hi Kiran, Currently the big endian is not supported by openjdk6-mips port located at icedtea.classpath.org. It will be great if you could join the development for the mips big endian. Regards, Qi On Thu, Dec 23, 2010 at 02:02:43PM +0800, Kumar, Kiran 3. (NSN - IN/Bangalore) wrote: > > HI > > I am Kiran from Nokia Siemens Bangalore, I came across u r website http:// > icedtea.classpath.org/hg/openjdk6-mips/summary > > That I came to know that OpenJDK is available for MIPS ,we are also looking for > java on MIPS. > > Here my question is this OpenJDK supports MIPS on big Endian architecure,as we > are looking for OpenJDK on MIPS for big Endian. > > Thank you. > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > -- LIU Qi liuqi at loongson.cn liuqi82 at gmail.com Loongson Technology Co. Ltd. PGP Key fingerprint: 3D29 FDFD AFB3 225D B744 7FAB 51C7 4820 63BA 272F From yangyongqiang at loongson.cn Wed Dec 22 22:39:36 2010 From: yangyongqiang at loongson.cn (YANG Yongqiang) Date: Thu, 23 Dec 2010 14:39:36 +0800 (CST) Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: <316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net> References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> <316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net> Message-ID: > > Hi YANG > > Here I have one question as JAVA by defaullt is big endian ,correct me if > I am wrong. > What I understood is it is ported to little endian now I have to change > it back to use big endian right. Yes, you are right. BTW: The destination of this porting is Loongson processor which is little endian, so we must change big endian to little endian . > > > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -----Original Message----- > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > Sent: Thursday, December 23, 2010 11:58 AM > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > Cc: mips-port at openjdk.java.net > Subject: Re: Need some Info regarding OpenJDK for MIPS. > > Hi Kiran Kumar P, > > Now it only supports MIPS on little Endian architecture. If you want a > version supporting MIPS on big Endian architecture. You just need to > change native instructions and bytes instructions yourself. > > Cheers, > Yongqiang. > >> >> HI >> >> I am Kiran from Nokia Siemens Bangalore, I came across u r website >> http://icedtea.classpath.org/hg/openjdk6-mips/summary >> That I came to know that OpenJDK is available for MIPS ,we are also >> looking for java on MIPS. >> >> Here my question is this OpenJDK supports MIPS on big Endian >> architecure,as we are looking for OpenJDK on MIPS for big Endian. >> Thank you. >> >> >> Thanks and Regards >> ------------------------------------- >> >> Kiran Kumar P >> Mobile: 9880758736 >> >> > > > -- > Yongqiang >                  > > -- Yongqiang ???????????????????????????????? From kiran.3.kumar at nsn.com Wed Dec 22 22:43:21 2010 From: kiran.3.kumar at nsn.com (Kumar, Kiran 3. (NSN - IN/Bangalore)) Date: Thu, 23 Dec 2010 14:43:21 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> <316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net> Message-ID: <316C44F589D2CA42B93FBBF76A86C1CC025E8727@SGSIEXC008.nsn-intra.net> Hi Yang Thanks for the reply ,what is the effort needed to change it back to big endian.If you have any idea please let me know ,as I am intersted to change it back to bigendian as the Hadware we use is MIPS big endian. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 -----Original Message----- From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] Sent: Thursday, December 23, 2010 12:10 PM To: Kumar, Kiran 3. (NSN - IN/Bangalore) Cc: ext YANG Yongqiang; mips-port at openjdk.java.net Subject: RE: Need some Info regarding OpenJDK for MIPS. > > Hi YANG > > Here I have one question as JAVA by defaullt is big endian ,correct me if > I am wrong. > What I understood is it is ported to little endian now I have to change > it back to use big endian right. Yes, you are right. BTW: The destination of this porting is Loongson processor which is little endian, so we must change big endian to little endian . > > > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -----Original Message----- > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > Sent: Thursday, December 23, 2010 11:58 AM > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > Cc: mips-port at openjdk.java.net > Subject: Re: Need some Info regarding OpenJDK for MIPS. > > Hi Kiran Kumar P, > > Now it only supports MIPS on little Endian architecture. If you want a > version supporting MIPS on big Endian architecture. You just need to > change native instructions and bytes instructions yourself. > > Cheers, > Yongqiang. > >> >> HI >> >> I am Kiran from Nokia Siemens Bangalore, I came across u r website >> http://icedtea.classpath.org/hg/openjdk6-mips/summary >> That I came to know that OpenJDK is available for MIPS ,we are also >> looking for java on MIPS. >> >> Here my question is this OpenJDK supports MIPS on big Endian >> architecure,as we are looking for OpenJDK on MIPS for big Endian. >> Thank you. >> >> >> Thanks and Regards >> ------------------------------------- >> >> Kiran Kumar P >> Mobile: 9880758736 >> >> > > > -- > Yongqiang > ???????????????? > > -- Yongqiang ???????????????? From yangyongqiang at loongson.cn Wed Dec 22 23:02:57 2010 From: yangyongqiang at loongson.cn (YANG Yongqiang) Date: Thu, 23 Dec 2010 15:02:57 +0800 (CST) Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: <316C44F589D2CA42B93FBBF76A86C1CC025E8727@SGSIEXC008.nsn-intra.net> References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> <316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net> <316C44F589D2CA42B93FBBF76A86C1CC025E8727@SGSIEXC008.nsn-intra.net> Message-ID: Hi Kiran, I think it will need not too much effort to do this job. The job could be divided into 2 phases. First, you can change template interperter back to big endian. To do this, you need to implement your bytes operations, which are in hotspot/src/cpu/mips/vm/bytes_mips*. Second, you can make c1 support MIPS with big endian. You need to implement native instructions which are in hotspot/src/cpu/mips/vm/nativeInst_mips*. During our porting, we had a premise that destination processor is little endian. Thus maybe there are some ugly codes which rely on the premise. This will need your some efforts to detect these codes. Cheers, Yongqiang. > Hi Yang > > Thanks for the reply ,what is the effort needed to change it back > to big endian.If you have any idea please let me know ,as I am intersted > to change it back > to bigendian as the Hadware we use is MIPS big endian. > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -----Original Message----- > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > Sent: Thursday, December 23, 2010 12:10 PM > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > Cc: ext YANG Yongqiang; mips-port at openjdk.java.net > Subject: RE: Need some Info regarding OpenJDK for MIPS. > >> >> Hi YANG >> >> Here I have one question as JAVA by defaullt is big endian ,correct me >> if >> I am wrong. >> What I understood is it is ported to little endian now I have to change >> it back to use big endian right. > > Yes, you are right. > BTW: The destination of this porting is Loongson processor which is little > endian, so we must change big endian to little endian . > >> >> >> >> >> Thanks and Regards >> ------------------------------------- >> >> Kiran Kumar P >> Mobile: 9880758736 >> >> -----Original Message----- >> From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] >> Sent: Thursday, December 23, 2010 11:58 AM >> To: Kumar, Kiran 3. (NSN - IN/Bangalore) >> Cc: mips-port at openjdk.java.net >> Subject: Re: Need some Info regarding OpenJDK for MIPS. >> >> Hi Kiran Kumar P, >> >> Now it only supports MIPS on little Endian architecture. If you want a >> version supporting MIPS on big Endian architecture. You just need to >> change native instructions and bytes instructions yourself. >> >> Cheers, >> Yongqiang. >> >>> >>> HI >>> >>> I am Kiran from Nokia Siemens Bangalore, I came across u r website >>> http://icedtea.classpath.org/hg/openjdk6-mips/summary >>> That I came to know that OpenJDK is available for MIPS ,we are also >>> looking for java on MIPS. >>> >>> Here my question is this OpenJDK supports MIPS on big Endian >>> architecure,as we are looking for OpenJDK on MIPS for big Endian. >>> Thank you. >>> >>> >>> Thanks and Regards >>> ------------------------------------- >>> >>> Kiran Kumar P >>> Mobile: 9880758736 >>> >>> >> >> >> -- >> Yongqiang >>                  >> >> > > > -- > Yongqiang >                  > > -- Yongqiang ???????????????????????????????? From kiran.3.kumar at nsn.com Wed Dec 22 23:05:28 2010 From: kiran.3.kumar at nsn.com (Kumar, Kiran 3. (NSN - IN/Bangalore)) Date: Thu, 23 Dec 2010 15:05:28 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> <316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net> <316C44F589D2CA42B93FBBF76A86C1CC025E8727@SGSIEXC008.nsn-intra.net> Message-ID: <316C44F589D2CA42B93FBBF76A86C1CC025E8779@SGSIEXC008.nsn-intra.net> Ok, Thanks a lot , I will try to work on these issue to port on big endian. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 -----Original Message----- From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] Sent: Thursday, December 23, 2010 12:33 PM To: Kumar, Kiran 3. (NSN - IN/Bangalore) Cc: ext YANG Yongqiang; mips-port at openjdk.java.net Subject: RE: Need some Info regarding OpenJDK for MIPS. Hi Kiran, I think it will need not too much effort to do this job. The job could be divided into 2 phases. First, you can change template interperter back to big endian. To do this, you need to implement your bytes operations, which are in hotspot/src/cpu/mips/vm/bytes_mips*. Second, you can make c1 support MIPS with big endian. You need to implement native instructions which are in hotspot/src/cpu/mips/vm/nativeInst_mips*. During our porting, we had a premise that destination processor is little endian. Thus maybe there are some ugly codes which rely on the premise. This will need your some efforts to detect these codes. Cheers, Yongqiang. > Hi Yang > > Thanks for the reply ,what is the effort needed to change it back > to big endian.If you have any idea please let me know ,as I am intersted > to change it back > to bigendian as the Hadware we use is MIPS big endian. > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -----Original Message----- > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > Sent: Thursday, December 23, 2010 12:10 PM > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > Cc: ext YANG Yongqiang; mips-port at openjdk.java.net > Subject: RE: Need some Info regarding OpenJDK for MIPS. > >> >> Hi YANG >> >> Here I have one question as JAVA by defaullt is big endian ,correct me >> if >> I am wrong. >> What I understood is it is ported to little endian now I have to change >> it back to use big endian right. > > Yes, you are right. > BTW: The destination of this porting is Loongson processor which is little > endian, so we must change big endian to little endian . > >> >> >> >> >> Thanks and Regards >> ------------------------------------- >> >> Kiran Kumar P >> Mobile: 9880758736 >> >> -----Original Message----- >> From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] >> Sent: Thursday, December 23, 2010 11:58 AM >> To: Kumar, Kiran 3. (NSN - IN/Bangalore) >> Cc: mips-port at openjdk.java.net >> Subject: Re: Need some Info regarding OpenJDK for MIPS. >> >> Hi Kiran Kumar P, >> >> Now it only supports MIPS on little Endian architecture. If you want a >> version supporting MIPS on big Endian architecture. You just need to >> change native instructions and bytes instructions yourself. >> >> Cheers, >> Yongqiang. >> >>> >>> HI >>> >>> I am Kiran from Nokia Siemens Bangalore, I came across u r website >>> http://icedtea.classpath.org/hg/openjdk6-mips/summary >>> That I came to know that OpenJDK is available for MIPS ,we are also >>> looking for java on MIPS. >>> >>> Here my question is this OpenJDK supports MIPS on big Endian >>> architecure,as we are looking for OpenJDK on MIPS for big Endian. >>> Thank you. >>> >>> >>> Thanks and Regards >>> ------------------------------------- >>> >>> Kiran Kumar P >>> Mobile: 9880758736 >>> >>> >> >> >> -- >> Yongqiang >> ???????????????? >> >> > > > -- > Yongqiang > ???????????????? > > -- Yongqiang ???????????????? From kiran.3.kumar at nsn.com Thu Dec 23 23:03:21 2010 From: kiran.3.kumar at nsn.com (Kumar, Kiran 3. (NSN - IN/Bangalore)) Date: Fri, 24 Dec 2010 15:03:21 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> <316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net> <316C44F589D2CA42B93FBBF76A86C1CC025E8727@SGSIEXC008.nsn-intra.net> Message-ID: <316C44F589D2CA42B93FBBF76A86C1CC02628655@SGSIEXC008.nsn-intra.net> Hi Ynag I am facing some difficulties in chnaging the endian to big endian,can u have any Design document for the OpenJDK. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 -----Original Message----- From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] Sent: Thursday, December 23, 2010 12:33 PM To: Kumar, Kiran 3. (NSN - IN/Bangalore) Cc: ext YANG Yongqiang; mips-port at openjdk.java.net Subject: RE: Need some Info regarding OpenJDK for MIPS. Hi Kiran, I think it will need not too much effort to do this job. The job could be divided into 2 phases. First, you can change template interperter back to big endian. To do this, you need to implement your bytes operations, which are in hotspot/src/cpu/mips/vm/bytes_mips*. Second, you can make c1 support MIPS with big endian. You need to implement native instructions which are in hotspot/src/cpu/mips/vm/nativeInst_mips*. During our porting, we had a premise that destination processor is little endian. Thus maybe there are some ugly codes which rely on the premise. This will need your some efforts to detect these codes. Cheers, Yongqiang. > Hi Yang > > Thanks for the reply ,what is the effort needed to change it back > to big endian.If you have any idea please let me know ,as I am intersted > to change it back > to bigendian as the Hadware we use is MIPS big endian. > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -----Original Message----- > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > Sent: Thursday, December 23, 2010 12:10 PM > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > Cc: ext YANG Yongqiang; mips-port at openjdk.java.net > Subject: RE: Need some Info regarding OpenJDK for MIPS. > >> >> Hi YANG >> >> Here I have one question as JAVA by defaullt is big endian ,correct me >> if >> I am wrong. >> What I understood is it is ported to little endian now I have to change >> it back to use big endian right. > > Yes, you are right. > BTW: The destination of this porting is Loongson processor which is little > endian, so we must change big endian to little endian . > >> >> >> >> >> Thanks and Regards >> ------------------------------------- >> >> Kiran Kumar P >> Mobile: 9880758736 >> >> -----Original Message----- >> From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] >> Sent: Thursday, December 23, 2010 11:58 AM >> To: Kumar, Kiran 3. (NSN - IN/Bangalore) >> Cc: mips-port at openjdk.java.net >> Subject: Re: Need some Info regarding OpenJDK for MIPS. >> >> Hi Kiran Kumar P, >> >> Now it only supports MIPS on little Endian architecture. If you want a >> version supporting MIPS on big Endian architecture. You just need to >> change native instructions and bytes instructions yourself. >> >> Cheers, >> Yongqiang. >> >>> >>> HI >>> >>> I am Kiran from Nokia Siemens Bangalore, I came across u r website >>> http://icedtea.classpath.org/hg/openjdk6-mips/summary >>> That I came to know that OpenJDK is available for MIPS ,we are also >>> looking for java on MIPS. >>> >>> Here my question is this OpenJDK supports MIPS on big Endian >>> architecure,as we are looking for OpenJDK on MIPS for big Endian. >>> Thank you. >>> >>> >>> Thanks and Regards >>> ------------------------------------- >>> >>> Kiran Kumar P >>> Mobile: 9880758736 >>> >>> >> >> >> -- >> Yongqiang >> ???????????????? >> >> > > > -- > Yongqiang > ???????????????? > > -- Yongqiang ???????????????? From xiaoqiangnk at gmail.com Fri Dec 24 20:13:36 2010 From: xiaoqiangnk at gmail.com (Yongqiang Yang) Date: Sat, 25 Dec 2010 12:13:36 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: <316C44F589D2CA42B93FBBF76A86C1CC02628655@SGSIEXC008.nsn-intra.net> References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> <316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net> <316C44F589D2CA42B93FBBF76A86C1CC025E8727@SGSIEXC008.nsn-intra.net> <316C44F589D2CA42B93FBBF76A86C1CC02628655@SGSIEXC008.nsn-intra.net> Message-ID: Hi Kiran, We have no any design documents, hotspot was designed and developed by Sun. Maybe you can find some documents on internet. Cheers, Yongqiang. 2010/12/24 Kumar, Kiran 3. (NSN - IN/Bangalore) : > Hi Ynag > > I am facing some difficulties in chnaging the endian to big endian,can u have any > Design document for the OpenJDK. > > > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -----Original Message----- > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > Sent: Thursday, December 23, 2010 12:33 PM > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > Cc: ext YANG Yongqiang; mips-port at openjdk.java.net > Subject: RE: Need some Info regarding OpenJDK for MIPS. > > Hi Kiran, > > I think it will need not too much effort to do this job. The job could be > divided into 2 phases. > > First, you can change template interperter back to big endian. > To do this, you need to implement your bytes operations, which are in > hotspot/src/cpu/mips/vm/bytes_mips*. > > Second, you can make c1 support MIPS with big endian. You need to > implement ?native instructions which are in > hotspot/src/cpu/mips/vm/nativeInst_mips*. > > During our porting, we had a premise that destination processor is little > endian. ?Thus maybe there are some ugly codes which rely on the premise. > This will need your some efforts to detect these codes. > > > Cheers, > Yongqiang. > >> Hi Yang >> >> Thanks for the reply ,what is the effort needed to change it back >> to big endian.If you have any idea please let me know ,as I am intersted >> to change it back >> to bigendian as the Hadware we use is MIPS big endian. >> >> >> Thanks and Regards >> ------------------------------------- >> >> Kiran Kumar P >> Mobile: 9880758736 >> >> -----Original Message----- >> From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] >> Sent: Thursday, December 23, 2010 12:10 PM >> To: Kumar, Kiran 3. (NSN - IN/Bangalore) >> Cc: ext YANG Yongqiang; mips-port at openjdk.java.net >> Subject: RE: Need some Info regarding OpenJDK for MIPS. >> >>> >>> Hi ?YANG >>> >>> Here I have one question as JAVA by defaullt is big endian ,correct me >>> if >>> I am wrong. >>> What I understood is it is ported to ?little endian now I have to change >>> it back to use big endian right. >> >> Yes, you are right. >> BTW: The destination of this porting is Loongson processor which is little >> endian, so we must change big endian to little endian . >> >>> >>> >>> >>> >>> Thanks and Regards >>> ------------------------------------- >>> >>> Kiran Kumar P >>> Mobile: 9880758736 >>> >>> -----Original Message----- >>> From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] >>> Sent: Thursday, December 23, 2010 11:58 AM >>> To: Kumar, Kiran 3. (NSN - IN/Bangalore) >>> Cc: mips-port at openjdk.java.net >>> Subject: Re: Need some Info regarding OpenJDK for MIPS. >>> >>> Hi Kiran Kumar P, >>> >>> Now it only supports MIPS on little Endian architecture. ?If you want a >>> version supporting MIPS on big Endian architecture. ?You just need to >>> change native instructions and bytes instructions yourself. >>> >>> Cheers, >>> Yongqiang. >>> >>>> >>>> HI >>>> >>>> I am Kiran from Nokia Siemens Bangalore, I came across u r website >>>> http://icedtea.classpath.org/hg/openjdk6-mips/summary >>>> That I came to know that OpenJDK is available for MIPS ,we are also >>>> looking for java on MIPS. >>>> >>>> Here my question is this OpenJDK supports MIPS on big Endian >>>> architecure,as we are looking for OpenJDK on MIPS for big Endian. >>>> Thank you. >>>> >>>> >>>> Thanks and Regards >>>> ------------------------------------- >>>> >>>> Kiran Kumar P >>>> Mobile: 9880758736 >>>> >>>> >>> >>> >>> -- >>> Yongqiang >>> >>> >>> >> >> >> -- >> Yongqiang >> >> >> > > > -- > Yongqiang > > > -- Best Wishes Yongqiang Yang From aoqi at loongson.cn Sat Dec 25 00:19:39 2010 From: aoqi at loongson.cn (Ao Qi) Date: Sat, 25 Dec 2010 16:19:39 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: <316C44F589D2CA42B93FBBF76A86C1CC02628655@SGSIEXC008.nsn-intra.net> References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net> <960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn> <316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net> <316C44F589D2CA42B93FBBF76A86C1CC025E8727@SGSIEXC008.nsn-intra.net> <316C44F589D2CA42B93FBBF76A86C1CC02628655@SGSIEXC008.nsn-intra.net> Message-ID: Hi Kiran, There are some Chinese documents about porting jvm to mips. If you have someone who can read Chinese, these documents may be helpful. If you need them, please let me know and I would send you the documents. Ao Qi 2010/12/24 Kumar, Kiran 3. (NSN - IN/Bangalore) > Hi Ynag > > I am facing some difficulties in chnaging the endian to big endian,can u > have any > Design document for the OpenJDK. > > > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -----Original Message----- > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > Sent: Thursday, December 23, 2010 12:33 PM > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > Cc: ext YANG Yongqiang; mips-port at openjdk.java.net > Subject: RE: Need some Info regarding OpenJDK for MIPS. > > Hi Kiran, > > I think it will need not too much effort to do this job. The job could be > divided into 2 phases. > > First, you can change template interperter back to big endian. > To do this, you need to implement your bytes operations, which are in > hotspot/src/cpu/mips/vm/bytes_mips*. > > Second, you can make c1 support MIPS with big endian. You need to > implement native instructions which are in > hotspot/src/cpu/mips/vm/nativeInst_mips*. > > During our porting, we had a premise that destination processor is little > endian. Thus maybe there are some ugly codes which rely on the premise. > This will need your some efforts to detect these codes. > > > Cheers, > Yongqiang. > > > Hi Yang > > > > Thanks for the reply ,what is the effort needed to change it back > > to big endian.If you have any idea please let me know ,as I am intersted > > to change it back > > to bigendian as the Hadware we use is MIPS big endian. > > > > > > Thanks and Regards > > ------------------------------------- > > > > Kiran Kumar P > > Mobile: 9880758736 > > > > -----Original Message----- > > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > > Sent: Thursday, December 23, 2010 12:10 PM > > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > > Cc: ext YANG Yongqiang; mips-port at openjdk.java.net > > Subject: RE: Need some Info regarding OpenJDK for MIPS. > > > >> > >> Hi YANG > >> > >> Here I have one question as JAVA by defaullt is big endian ,correct me > >> if > >> I am wrong. > >> What I understood is it is ported to little endian now I have to change > >> it back to use big endian right. > > > > Yes, you are right. > > BTW: The destination of this porting is Loongson processor which is > little > > endian, so we must change big endian to little endian . > > > >> > >> > >> > >> > >> Thanks and Regards > >> ------------------------------------- > >> > >> Kiran Kumar P > >> Mobile: 9880758736 > >> > >> -----Original Message----- > >> From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > >> Sent: Thursday, December 23, 2010 11:58 AM > >> To: Kumar, Kiran 3. (NSN - IN/Bangalore) > >> Cc: mips-port at openjdk.java.net > >> Subject: Re: Need some Info regarding OpenJDK for MIPS. > >> > >> Hi Kiran Kumar P, > >> > >> Now it only supports MIPS on little Endian architecture. If you want a > >> version supporting MIPS on big Endian architecture. You just need to > >> change native instructions and bytes instructions yourself. > >> > >> Cheers, > >> Yongqiang. > >> > >>> > >>> HI > >>> > >>> I am Kiran from Nokia Siemens Bangalore, I came across u r website > >>> http://icedtea.classpath.org/hg/openjdk6-mips/summary > >>> That I came to know that OpenJDK is available for MIPS ,we are also > >>> looking for java on MIPS. > >>> > >>> Here my question is this OpenJDK supports MIPS on big Endian > >>> architecure,as we are looking for OpenJDK on MIPS for big Endian. > >>> Thank you. > >>> > >>> > >>> Thanks and Regards > >>> ------------------------------------- > >>> > >>> Kiran Kumar P > >>> Mobile: 9880758736 > >>> > >>> > >> > >> > >> -- > >> Yongqiang > >> > >> > >> > > > > > > -- > > Yongqiang > > > > > > > > > -- > Yongqiang > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/mips-port/attachments/20101225/18c71c91/attachment.html From kiran.3.kumar at nsn.com Sun Dec 26 20:41:37 2010 From: kiran.3.kumar at nsn.com (Kumar, Kiran 3. (NSN - IN/Bangalore)) Date: Mon, 27 Dec 2010 12:41:37 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net><960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn><316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net><316C44F589D2CA42B93FBBF76A86C1CC025E8727@SGSIEXC008.nsn-intra.net><316C44F589D2CA42B93FBBF76A86C1CC02628655@SGSIEXC008.nsn-intra.net> Message-ID: <316C44F589D2CA42B93FBBF76A86C1CC02628CBC@SGSIEXC008.nsn-intra.net> Hi Here we dont china ,but thanks for an early response. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 ________________________________ From: aoqi1986 at gmail.com [mailto:aoqi1986 at gmail.com] On Behalf Of ext Ao Qi Sent: Saturday, December 25, 2010 1:50 PM To: Kumar, Kiran 3. (NSN - IN/Bangalore) Cc: ext YANG Yongqiang; mips-port at openjdk.java.net Subject: Re: Need some Info regarding OpenJDK for MIPS. Hi Kiran, There are some Chinese documents about porting jvm to mips. If you have someone who can read Chinese, these documents may be helpful. If you need them, please let me know and I would send you the documents. Ao Qi 2010/12/24 Kumar, Kiran 3. (NSN - IN/Bangalore) Hi Ynag I am facing some difficulties in chnaging the endian to big endian,can u have any Design document for the OpenJDK. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 -----Original Message----- From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] Sent: Thursday, December 23, 2010 12:33 PM To: Kumar, Kiran 3. (NSN - IN/Bangalore) Cc: ext YANG Yongqiang; mips-port at openjdk.java.net Subject: RE: Need some Info regarding OpenJDK for MIPS. Hi Kiran, I think it will need not too much effort to do this job. The job could be divided into 2 phases. First, you can change template interperter back to big endian. To do this, you need to implement your bytes operations, which are in hotspot/src/cpu/mips/vm/bytes_mips*. Second, you can make c1 support MIPS with big endian. You need to implement native instructions which are in hotspot/src/cpu/mips/vm/nativeInst_mips*. During our porting, we had a premise that destination processor is little endian. Thus maybe there are some ugly codes which rely on the premise. This will need your some efforts to detect these codes. Cheers, Yongqiang. > Hi Yang > > Thanks for the reply ,what is the effort needed to change it back > to big endian.If you have any idea please let me know ,as I am intersted > to change it back > to bigendian as the Hadware we use is MIPS big endian. > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -----Original Message----- > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > Sent: Thursday, December 23, 2010 12:10 PM > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > Cc: ext YANG Yongqiang; mips-port at openjdk.java.net > Subject: RE: Need some Info regarding OpenJDK for MIPS. > >> >> Hi YANG >> >> Here I have one question as JAVA by defaullt is big endian ,correct me >> if >> I am wrong. >> What I understood is it is ported to little endian now I have to change >> it back to use big endian right. > > Yes, you are right. > BTW: The destination of this porting is Loongson processor which is little > endian, so we must change big endian to little endian . > >> >> >> >> >> Thanks and Regards >> ------------------------------------- >> >> Kiran Kumar P >> Mobile: 9880758736 >> >> -----Original Message----- >> From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] >> Sent: Thursday, December 23, 2010 11:58 AM >> To: Kumar, Kiran 3. (NSN - IN/Bangalore) >> Cc: mips-port at openjdk.java.net >> Subject: Re: Need some Info regarding OpenJDK for MIPS. >> >> Hi Kiran Kumar P, >> >> Now it only supports MIPS on little Endian architecture. If you want a >> version supporting MIPS on big Endian architecture. You just need to >> change native instructions and bytes instructions yourself. >> >> Cheers, >> Yongqiang. >> >>> >>> HI >>> >>> I am Kiran from Nokia Siemens Bangalore, I came across u r website >>> http://icedtea.classpath.org/hg/openjdk6-mips/summary >>> That I came to know that OpenJDK is available for MIPS ,we are also >>> looking for java on MIPS. >>> >>> Here my question is this OpenJDK supports MIPS on big Endian >>> architecure,as we are looking for OpenJDK on MIPS for big Endian. >>> Thank you. >>> >>> >>> Thanks and Regards >>> ------------------------------------- >>> >>> Kiran Kumar P >>> Mobile: 9880758736 >>> >>> >> >> >> -- >> Yongqiang >> >> >> > > > -- > Yongqiang > > > -- Yongqiang -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/mips-port/attachments/20101227/503b7eda/attachment.html From kiran.3.kumar at nsn.com Thu Dec 30 20:47:48 2010 From: kiran.3.kumar at nsn.com (Kumar, Kiran 3. (NSN - IN/Bangalore)) Date: Fri, 31 Dec 2010 12:47:48 +0800 Subject: Need some Info regarding OpenJDK for MIPS. In-Reply-To: References: <316C44F589D2CA42B93FBBF76A86C1CC025E8690@SGSIEXC008.nsn-intra.net><960d2fd0341606731ab6dc41659ea8d8.squirrel@mail.loongson.cn><316C44F589D2CA42B93FBBF76A86C1CC025E8701@SGSIEXC008.nsn-intra.net><316C44F589D2CA42B93FBBF76A86C1CC025E8727@SGSIEXC008.nsn-intra.net><316C44F589D2CA42B93FBBF76A86C1CC02628655@SGSIEXC008.nsn-intra.net> Message-ID: <316C44F589D2CA42B93FBBF76A86C1CC0269CC3F@SGSIEXC008.nsn-intra.net> Hi Ao I got some refrence to the people who knew chinese language ,it would be very helpful in our work if you share those document. Thanks you. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 ________________________________ From: aoqi1986 at gmail.com [mailto:aoqi1986 at gmail.com] On Behalf Of ext Ao Qi Sent: Saturday, December 25, 2010 1:50 PM To: Kumar, Kiran 3. (NSN - IN/Bangalore) Cc: ext YANG Yongqiang; mips-port at openjdk.java.net Subject: Re: Need some Info regarding OpenJDK for MIPS. Hi Kiran, There are some Chinese documents about porting jvm to mips. If you have someone who can read Chinese, these documents may be helpful. If you need them, please let me know and I would send you the documents. Ao Qi 2010/12/24 Kumar, Kiran 3. (NSN - IN/Bangalore) Hi Ynag I am facing some difficulties in chnaging the endian to big endian,can u have any Design document for the OpenJDK. Thanks and Regards ------------------------------------- Kiran Kumar P Mobile: 9880758736 -----Original Message----- From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] Sent: Thursday, December 23, 2010 12:33 PM To: Kumar, Kiran 3. (NSN - IN/Bangalore) Cc: ext YANG Yongqiang; mips-port at openjdk.java.net Subject: RE: Need some Info regarding OpenJDK for MIPS. Hi Kiran, I think it will need not too much effort to do this job. The job could be divided into 2 phases. First, you can change template interperter back to big endian. To do this, you need to implement your bytes operations, which are in hotspot/src/cpu/mips/vm/bytes_mips*. Second, you can make c1 support MIPS with big endian. You need to implement native instructions which are in hotspot/src/cpu/mips/vm/nativeInst_mips*. During our porting, we had a premise that destination processor is little endian. Thus maybe there are some ugly codes which rely on the premise. This will need your some efforts to detect these codes. Cheers, Yongqiang. > Hi Yang > > Thanks for the reply ,what is the effort needed to change it back > to big endian.If you have any idea please let me know ,as I am intersted > to change it back > to bigendian as the Hadware we use is MIPS big endian. > > > Thanks and Regards > ------------------------------------- > > Kiran Kumar P > Mobile: 9880758736 > > -----Original Message----- > From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] > Sent: Thursday, December 23, 2010 12:10 PM > To: Kumar, Kiran 3. (NSN - IN/Bangalore) > Cc: ext YANG Yongqiang; mips-port at openjdk.java.net > Subject: RE: Need some Info regarding OpenJDK for MIPS. > >> >> Hi YANG >> >> Here I have one question as JAVA by defaullt is big endian ,correct me >> if >> I am wrong. >> What I understood is it is ported to little endian now I have to change >> it back to use big endian right. > > Yes, you are right. > BTW: The destination of this porting is Loongson processor which is little > endian, so we must change big endian to little endian . > >> >> >> >> >> Thanks and Regards >> ------------------------------------- >> >> Kiran Kumar P >> Mobile: 9880758736 >> >> -----Original Message----- >> From: ext YANG Yongqiang [mailto:yangyongqiang at loongson.cn] >> Sent: Thursday, December 23, 2010 11:58 AM >> To: Kumar, Kiran 3. (NSN - IN/Bangalore) >> Cc: mips-port at openjdk.java.net >> Subject: Re: Need some Info regarding OpenJDK for MIPS. >> >> Hi Kiran Kumar P, >> >> Now it only supports MIPS on little Endian architecture. If you want a >> version supporting MIPS on big Endian architecture. You just need to >> change native instructions and bytes instructions yourself. >> >> Cheers, >> Yongqiang. >> >>> >>> HI >>> >>> I am Kiran from Nokia Siemens Bangalore, I came across u r website >>> http://icedtea.classpath.org/hg/openjdk6-mips/summary >>> That I came to know that OpenJDK is available for MIPS ,we are also >>> looking for java on MIPS. >>> >>> Here my question is this OpenJDK supports MIPS on big Endian >>> architecure,as we are looking for OpenJDK on MIPS for big Endian. >>> Thank you. >>> >>> >>> Thanks and Regards >>> ------------------------------------- >>> >>> Kiran Kumar P >>> Mobile: 9880758736 >>> >>> >> >> >> -- >> Yongqiang >> >> >> > > > -- > Yongqiang > > > -- Yongqiang -------------- next part -------------- An HTML attachment was scrubbed... URL: http://mail.openjdk.java.net/pipermail/mips-port/attachments/20101231/9baf102c/attachment.html