--- a/.hgtags Mon Feb 15 10:18:55 2010 -0800
+++ b/.hgtags Wed Feb 17 10:24:30 2010 -0800
@@ -55,3 +55,6 @@
4061c66ba1af1a2e27c2c839ba887407dd3ce050 jdk7-b78
e9c98378f6b9256c0595ef2985ca5899f0c0e274 jdk7-b79
e6abd38682d237306d6c147c17538ec9e7f8e3a7 jdk7-b80
+dcc938ac40cc45f1ef454d76020b5db5d943001c jdk7-b81
+a30062be6d9ca1d48579826f870f85974300004e jdk7-b82
+34c8199936a1682aa8587857f44cfaf37c2b6381 jdk7-b83
--- a/.hgtags-top-repo Mon Feb 15 10:18:55 2010 -0800
+++ b/.hgtags-top-repo Wed Feb 17 10:24:30 2010 -0800
@@ -55,3 +55,6 @@
ab4ae8f4514693a9fe17ca2fec0239d8f8450d2c jdk7-b78
20aeeb51713990dbea6929a2e100a8bbf5df70d4 jdk7-b79
a3242906c7747b5d9bcc3d118c7c3c69aa40f4b7 jdk7-b80
+8403096d1fe7ff5318df9708cfec84a3fd3e1cf9 jdk7-b81
+e1176f86805fe07fd9fb9da065dc51b47712ce76 jdk7-b82
+6880a3af9addb41541e80ebe8cde6f79ec402a58 jdk7-b83
--- a/corba/.hgtags Mon Feb 15 10:18:55 2010 -0800
+++ b/corba/.hgtags Wed Feb 17 10:24:30 2010 -0800
@@ -55,3 +55,6 @@
a7f7276b48cd74d8eb1baa83fbf3d1ef4a2603c8 jdk7-b78
ec0421b5703b677e2226cf4bf7ae4eaafd8061c5 jdk7-b79
0336e70ca0aeabc783cc01658f36cb6e27ea7934 jdk7-b80
+e08a42a2a94d97ea8eedb187a94dbff822c8fbba jdk7-b81
+1e8c1bfad1abb4b81407a0f2645e0fb85764ca48 jdk7-b82
+fde0df7a2384f7fe33204a79678989807d9c2b98 jdk7-b83
--- a/hotspot/.hgtags Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/.hgtags Wed Feb 17 10:24:30 2010 -0800
@@ -55,3 +55,28 @@
e703499b4b51e3af756ae77c3d5e8b3058a14e4e jdk7-b78
a5a6adfca6ecefb5894a848debabfe442ff50e25 jdk7-b79
3003ddd1d4330b06cb4691ae74d600d3685899eb jdk7-b80
+1f9b07674480c224828852ffe137beea36b3cab5 jdk7-b81
+1999f5b12482d66c8b0daf6709daea4f51893a04 jdk7-b82
+a94714c550658fd6741793ef036cb9625dc2ab1a hs17-b01
+faf94d94786b621f8e13cbcc941ca69c6d967c3f hs17-b02
+f4b900403d6e4b0af51447bd13bbe23fe3a1dac7 hs17-b03
+d8dd291a362acb656026a9c0a9da48501505a1e7 hs17-b04
+9174bb32e934965288121f75394874eeb1fcb649 hs17-b05
+a5a6adfca6ecefb5894a848debabfe442ff50e25 hs17-b06
+3003ddd1d4330b06cb4691ae74d600d3685899eb hs17-b07
+1f9b07674480c224828852ffe137beea36b3cab5 hs17-b08
+ff3232b68fbb35185b338d7ff4695b52460243f3 hs17-b09
+981375ca07b7f0605f92f57aad95122e8c385a4d hs16-b01
+f4cbf78110c726919f46b59a3b054c54c7e889b4 hs16-b02
+07c1c01e031513bfe6a7d17c6cf30d2752824ae9 hs16-b03
+08f86fa55a31113df626a75c8a626e66a543a1bd hs16-b04
+32c83fb84370a35344676991a48440378e6b6c8a hs16-b05
+ba313800759b678979434d6da8ed3bf49eb8bea4 hs16-b06
+3c0f729815607e1678bd0c41ae68494c700dcc71 hs16-b07
+ac59d4e6dae51ac5fc31a9a4940d1857f91161b1 hs16-b08
+3f844a28c5f4912bd04043b44f21b25b0805ffc2 hs15-b01
+1605bb4eb5a7a1703b13d5b077a22cc665fe45f7 hs15-b02
+2581d90c6c9b2012da930eb4742add94a03069a0 hs15-b03
+9ab385cb0c42997e16a7761ebcd25c90560a2714 hs15-b04
+fafab5d5349c7c066d677538db67a1ee0fb33bd2 hs15-b05
+3f370a32906eb5ba993fabd7b4279be7f31052b9 jdk7-b83
--- a/hotspot/make/Makefile Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/make/Makefile Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
#
-# Copyright 2005-2008 Sun Microsystems, Inc. All Rights Reserved.
+# Copyright 2005-2010 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
@@ -312,10 +312,13 @@
$(EXPORT_LIB_DIR)/%.jar: $(GEN_DIR)/%.jar
$(install-file)
-# Include files (jvmti.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h)
+# Include files (jvmti.h, jvmticmlr.h, jni.h, $(JDK_INCLUDE_SUBDIR)/jni_md.h, jmm.h)
$(EXPORT_INCLUDE_DIR)/%: $(GEN_DIR)/jvmtifiles/%
$(install-file)
+$(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/code/%
+ $(install-file)
+
$(EXPORT_INCLUDE_DIR)/%: $(HS_SRC_DIR)/share/vm/prims/%
$(install-file)
--- a/hotspot/make/defs.make Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/make/defs.make Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
#
-# Copyright 2006-2008 Sun Microsystems, Inc. All Rights Reserved.
+# Copyright 2006-2010 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
@@ -261,6 +261,7 @@
# Common export list of files
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmti.h
+EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jvmticmlr.h
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jni.h
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/$(JDK_INCLUDE_SUBDIR)/jni_md.h
EXPORT_LIST += $(EXPORT_INCLUDE_DIR)/jmm.h
--- a/hotspot/make/hotspot_version Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/make/hotspot_version Wed Feb 17 10:24:30 2010 -0800
@@ -35,7 +35,7 @@
HS_MAJOR_VER=17
HS_MINOR_VER=0
-HS_BUILD_NUMBER=08
+HS_BUILD_NUMBER=09
JDK_MAJOR_VER=1
JDK_MINOR_VER=7
--- a/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2010 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
@@ -357,7 +357,7 @@
}
-void LIR_Assembler::emit_exception_handler() {
+int LIR_Assembler::emit_exception_handler() {
// if the last instruction is a call (typically to do a throw which
// is coming at the end after block reordering) the return address
// must still point into the code area in order to avoid assertion
@@ -373,15 +373,12 @@
if (handler_base == NULL) {
// not enough space left for the handler
bailout("exception handler overflow");
- return;
+ return -1;
}
-#ifdef ASSERT
+
int offset = code_offset();
-#endif // ASSERT
- compilation()->offsets()->set_value(CodeOffsets::Exceptions, code_offset());
-
-
- if (compilation()->has_exception_handlers() || compilation()->env()->jvmti_can_post_exceptions()) {
+
+ if (compilation()->has_exception_handlers() || compilation()->env()->jvmti_can_post_on_exceptions()) {
__ call(Runtime1::entry_for(Runtime1::handle_exception_id), relocInfo::runtime_call_type);
__ delayed()->nop();
}
@@ -390,11 +387,13 @@
__ delayed()->nop();
debug_only(__ stop("should have gone to the caller");)
assert(code_offset() - offset <= exception_handler_size, "overflow");
-
__ end_a_stub();
+
+ return offset;
}
-void LIR_Assembler::emit_deopt_handler() {
+
+int LIR_Assembler::emit_deopt_handler() {
// if the last instruction is a call (typically to do a throw which
// is coming at the end after block reordering) the return address
// must still point into the code area in order to avoid assertion
@@ -408,23 +407,18 @@
if (handler_base == NULL) {
// not enough space left for the handler
bailout("deopt handler overflow");
- return;
+ return -1;
}
-#ifdef ASSERT
+
int offset = code_offset();
-#endif // ASSERT
- compilation()->offsets()->set_value(CodeOffsets::Deopt, code_offset());
-
AddressLiteral deopt_blob(SharedRuntime::deopt_blob()->unpack());
-
__ JUMP(deopt_blob, G3_scratch, 0); // sethi;jmp
__ delayed()->nop();
-
assert(code_offset() - offset <= deopt_handler_size, "overflow");
-
debug_only(__ stop("should have gone to the caller");)
-
__ end_a_stub();
+
+ return offset;
}
--- a/hotspot/src/cpu/sparc/vm/frame_sparc.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/sparc/vm/frame_sparc.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -366,8 +366,9 @@
// as get_original_pc() needs correct value for unextended_sp()
if (_pc != NULL) {
_cb = CodeCache::find_blob(_pc);
- if (_cb != NULL && _cb->is_nmethod() && ((nmethod*)_cb)->is_deopt_pc(_pc)) {
- _pc = ((nmethod*)_cb)->get_original_pc(this);
+ address original_pc = nmethod::get_deopt_original_pc(this);
+ if (original_pc != NULL) {
+ _pc = original_pc;
_deopt_state = is_deoptimized;
} else {
_deopt_state = not_deoptimized;
@@ -519,9 +520,9 @@
_cb = CodeCache::find_blob(pc);
*O7_addr() = pc - pc_return_offset;
_cb = CodeCache::find_blob(_pc);
- if (_cb != NULL && _cb->is_nmethod() && ((nmethod*)_cb)->is_deopt_pc(_pc)) {
- address orig = ((nmethod*)_cb)->get_original_pc(this);
- assert(orig == _pc, "expected original to be stored before patching");
+ address original_pc = nmethod::get_deopt_original_pc(this);
+ if (original_pc != NULL) {
+ assert(original_pc == _pc, "expected original to be stored before patching");
_deopt_state = is_deoptimized;
} else {
_deopt_state = not_deoptimized;
--- a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1681,11 +1681,8 @@
// If no method data exists, go to profile_continue.
test_method_data_pointer(profile_continue);
- // We are making a call. Increment the count.
- increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch);
-
// Record the receiver type.
- record_klass_in_profile(receiver, scratch);
+ record_klass_in_profile(receiver, scratch, true);
// The method data pointer needs to be updated to reflect the new target.
update_mdp_by_constant(in_bytes(VirtualCallData::virtual_call_data_size()));
@@ -1695,9 +1692,13 @@
void InterpreterMacroAssembler::record_klass_in_profile_helper(
Register receiver, Register scratch,
- int start_row, Label& done) {
- if (TypeProfileWidth == 0)
+ int start_row, Label& done, bool is_virtual_call) {
+ if (TypeProfileWidth == 0) {
+ if (is_virtual_call) {
+ increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch);
+ }
return;
+ }
int last_row = VirtualCallData::row_limit() - 1;
assert(start_row <= last_row, "must be work left to do");
@@ -1714,6 +1715,7 @@
// See if the receiver is receiver[n].
int recvr_offset = in_bytes(VirtualCallData::receiver_offset(row));
test_mdp_data_at(recvr_offset, receiver, next_test, scratch);
+ // delayed()->tst(scratch);
// The receiver is receiver[n]. Increment count[n].
int count_offset = in_bytes(VirtualCallData::receiver_count_offset(row));
@@ -1723,20 +1725,31 @@
bind(next_test);
if (test_for_null_also) {
+ Label found_null;
// Failed the equality check on receiver[n]... Test for null.
if (start_row == last_row) {
// The only thing left to do is handle the null case.
- brx(Assembler::notZero, false, Assembler::pt, done);
- delayed()->nop();
+ if (is_virtual_call) {
+ brx(Assembler::zero, false, Assembler::pn, found_null);
+ delayed()->nop();
+ // Receiver did not match any saved receiver and there is no empty row for it.
+ // Increment total counter to indicate polimorphic case.
+ increment_mdp_data_at(in_bytes(CounterData::count_offset()), scratch);
+ ba(false, done);
+ delayed()->nop();
+ bind(found_null);
+ } else {
+ brx(Assembler::notZero, false, Assembler::pt, done);
+ delayed()->nop();
+ }
break;
}
// Since null is rare, make it be the branch-taken case.
- Label found_null;
brx(Assembler::zero, false, Assembler::pn, found_null);
delayed()->nop();
// Put all the "Case 3" tests here.
- record_klass_in_profile_helper(receiver, scratch, start_row + 1, done);
+ record_klass_in_profile_helper(receiver, scratch, start_row + 1, done, is_virtual_call);
// Found a null. Keep searching for a matching receiver,
// but remember that this is an empty (unused) slot.
@@ -1753,16 +1766,18 @@
int count_offset = in_bytes(VirtualCallData::receiver_count_offset(start_row));
mov(DataLayout::counter_increment, scratch);
set_mdp_data_at(count_offset, scratch);
- ba(false, done);
- delayed()->nop();
+ if (start_row > 0) {
+ ba(false, done);
+ delayed()->nop();
+ }
}
void InterpreterMacroAssembler::record_klass_in_profile(Register receiver,
- Register scratch) {
+ Register scratch, bool is_virtual_call) {
assert(ProfileInterpreter, "must be profiling");
Label done;
- record_klass_in_profile_helper(receiver, scratch, 0, done);
+ record_klass_in_profile_helper(receiver, scratch, 0, done, is_virtual_call);
bind (done);
}
@@ -1840,7 +1855,7 @@
mdp_delta = in_bytes(VirtualCallData::virtual_call_data_size());
// Record the object type.
- record_klass_in_profile(klass, scratch);
+ record_klass_in_profile(klass, scratch, false);
}
// The method data pointer needs to be updated.
--- a/hotspot/src/cpu/sparc/vm/interp_masm_sparc.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/sparc/vm/interp_masm_sparc.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -290,9 +290,9 @@
void test_mdp_data_at(int offset, Register value, Label& not_equal_continue,
Register scratch);
- void record_klass_in_profile(Register receiver, Register scratch);
+ void record_klass_in_profile(Register receiver, Register scratch, bool is_virtual_call);
void record_klass_in_profile_helper(Register receiver, Register scratch,
- int start_row, Label& done);
+ int start_row, Label& done, bool is_virtual_call);
void update_mdp_by_offset(int offset_of_disp, Register scratch);
void update_mdp_by_offset(Register reg, int offset_of_disp,
--- a/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/sparc/vm/sharedRuntime_sparc.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2003-2010 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
@@ -1189,7 +1189,8 @@
// VMReg max_arg,
int comp_args_on_stack, // VMRegStackSlots
const BasicType *sig_bt,
- const VMRegPair *regs) {
+ const VMRegPair *regs,
+ AdapterFingerPrint* fingerprint) {
address i2c_entry = __ pc();
AdapterGenerator agen(masm);
@@ -1258,7 +1259,7 @@
agen.gen_c2i_adapter(total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup);
__ flush();
- return new AdapterHandlerEntry(i2c_entry, c2i_entry, c2i_unverified_entry);
+ return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry);
}
--- a/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/c1_LIRAssembler_x86.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2010 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
@@ -418,13 +418,12 @@
}
-void LIR_Assembler::emit_exception_handler() {
+int LIR_Assembler::emit_exception_handler() {
// if the last instruction is a call (typically to do a throw which
// is coming at the end after block reordering) the return address
// must still point into the code area in order to avoid assertion
// failures when searching for the corresponding bci => add a nop
// (was bug 5/14/1999 - gri)
-
__ nop();
// generate code for exception handler
@@ -432,17 +431,14 @@
if (handler_base == NULL) {
// not enough space left for the handler
bailout("exception handler overflow");
- return;
+ return -1;
}
-#ifdef ASSERT
+
int offset = code_offset();
-#endif // ASSERT
-
- compilation()->offsets()->set_value(CodeOffsets::Exceptions, code_offset());
// if the method does not have an exception handler, then there is
// no reason to search for one
- if (compilation()->has_exception_handlers() || compilation()->env()->jvmti_can_post_exceptions()) {
+ if (compilation()->has_exception_handlers() || compilation()->env()->jvmti_can_post_on_exceptions()) {
// the exception oop and pc are in rax, and rdx
// no other registers need to be preserved, so invalidate them
__ invalidate_registers(false, true, true, false, true, true);
@@ -474,19 +470,19 @@
// unwind activation and forward exception to caller
// rax,: exception
__ jump(RuntimeAddress(Runtime1::entry_for(Runtime1::unwind_exception_id)));
-
assert(code_offset() - offset <= exception_handler_size, "overflow");
-
__ end_a_stub();
+
+ return offset;
}
-void LIR_Assembler::emit_deopt_handler() {
+
+int LIR_Assembler::emit_deopt_handler() {
// if the last instruction is a call (typically to do a throw which
// is coming at the end after block reordering) the return address
// must still point into the code area in order to avoid assertion
// failures when searching for the corresponding bci => add a nop
// (was bug 5/14/1999 - gri)
-
__ nop();
// generate code for exception handler
@@ -494,23 +490,17 @@
if (handler_base == NULL) {
// not enough space left for the handler
bailout("deopt handler overflow");
- return;
+ return -1;
}
-#ifdef ASSERT
+
int offset = code_offset();
-#endif // ASSERT
-
- compilation()->offsets()->set_value(CodeOffsets::Deopt, code_offset());
-
InternalAddress here(__ pc());
__ pushptr(here.addr());
-
__ jump(RuntimeAddress(SharedRuntime::deopt_blob()->unpack()));
-
assert(code_offset() - offset <= deopt_handler_size, "overflow");
-
__ end_a_stub();
+ return offset;
}
@@ -3219,7 +3209,6 @@
Register mdo = op->mdo()->as_register();
__ movoop(mdo, md->constant_encoding());
Address counter_addr(mdo, md->byte_offset_of_slot(data, CounterData::count_offset()));
- __ addl(counter_addr, DataLayout::counter_increment);
Bytecodes::Code bc = method->java_code_at_bci(bci);
// Perform additional virtual call profiling for invokevirtual and
// invokeinterface bytecodes
@@ -3286,14 +3275,18 @@
__ jcc(Assembler::notEqual, next_test);
__ movptr(recv_addr, recv);
__ movl(Address(mdo, md->byte_offset_of_slot(data, VirtualCallData::receiver_count_offset(i))), DataLayout::counter_increment);
- if (i < (VirtualCallData::row_limit() - 1)) {
- __ jmp(update_done);
- }
+ __ jmp(update_done);
__ bind(next_test);
}
+ // Receiver did not match any saved receiver and there is no empty row for it.
+ // Increment total counter to indicate polimorphic case.
+ __ addl(counter_addr, DataLayout::counter_increment);
__ bind(update_done);
}
+ } else {
+ // Static call
+ __ addl(counter_addr, DataLayout::counter_increment);
}
}
--- a/hotspot/src/cpu/x86/vm/frame_x86.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/frame_x86.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -222,9 +222,9 @@
}
((address *)sp())[-1] = pc;
_cb = CodeCache::find_blob(pc);
- if (_cb != NULL && _cb->is_nmethod() && ((nmethod*)_cb)->is_deopt_pc(_pc)) {
- address orig = (((nmethod*)_cb)->get_original_pc(this));
- assert(orig == _pc, "expected original to be stored before patching");
+ address original_pc = nmethod::get_deopt_original_pc(this);
+ if (original_pc != NULL) {
+ assert(original_pc == _pc, "expected original PC to be stored before patching");
_deopt_state = is_deoptimized;
// leave _pc as is
} else {
@@ -323,19 +323,61 @@
return fr;
}
+
+//------------------------------------------------------------------------------
+// frame::verify_deopt_original_pc
+//
+// Verifies the calculated original PC of a deoptimization PC for the
+// given unextended SP. The unextended SP might also be the saved SP
+// for MethodHandle call sites.
+#if ASSERT
+void frame::verify_deopt_original_pc(nmethod* nm, intptr_t* unextended_sp, bool is_method_handle_return) {
+ frame fr;
+
+ // This is ugly but it's better than to change {get,set}_original_pc
+ // to take an SP value as argument. And it's only a debugging
+ // method anyway.
+ fr._unextended_sp = unextended_sp;
+
+ address original_pc = nm->get_original_pc(&fr);
+ assert(nm->code_contains(original_pc), "original PC must be in nmethod");
+ assert(nm->is_method_handle_return(original_pc) == is_method_handle_return, "must be");
+}
+#endif
+
+
+//------------------------------------------------------------------------------
+// frame::sender_for_interpreter_frame
frame frame::sender_for_interpreter_frame(RegisterMap* map) const {
- // sp is the raw sp from the sender after adapter or interpreter extension
- intptr_t* sp = (intptr_t*) addr_at(sender_sp_offset);
+ // SP is the raw SP from the sender after adapter or interpreter
+ // extension.
+ intptr_t* sender_sp = this->sender_sp();
// This is the sp before any possible extension (adapter/locals).
intptr_t* unextended_sp = interpreter_frame_sender_sp();
+ // Stored FP.
+ intptr_t* saved_fp = link();
+
address sender_pc = this->sender_pc();
CodeBlob* sender_cb = CodeCache::find_blob_unsafe(sender_pc);
assert(sender_cb, "sanity");
nmethod* sender_nm = sender_cb->as_nmethod_or_null();
- if (sender_nm != NULL && sender_nm->is_method_handle_return(sender_pc)) {
- unextended_sp = (intptr_t*) at(link_offset);
+
+ if (sender_nm != NULL) {
+ // If the sender PC is a deoptimization point, get the original
+ // PC. For MethodHandle call site the unextended_sp is stored in
+ // saved_fp.
+ if (sender_nm->is_deopt_mh_entry(sender_pc)) {
+ DEBUG_ONLY(verify_deopt_mh_original_pc(sender_nm, saved_fp));
+ unextended_sp = saved_fp;
+ }
+ else if (sender_nm->is_deopt_entry(sender_pc)) {
+ DEBUG_ONLY(verify_deopt_original_pc(sender_nm, unextended_sp));
+ }
+ else if (sender_nm->is_method_handle_return(sender_pc)) {
+ unextended_sp = saved_fp;
+ }
}
// The interpreter and compiler(s) always save EBP/RBP in a known
@@ -359,40 +401,51 @@
}
#endif // AMD64
}
-#endif /* COMPILER2 */
- return frame(sp, unextended_sp, link(), sender_pc);
+#endif // COMPILER2
+
+ return frame(sender_sp, unextended_sp, saved_fp, sender_pc);
}
-//------------------------------sender_for_compiled_frame-----------------------
+//------------------------------------------------------------------------------
+// frame::sender_for_compiled_frame
frame frame::sender_for_compiled_frame(RegisterMap* map) const {
assert(map != NULL, "map must be set");
- const bool c1_compiled = _cb->is_compiled_by_c1();
// frame owned by optimizing compiler
- intptr_t* sender_sp = NULL;
-
assert(_cb->frame_size() >= 0, "must have non-zero frame size");
- sender_sp = unextended_sp() + _cb->frame_size();
+ intptr_t* sender_sp = unextended_sp() + _cb->frame_size();
+ intptr_t* unextended_sp = sender_sp;
// On Intel the return_address is always the word on the stack
address sender_pc = (address) *(sender_sp-1);
- // This is the saved value of ebp which may or may not really be an fp.
- // it is only an fp if the sender is an interpreter frame (or c1?)
-
- intptr_t *saved_fp = (intptr_t*)*(sender_sp - frame::sender_sp_offset);
+ // This is the saved value of EBP which may or may not really be an FP.
+ // It is only an FP if the sender is an interpreter frame (or C1?).
+ intptr_t* saved_fp = (intptr_t*) *(sender_sp - frame::sender_sp_offset);
- intptr_t* unextended_sp = sender_sp;
- // If we are returning to a compiled method handle call site,
- // the saved_fp will in fact be a saved value of the unextended SP.
- // The simplest way to tell whether we are returning to such a call
- // site is as follows:
+ // If we are returning to a compiled MethodHandle call site, the
+ // saved_fp will in fact be a saved value of the unextended SP. The
+ // simplest way to tell whether we are returning to such a call site
+ // is as follows:
CodeBlob* sender_cb = CodeCache::find_blob_unsafe(sender_pc);
assert(sender_cb, "sanity");
nmethod* sender_nm = sender_cb->as_nmethod_or_null();
- if (sender_nm != NULL && sender_nm->is_method_handle_return(sender_pc)) {
- unextended_sp = saved_fp;
+
+ if (sender_nm != NULL) {
+ // If the sender PC is a deoptimization point, get the original
+ // PC. For MethodHandle call site the unextended_sp is stored in
+ // saved_fp.
+ if (sender_nm->is_deopt_mh_entry(sender_pc)) {
+ DEBUG_ONLY(verify_deopt_mh_original_pc(sender_nm, saved_fp));
+ unextended_sp = saved_fp;
+ }
+ else if (sender_nm->is_deopt_entry(sender_pc)) {
+ DEBUG_ONLY(verify_deopt_original_pc(sender_nm, unextended_sp));
+ }
+ else if (sender_nm->is_method_handle_return(sender_pc)) {
+ unextended_sp = saved_fp;
+ }
}
if (map->update_map()) {
@@ -403,7 +456,7 @@
if (_cb->oop_maps() != NULL) {
OopMapSet::update_register_map(this, map);
}
- // Since the prolog does the save and restore of epb there is no oopmap
+ // Since the prolog does the save and restore of EBP there is no oopmap
// for it so we must fill in its location as if there was an oopmap entry
// since if our caller was compiled code there could be live jvm state in it.
map->set_location(rbp->as_VMReg(), (address) (sender_sp - frame::sender_sp_offset));
@@ -422,6 +475,9 @@
return frame(sender_sp, unextended_sp, saved_fp, sender_pc);
}
+
+//------------------------------------------------------------------------------
+// frame::sender
frame frame::sender(RegisterMap* map) const {
// Default is we done have to follow them. The sender_for_xxx will
// update it accordingly
--- a/hotspot/src/cpu/x86/vm/frame_x86.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/frame_x86.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -163,6 +163,14 @@
return (intptr_t*) addr_at(offset);
}
+#if ASSERT
+ // Used in frame::sender_for_{interpreter,compiled}_frame
+ static void verify_deopt_original_pc( nmethod* nm, intptr_t* unextended_sp, bool is_method_handle_return = false);
+ static void verify_deopt_mh_original_pc(nmethod* nm, intptr_t* unextended_sp) {
+ verify_deopt_original_pc(nm, unextended_sp, true);
+ }
+#endif
+
public:
// Constructors
--- a/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/frame_x86.inline.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -35,32 +35,35 @@
_deopt_state = unknown;
}
-inline frame:: frame(intptr_t* sp, intptr_t* fp, address pc) {
+inline frame::frame(intptr_t* sp, intptr_t* fp, address pc) {
_sp = sp;
_unextended_sp = sp;
_fp = fp;
_pc = pc;
assert(pc != NULL, "no pc?");
_cb = CodeCache::find_blob(pc);
- _deopt_state = not_deoptimized;
- if (_cb != NULL && _cb->is_nmethod() && ((nmethod*)_cb)->is_deopt_pc(_pc)) {
- _pc = (((nmethod*)_cb)->get_original_pc(this));
+
+ address original_pc = nmethod::get_deopt_original_pc(this);
+ if (original_pc != NULL) {
+ _pc = original_pc;
_deopt_state = is_deoptimized;
} else {
_deopt_state = not_deoptimized;
}
}
-inline frame:: frame(intptr_t* sp, intptr_t* unextended_sp, intptr_t* fp, address pc) {
+inline frame::frame(intptr_t* sp, intptr_t* unextended_sp, intptr_t* fp, address pc) {
_sp = sp;
_unextended_sp = unextended_sp;
_fp = fp;
_pc = pc;
assert(pc != NULL, "no pc?");
_cb = CodeCache::find_blob(pc);
- _deopt_state = not_deoptimized;
- if (_cb != NULL && _cb->is_nmethod() && ((nmethod*)_cb)->is_deopt_pc(_pc)) {
- _pc = (((nmethod*)_cb)->get_original_pc(this));
+
+ address original_pc = nmethod::get_deopt_original_pc(this);
+ if (original_pc != NULL) {
+ _pc = original_pc;
+ assert(((nmethod*)_cb)->code_contains(_pc), "original PC must be in nmethod");
_deopt_state = is_deoptimized;
} else {
_deopt_state = not_deoptimized;
@@ -86,9 +89,9 @@
_cb = CodeCache::find_blob(_pc);
- _deopt_state = not_deoptimized;
- if (_cb != NULL && _cb->is_nmethod() && ((nmethod*)_cb)->is_deopt_pc(_pc)) {
- _pc = (((nmethod*)_cb)->get_original_pc(this));
+ address original_pc = nmethod::get_deopt_original_pc(this);
+ if (original_pc != NULL) {
+ _pc = original_pc;
_deopt_state = is_deoptimized;
} else {
_deopt_state = not_deoptimized;
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1239,17 +1239,19 @@
// If no method data exists, go to profile_continue.
test_method_data_pointer(mdp, profile_continue);
- // We are making a call. Increment the count.
- increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
-
Label skip_receiver_profile;
if (receiver_can_be_null) {
+ Label not_null;
testptr(receiver, receiver);
- jcc(Assembler::zero, skip_receiver_profile);
+ jccb(Assembler::notZero, not_null);
+ // We are making a call. Increment the count for null receiver.
+ increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
+ jmp(skip_receiver_profile);
+ bind(not_null);
}
// Record the receiver type.
- record_klass_in_profile(receiver, mdp, reg2);
+ record_klass_in_profile(receiver, mdp, reg2, true);
bind(skip_receiver_profile);
// The method data pointer needs to be updated to reflect the new target.
@@ -1263,10 +1265,14 @@
void InterpreterMacroAssembler::record_klass_in_profile_helper(
Register receiver, Register mdp,
- Register reg2,
- int start_row, Label& done) {
- if (TypeProfileWidth == 0)
+ Register reg2, int start_row,
+ Label& done, bool is_virtual_call) {
+ if (TypeProfileWidth == 0) {
+ if (is_virtual_call) {
+ increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
+ }
return;
+ }
int last_row = VirtualCallData::row_limit() - 1;
assert(start_row <= last_row, "must be work left to do");
@@ -1294,19 +1300,28 @@
bind(next_test);
if (row == start_row) {
+ Label found_null;
// Failed the equality check on receiver[n]... Test for null.
testptr(reg2, reg2);
if (start_row == last_row) {
// The only thing left to do is handle the null case.
- jcc(Assembler::notZero, done);
+ if (is_virtual_call) {
+ jccb(Assembler::zero, found_null);
+ // Receiver did not match any saved receiver and there is no empty row for it.
+ // Increment total counter to indicate polimorphic case.
+ increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
+ jmp(done);
+ bind(found_null);
+ } else {
+ jcc(Assembler::notZero, done);
+ }
break;
}
// Since null is rare, make it be the branch-taken case.
- Label found_null;
jcc(Assembler::zero, found_null);
// Put all the "Case 3" tests here.
- record_klass_in_profile_helper(receiver, mdp, reg2, start_row + 1, done);
+ record_klass_in_profile_helper(receiver, mdp, reg2, start_row + 1, done, is_virtual_call);
// Found a null. Keep searching for a matching receiver,
// but remember that this is an empty (unused) slot.
@@ -1323,16 +1338,18 @@
int count_offset = in_bytes(VirtualCallData::receiver_count_offset(start_row));
movptr(reg2, (int32_t)DataLayout::counter_increment);
set_mdp_data_at(mdp, count_offset, reg2);
- jmp(done);
+ if (start_row > 0) {
+ jmp(done);
+ }
}
void InterpreterMacroAssembler::record_klass_in_profile(Register receiver,
- Register mdp,
- Register reg2) {
+ Register mdp, Register reg2,
+ bool is_virtual_call) {
assert(ProfileInterpreter, "must be profiling");
Label done;
- record_klass_in_profile_helper(receiver, mdp, reg2, 0, done);
+ record_klass_in_profile_helper(receiver, mdp, reg2, 0, done, is_virtual_call);
bind (done);
}
@@ -1425,7 +1442,7 @@
mdp_delta = in_bytes(VirtualCallData::virtual_call_data_size());
// Record the object type.
- record_klass_in_profile(klass, mdp, reg2);
+ record_klass_in_profile(klass, mdp, reg2, false);
assert(reg2 == rdi, "we know how to fix this blown reg");
restore_locals(); // Restore EDI
}
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_32.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -213,10 +213,10 @@
Label& not_equal_continue);
void record_klass_in_profile(Register receiver, Register mdp,
- Register reg2);
+ Register reg2, bool is_virtual_call);
void record_klass_in_profile_helper(Register receiver, Register mdp,
- Register reg2,
- int start_row, Label& done);
+ Register reg2, int start_row,
+ Label& done, bool is_virtual_call);
void update_mdp_by_offset(Register mdp_in, int offset_of_offset);
void update_mdp_by_offset(Register mdp_in, Register reg, int offset_of_disp);
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1262,17 +1262,19 @@
// If no method data exists, go to profile_continue.
test_method_data_pointer(mdp, profile_continue);
- // We are making a call. Increment the count.
- increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
-
Label skip_receiver_profile;
if (receiver_can_be_null) {
+ Label not_null;
testptr(receiver, receiver);
- jcc(Assembler::zero, skip_receiver_profile);
+ jccb(Assembler::notZero, not_null);
+ // We are making a call. Increment the count for null receiver.
+ increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
+ jmp(skip_receiver_profile);
+ bind(not_null);
}
// Record the receiver type.
- record_klass_in_profile(receiver, mdp, reg2);
+ record_klass_in_profile(receiver, mdp, reg2, true);
bind(skip_receiver_profile);
// The method data pointer needs to be updated to reflect the new target.
@@ -1296,10 +1298,14 @@
// See below for example code.
void InterpreterMacroAssembler::record_klass_in_profile_helper(
Register receiver, Register mdp,
- Register reg2,
- int start_row, Label& done) {
- if (TypeProfileWidth == 0)
+ Register reg2, int start_row,
+ Label& done, bool is_virtual_call) {
+ if (TypeProfileWidth == 0) {
+ if (is_virtual_call) {
+ increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
+ }
return;
+ }
int last_row = VirtualCallData::row_limit() - 1;
assert(start_row <= last_row, "must be work left to do");
@@ -1327,19 +1333,28 @@
bind(next_test);
if (test_for_null_also) {
+ Label found_null;
// Failed the equality check on receiver[n]... Test for null.
testptr(reg2, reg2);
if (start_row == last_row) {
// The only thing left to do is handle the null case.
- jcc(Assembler::notZero, done);
+ if (is_virtual_call) {
+ jccb(Assembler::zero, found_null);
+ // Receiver did not match any saved receiver and there is no empty row for it.
+ // Increment total counter to indicate polimorphic case.
+ increment_mdp_data_at(mdp, in_bytes(CounterData::count_offset()));
+ jmp(done);
+ bind(found_null);
+ } else {
+ jcc(Assembler::notZero, done);
+ }
break;
}
// Since null is rare, make it be the branch-taken case.
- Label found_null;
jcc(Assembler::zero, found_null);
// Put all the "Case 3" tests here.
- record_klass_in_profile_helper(receiver, mdp, reg2, start_row + 1, done);
+ record_klass_in_profile_helper(receiver, mdp, reg2, start_row + 1, done, is_virtual_call);
// Found a null. Keep searching for a matching receiver,
// but remember that this is an empty (unused) slot.
@@ -1356,7 +1371,9 @@
int count_offset = in_bytes(VirtualCallData::receiver_count_offset(start_row));
movl(reg2, DataLayout::counter_increment);
set_mdp_data_at(mdp, count_offset, reg2);
- jmp(done);
+ if (start_row > 0) {
+ jmp(done);
+ }
}
// Example state machine code for three profile rows:
@@ -1368,7 +1385,7 @@
// if (row[1].rec != NULL) {
// // degenerate decision tree, rooted at row[2]
// if (row[2].rec == rec) { row[2].incr(); goto done; }
-// if (row[2].rec != NULL) { goto done; } // overflow
+// if (row[2].rec != NULL) { count.incr(); goto done; } // overflow
// row[2].init(rec); goto done;
// } else {
// // remember row[1] is empty
@@ -1381,14 +1398,15 @@
// if (row[2].rec == rec) { row[2].incr(); goto done; }
// row[0].init(rec); goto done;
// }
+// done:
void InterpreterMacroAssembler::record_klass_in_profile(Register receiver,
- Register mdp,
- Register reg2) {
+ Register mdp, Register reg2,
+ bool is_virtual_call) {
assert(ProfileInterpreter, "must be profiling");
Label done;
- record_klass_in_profile_helper(receiver, mdp, reg2, 0, done);
+ record_klass_in_profile_helper(receiver, mdp, reg2, 0, done, is_virtual_call);
bind (done);
}
@@ -1484,7 +1502,7 @@
mdp_delta = in_bytes(VirtualCallData::virtual_call_data_size());
// Record the object type.
- record_klass_in_profile(klass, mdp, reg2);
+ record_klass_in_profile(klass, mdp, reg2, false);
}
update_mdp_by_constant(mdp, mdp_delta);
--- a/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/interp_masm_x86_64.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -222,10 +222,10 @@
Label& not_equal_continue);
void record_klass_in_profile(Register receiver, Register mdp,
- Register reg2);
+ Register reg2, bool is_virtual_call);
void record_klass_in_profile_helper(Register receiver, Register mdp,
- Register reg2,
- int start_row, Label& done);
+ Register reg2, int start_row,
+ Label& done, bool is_virtual_call);
void update_mdp_by_offset(Register mdp_in, int offset_of_offset);
void update_mdp_by_offset(Register mdp_in, Register reg, int offset_of_disp);
--- a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_32.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2003-2010 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
@@ -907,7 +907,8 @@
int total_args_passed,
int comp_args_on_stack,
const BasicType *sig_bt,
- const VMRegPair *regs) {
+ const VMRegPair *regs,
+ AdapterFingerPrint* fingerprint) {
address i2c_entry = __ pc();
gen_i2c_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs);
@@ -954,7 +955,7 @@
gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup);
__ flush();
- return new AdapterHandlerEntry(i2c_entry, c2i_entry, c2i_unverified_entry);
+ return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry);
}
int SharedRuntime::c_calling_convention(const BasicType *sig_bt,
--- a/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/sharedRuntime_x86_64.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2003-2010 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
@@ -778,7 +778,8 @@
int total_args_passed,
int comp_args_on_stack,
const BasicType *sig_bt,
- const VMRegPair *regs) {
+ const VMRegPair *regs,
+ AdapterFingerPrint* fingerprint) {
address i2c_entry = __ pc();
gen_i2c_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs);
@@ -824,7 +825,7 @@
gen_c2i_adapter(masm, total_args_passed, comp_args_on_stack, sig_bt, regs, skip_fixup);
__ flush();
- return new AdapterHandlerEntry(i2c_entry, c2i_entry, c2i_unverified_entry);
+ return AdapterHandlerLibrary::new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry);
}
int SharedRuntime::c_calling_convention(const BasicType *sig_bt,
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_32.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -718,10 +718,8 @@
case BarrierSet::G1SATBCTLogging:
{
__ pusha(); // push registers
- __ push(count);
- __ push(start);
- __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_pre)));
- __ addptr(rsp, 2*wordSize);
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_pre),
+ start, count);
__ popa();
}
break;
@@ -752,10 +750,8 @@
case BarrierSet::G1SATBCTLogging:
{
__ pusha(); // push registers
- __ push(count);
- __ push(start);
- __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post)));
- __ addptr(rsp, 2*wordSize);
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post),
+ start, count);
__ popa();
}
break;
--- a/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/stubGenerator_x86_64.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1172,7 +1172,7 @@
__ movptr(c_rarg0, addr);
__ movptr(c_rarg1, count);
}
- __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_pre)));
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_pre), 2);
__ popa();
}
break;
@@ -1212,7 +1212,7 @@
__ shrptr(scratch, LogBytesPerHeapOop); // convert to element count
__ mov(c_rarg0, start);
__ mov(c_rarg1, scratch);
- __ call(RuntimeAddress(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post)));
+ __ call_VM_leaf(CAST_FROM_FN_PTR(address, BarrierSet::static_write_ref_array_post), 2);
__ popa();
}
break;
--- a/hotspot/src/cpu/x86/vm/x86_32.ad Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/x86/vm/x86_32.ad Wed Feb 17 10:24:30 2010 -0800
@@ -235,6 +235,11 @@
//----------SOURCE BLOCK-------------------------------------------------------
// This is a block of C++ code which provides values, functions, and
// definitions necessary in the rest of the architecture description
+source_hpp %{
+// Must be visible to the DFA in dfa_x86_32.cpp
+extern bool is_operand_hi32_zero(Node* n);
+%}
+
source %{
#define RELOC_IMM32 Assembler::imm_operand
#define RELOC_DISP32 Assembler::disp32_operand
@@ -1485,6 +1490,21 @@
return EBP_REG_mask;
}
+// Returns true if the high 32 bits of the value is known to be zero.
+bool is_operand_hi32_zero(Node* n) {
+ int opc = n->Opcode();
+ if (opc == Op_LoadUI2L) {
+ return true;
+ }
+ if (opc == Op_AndL) {
+ Node* o2 = n->in(2);
+ if (o2->is_Con() && (o2->get_long() & 0xFFFFFFFF00000000LL) == 0LL) {
+ return true;
+ }
+ }
+ return false;
+}
+
%}
//----------ENCODING BLOCK-----------------------------------------------------
@@ -8599,6 +8619,63 @@
ins_pipe( pipe_slow );
%}
+// Multiply Register Long where the left operand's high 32 bits are zero
+instruct mulL_eReg_lhi0(eADXRegL dst, eRegL src, eRegI tmp, eFlagsReg cr) %{
+ predicate(is_operand_hi32_zero(n->in(1)));
+ match(Set dst (MulL dst src));
+ effect(KILL cr, TEMP tmp);
+ ins_cost(2*100+2*400);
+// Basic idea: lo(result) = lo(x_lo * y_lo)
+// hi(result) = hi(x_lo * y_lo) + lo(x_lo * y_hi) where lo(x_hi * y_lo) = 0 because x_hi = 0
+ format %{ "MOV $tmp,$src.hi\n\t"
+ "IMUL $tmp,EAX\n\t"
+ "MUL EDX:EAX,$src.lo\n\t"
+ "ADD EDX,$tmp" %}
+ ins_encode %{
+ __ movl($tmp$$Register, HIGH_FROM_LOW($src$$Register));
+ __ imull($tmp$$Register, rax);
+ __ mull($src$$Register);
+ __ addl(rdx, $tmp$$Register);
+ %}
+ ins_pipe( pipe_slow );
+%}
+
+// Multiply Register Long where the right operand's high 32 bits are zero
+instruct mulL_eReg_rhi0(eADXRegL dst, eRegL src, eRegI tmp, eFlagsReg cr) %{
+ predicate(is_operand_hi32_zero(n->in(2)));
+ match(Set dst (MulL dst src));
+ effect(KILL cr, TEMP tmp);
+ ins_cost(2*100+2*400);
+// Basic idea: lo(result) = lo(x_lo * y_lo)
+// hi(result) = hi(x_lo * y_lo) + lo(x_hi * y_lo) where lo(x_lo * y_hi) = 0 because y_hi = 0
+ format %{ "MOV $tmp,$src.lo\n\t"
+ "IMUL $tmp,EDX\n\t"
+ "MUL EDX:EAX,$src.lo\n\t"
+ "ADD EDX,$tmp" %}
+ ins_encode %{
+ __ movl($tmp$$Register, $src$$Register);
+ __ imull($tmp$$Register, rdx);
+ __ mull($src$$Register);
+ __ addl(rdx, $tmp$$Register);
+ %}
+ ins_pipe( pipe_slow );
+%}
+
+// Multiply Register Long where the left and the right operands' high 32 bits are zero
+instruct mulL_eReg_hi0(eADXRegL dst, eRegL src, eFlagsReg cr) %{
+ predicate(is_operand_hi32_zero(n->in(1)) && is_operand_hi32_zero(n->in(2)));
+ match(Set dst (MulL dst src));
+ effect(KILL cr);
+ ins_cost(1*400);
+// Basic idea: lo(result) = lo(x_lo * y_lo)
+// hi(result) = hi(x_lo * y_lo) where lo(x_hi * y_lo) = 0 and lo(x_lo * y_hi) = 0 because x_hi = 0 and y_hi = 0
+ format %{ "MUL EDX:EAX,$src.lo\n\t" %}
+ ins_encode %{
+ __ mull($src$$Register);
+ %}
+ ins_pipe( pipe_slow );
+%}
+
// Multiply Register Long by small constant
instruct mulL_eReg_con(eADXRegL dst, immL_127 src, eRegI tmp, eFlagsReg cr) %{
match(Set dst (MulL dst src));
--- a/hotspot/src/cpu/zero/vm/interpreter_zero.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/zero/vm/interpreter_zero.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
- * Copyright 2007, 2008 Red Hat, Inc.
+ * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -47,6 +47,10 @@
return ShouldNotCallThisEntry();
}
+bool AbstractInterpreter::can_be_compiled(methodHandle m) {
+ return true;
+}
+
int AbstractInterpreter::size_activation(methodOop method,
int tempcount,
int popframe_extra_args,
--- a/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/cpu/zero/vm/sharedRuntime_zero.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
- * Copyright 2007, 2008, 2009 Red Hat, Inc.
+ * Copyright 2007, 2008, 2009, 2010 Red Hat, Inc.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -47,8 +47,10 @@
int total_args_passed,
int comp_args_on_stack,
const BasicType *sig_bt,
- const VMRegPair *regs) {
- return new AdapterHandlerEntry(
+ const VMRegPair *regs,
+ AdapterFingerPrint *fingerprint) {
+ return AdapterHandlerLibrary::new_entry(
+ fingerprint,
ShouldNotCallThisStub(),
ShouldNotCallThisStub(),
ShouldNotCallThisStub());
--- a/hotspot/src/os/windows/vm/os_windows.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/os/windows/vm/os_windows.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -142,6 +142,9 @@
}
#ifndef _WIN64
+// previous UnhandledExceptionFilter, if there is one
+static LPTOP_LEVEL_EXCEPTION_FILTER prev_uef_handler = NULL;
+
LONG WINAPI Handle_FLT_Exception(struct _EXCEPTION_POINTERS* exceptionInfo);
#endif
void os::init_system_properties_values() {
@@ -260,7 +263,8 @@
}
#ifndef _WIN64
- SetUnhandledExceptionFilter(Handle_FLT_Exception);
+ // set our UnhandledExceptionFilter and save any previous one
+ prev_uef_handler = SetUnhandledExceptionFilter(Handle_FLT_Exception);
#endif
// Done
@@ -1969,7 +1973,7 @@
#ifndef _WIN64
//-----------------------------------------------------------------------------
LONG WINAPI Handle_FLT_Exception(struct _EXCEPTION_POINTERS* exceptionInfo) {
- // handle exception caused by native mothod modifying control word
+ // handle exception caused by native method modifying control word
PCONTEXT ctx = exceptionInfo->ContextRecord;
DWORD exception_code = exceptionInfo->ExceptionRecord->ExceptionCode;
@@ -1990,6 +1994,13 @@
return EXCEPTION_CONTINUE_EXECUTION;
}
}
+
+ if (prev_uef_handler != NULL) {
+ // We didn't handle this exception so pass it to the previous
+ // UnhandledExceptionFilter.
+ return (prev_uef_handler)(exceptionInfo);
+ }
+
return EXCEPTION_CONTINUE_SEARCH;
}
#else //_WIN64
--- a/hotspot/src/share/vm/adlc/output_c.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/adlc/output_c.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1998-2010 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
@@ -1496,7 +1496,7 @@
unsigned i;
// Generate Expand function header
- fprintf(fp,"MachNode *%sNode::Expand(State *state, Node_List &proj_list) {\n", node->_ident);
+ fprintf(fp,"MachNode *%sNode::Expand(State *state, Node_List &proj_list, Node* mem) {\n", node->_ident);
fprintf(fp,"Compile* C = Compile::current();\n");
// Generate expand code
if( node->expands() ) {
@@ -1546,15 +1546,16 @@
// Build a mapping from operand index to input edges
fprintf(fp," unsigned idx0 = oper_input_base();\n");
- // The order in which inputs are added to a node is very
+ // The order in which the memory input is added to a node is very
// strange. Store nodes get a memory input before Expand is
- // called and all other nodes get it afterwards so
- // oper_input_base is wrong during expansion. This code adjusts
- // is so that expansion will work correctly.
- bool missing_memory_edge = node->_matrule->needs_ideal_memory_edge(_globalNames) &&
- node->is_ideal_store() == Form::none;
- if (missing_memory_edge) {
- fprintf(fp," idx0--; // Adjust base because memory edge hasn't been inserted yet\n");
+ // called and other nodes get it afterwards or before depending on
+ // match order so oper_input_base is wrong during expansion. This
+ // code adjusts it so that expansion will work correctly.
+ int has_memory_edge = node->_matrule->needs_ideal_memory_edge(_globalNames);
+ if (has_memory_edge) {
+ fprintf(fp," if (mem == (Node*)1) {\n");
+ fprintf(fp," idx0--; // Adjust base because memory edge hasn't been inserted yet\n");
+ fprintf(fp," }\n");
}
for( i = 0; i < node->num_opnds(); i++ ) {
@@ -1611,9 +1612,11 @@
int node_mem_op = node->memory_operand(_globalNames);
assert( node_mem_op != InstructForm::NO_MEMORY_OPERAND,
"expand rule member needs memory but top-level inst doesn't have any" );
- if (!missing_memory_edge) {
+ if (has_memory_edge) {
// Copy memory edge
- fprintf(fp," n%d->add_req(_in[1]);\t// Add memory edge\n", cnt);
+ fprintf(fp," if (mem != (Node*)1) {\n");
+ fprintf(fp," n%d->add_req(_in[1]);\t// Add memory edge\n", cnt);
+ fprintf(fp," }\n");
}
}
@@ -1689,7 +1692,7 @@
} // done iterating over a new instruction's operands
// Invoke Expand() for the newly created instruction.
- fprintf(fp," result = n%d->Expand( state, proj_list );\n", cnt);
+ fprintf(fp," result = n%d->Expand( state, proj_list, mem );\n", cnt);
assert( !new_inst->expands(), "Do not have complete support for recursive expansion");
} // done iterating over new instructions
fprintf(fp,"\n");
--- a/hotspot/src/share/vm/adlc/output_h.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/adlc/output_h.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1998-2010 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
@@ -1754,7 +1754,7 @@
instr->has_temps() ||
instr->_matrule != NULL &&
instr->num_opnds() != instr->num_unique_opnds() ) {
- fprintf(fp," virtual MachNode *Expand(State *state, Node_List &proj_list);\n");
+ fprintf(fp," virtual MachNode *Expand(State *state, Node_List &proj_list, Node* mem);\n");
}
if (instr->is_pinned(_globalNames)) {
--- a/hotspot/src/share/vm/asm/codeBuffer.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/asm/codeBuffer.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -39,6 +39,7 @@
Dtrace_trap = OSR_Entry, // dtrace probes can never have an OSR entry so reuse it
Exceptions, // Offset where exception handler lives
Deopt, // Offset where deopt handler lives
+ DeoptMH, // Offset where MethodHandle deopt handler lives
max_Entries };
// special value to note codeBlobs where profile (forte) stack walking is
@@ -51,12 +52,13 @@
public:
CodeOffsets() {
- _values[Entry] = 0;
+ _values[Entry ] = 0;
_values[Verified_Entry] = 0;
_values[Frame_Complete] = frame_never_safe;
- _values[OSR_Entry] = 0;
- _values[Exceptions] = -1;
- _values[Deopt] = -1;
+ _values[OSR_Entry ] = 0;
+ _values[Exceptions ] = -1;
+ _values[Deopt ] = -1;
+ _values[DeoptMH ] = -1;
}
int value(Entries e) { return _values[e]; }
--- a/hotspot/src/share/vm/c1/c1_Compilation.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/c1/c1_Compilation.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1999-2010 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
@@ -205,6 +205,8 @@
void Compilation::emit_code_epilog(LIR_Assembler* assembler) {
CHECK_BAILOUT();
+ CodeOffsets* code_offsets = assembler->offsets();
+
// generate code or slow cases
assembler->emit_slow_case_stubs();
CHECK_BAILOUT();
@@ -213,10 +215,18 @@
assembler->emit_exception_entries(exception_info_list());
CHECK_BAILOUT();
- // generate code for exception handler
- assembler->emit_exception_handler();
+ // Generate code for exception handler.
+ code_offsets->set_value(CodeOffsets::Exceptions, assembler->emit_exception_handler());
CHECK_BAILOUT();
- assembler->emit_deopt_handler();
+
+ // Generate code for deopt handler.
+ code_offsets->set_value(CodeOffsets::Deopt, assembler->emit_deopt_handler());
+ CHECK_BAILOUT();
+
+ // Generate code for MethodHandle deopt handler. We can use the
+ // same code as for the normal deopt handler, we just need a
+ // different entry point address.
+ code_offsets->set_value(CodeOffsets::DeoptMH, assembler->emit_deopt_handler());
CHECK_BAILOUT();
// done
--- a/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/c1/c1_LIRAssembler.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2010 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
@@ -133,9 +133,9 @@
void add_call_info_here(CodeEmitInfo* info) { add_call_info(code_offset(), info); }
// code patterns
- void emit_exception_handler();
+ int emit_exception_handler();
void emit_exception_entries(ExceptionInfoList* info_list);
- void emit_deopt_handler();
+ int emit_deopt_handler();
void emit_code(BlockList* hir);
void emit_block(BlockBegin* block);
--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2005-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2005-2010 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
@@ -1765,7 +1765,7 @@
__ null_check(exception_opr, new CodeEmitInfo(info, true));
}
- if (compilation()->env()->jvmti_can_post_exceptions() &&
+ if (compilation()->env()->jvmti_can_post_on_exceptions() &&
!block()->is_set(BlockBegin::default_exception_handler_flag)) {
// we need to go through the exception lookup path to get JVMTI
// notification done
--- a/hotspot/src/share/vm/c1/c1_Runtime1.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/c1/c1_Runtime1.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1999-2010 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
@@ -110,8 +110,8 @@
RegisterMap reg_map(thread, false);
frame runtime_frame = thread->last_frame();
frame caller_frame = runtime_frame.sender(®_map);
- VM_DeoptimizeFrame deopt(thread, caller_frame.id());
- VMThread::execute(&deopt);
+ // bypass VM_DeoptimizeFrame and deoptimize the frame directly
+ Deoptimization::deoptimize_frame(thread, caller_frame.id());
assert(caller_is_deopted(), "Must be deoptimized");
}
}
@@ -354,7 +354,7 @@
JRT_ENTRY(void, Runtime1::post_jvmti_exception_throw(JavaThread* thread))
- if (JvmtiExport::can_post_exceptions()) {
+ if (JvmtiExport::can_post_on_exceptions()) {
vframeStream vfst(thread, true);
address bcp = vfst.method()->bcp_from(vfst.bci());
JvmtiExport::post_exception_throw(thread, vfst.method(), bcp, thread->exception_oop());
@@ -437,7 +437,7 @@
bool guard_pages_enabled = thread->stack_yellow_zone_enabled();
if (!guard_pages_enabled) guard_pages_enabled = thread->reguard_stack();
- if (JvmtiExport::can_post_exceptions()) {
+ if (JvmtiExport::can_post_on_exceptions()) {
// To ensure correct notification of exception catches and throws
// we have to deoptimize here. If we attempted to notify the
// catches and throws during this exception lookup it's possible
--- a/hotspot/src/share/vm/ci/ciEnv.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/ci/ciEnv.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1999-2010 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
@@ -178,7 +178,7 @@
_jvmti_can_hotswap_or_post_breakpoint = JvmtiExport::can_hotswap_or_post_breakpoint();
_jvmti_can_examine_or_deopt_anywhere = JvmtiExport::can_examine_or_deopt_anywhere();
_jvmti_can_access_local_variables = JvmtiExport::can_access_local_variables();
- _jvmti_can_post_exceptions = JvmtiExport::can_post_exceptions();
+ _jvmti_can_post_on_exceptions = JvmtiExport::can_post_on_exceptions();
}
// ------------------------------------------------------------------
@@ -891,8 +891,8 @@
JvmtiExport::can_examine_or_deopt_anywhere()) ||
(!jvmti_can_access_local_variables() &&
JvmtiExport::can_access_local_variables()) ||
- (!jvmti_can_post_exceptions() &&
- JvmtiExport::can_post_exceptions()) )) {
+ (!jvmti_can_post_on_exceptions() &&
+ JvmtiExport::can_post_on_exceptions()) )) {
record_failure("Jvmti state change invalidated dependencies");
}
@@ -962,18 +962,10 @@
if (nm == NULL) {
// The CodeCache is full. Print out warning and disable compilation.
record_failure("code cache is full");
- UseInterpreter = true;
- if (UseCompiler || AlwaysCompileLoopMethods ) {
-#ifndef PRODUCT
- warning("CodeCache is full. Compiler has been disabled");
- if (CompileTheWorld || ExitOnFullCodeCache) {
- before_exit(JavaThread::current());
- exit_globals(); // will delete tty
- vm_direct_exit(CompileTheWorld ? 0 : 1);
- }
-#endif
- UseCompiler = false;
- AlwaysCompileLoopMethods = false;
+ {
+ MutexUnlocker ml(Compile_lock);
+ MutexUnlocker locker(MethodCompileQueue_lock);
+ CompileBroker::handle_full_code_cache();
}
} else {
NOT_PRODUCT(nm->set_has_debug_info(has_debug_info); )
--- a/hotspot/src/share/vm/ci/ciEnv.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/ci/ciEnv.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1999-2010 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
@@ -57,7 +57,7 @@
bool _jvmti_can_hotswap_or_post_breakpoint;
bool _jvmti_can_examine_or_deopt_anywhere;
bool _jvmti_can_access_local_variables;
- bool _jvmti_can_post_exceptions;
+ bool _jvmti_can_post_on_exceptions;
// Cache DTrace flags
bool _dtrace_extended_probes;
@@ -259,7 +259,7 @@
bool jvmti_can_hotswap_or_post_breakpoint() const { return _jvmti_can_hotswap_or_post_breakpoint; }
bool jvmti_can_examine_or_deopt_anywhere() const { return _jvmti_can_examine_or_deopt_anywhere; }
bool jvmti_can_access_local_variables() const { return _jvmti_can_access_local_variables; }
- bool jvmti_can_post_exceptions() const { return _jvmti_can_post_exceptions; }
+ bool jvmti_can_post_on_exceptions() const { return _jvmti_can_post_on_exceptions; }
// Cache DTrace flags
void cache_dtrace_flags();
--- a/hotspot/src/share/vm/ci/ciMethod.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/ci/ciMethod.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -436,15 +436,20 @@
// we will set result._method also.
}
// Determine call site's morphism.
- // The call site count could be == (receivers_count_total + 1)
- // not only in the case of a polymorphic call but also in the case
- // when a method data snapshot is taken after the site count was updated
- // but before receivers counters were updated.
- if (morphism == result._limit) {
- // There were no array klasses and morphism <= MorphismLimit.
- if (morphism < ciCallProfile::MorphismLimit ||
- morphism == ciCallProfile::MorphismLimit &&
- (receivers_count_total+1) >= count) {
+ // The call site count is 0 with known morphism (onlt 1 or 2 receivers)
+ // or < 0 in the case of a type check failured for checkcast, aastore, instanceof.
+ // The call site count is > 0 in the case of a polymorphic virtual call.
+ if (morphism > 0 && morphism == result._limit) {
+ // The morphism <= MorphismLimit.
+ if ((morphism < ciCallProfile::MorphismLimit) ||
+ (morphism == ciCallProfile::MorphismLimit && count == 0)) {
+#ifdef ASSERT
+ if (count > 0) {
+ tty->print_cr("bci: %d", bci);
+ this->print_codes();
+ assert(false, "this call site should not be polymorphic");
+ }
+#endif
result._morphism = morphism;
}
}
@@ -452,10 +457,8 @@
// zero or less, presume that this is a typecheck profile and
// do nothing. Otherwise, increase count to be the sum of all
// receiver's counts.
- if (count > 0) {
- if (count < receivers_count_total) {
- count = receivers_count_total;
- }
+ if (count >= 0) {
+ count += receivers_count_total;
}
}
result._count = count;
--- a/hotspot/src/share/vm/classfile/classLoader.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/classfile/classLoader.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1249,6 +1249,7 @@
}
int ClassLoader::_compile_the_world_counter = 0;
+static int _codecache_sweep_counter = 0;
void ClassLoader::compile_the_world_in(char* name, Handle loader, TRAPS) {
int len = (int)strlen(name);
@@ -1293,6 +1294,13 @@
for (int n = 0; n < k->methods()->length(); n++) {
methodHandle m (THREAD, methodOop(k->methods()->obj_at(n)));
if (CompilationPolicy::canBeCompiled(m)) {
+
+ if (++_codecache_sweep_counter == CompileTheWorldSafepointInterval) {
+ // Give sweeper a chance to keep up with CTW
+ VM_ForceSafepoint op;
+ VMThread::execute(&op);
+ _codecache_sweep_counter = 0;
+ }
// Force compilation
CompileBroker::compile_method(m, InvocationEntryBci,
methodHandle(), 0, "CTW", THREAD);
--- a/hotspot/src/share/vm/code/codeCache.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/code/codeCache.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -96,6 +96,7 @@
int CodeCache::_number_of_nmethods_with_dependencies = 0;
bool CodeCache::_needs_cache_clean = false;
nmethod* CodeCache::_scavenge_root_nmethods = NULL;
+nmethod* CodeCache::_saved_nmethods = NULL;
CodeBlob* CodeCache::first() {
@@ -395,6 +396,85 @@
}
#endif //PRODUCT
+
+nmethod* CodeCache::find_and_remove_saved_code(methodOop m) {
+ MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
+ nmethod* saved = _saved_nmethods;
+ nmethod* prev = NULL;
+ while (saved != NULL) {
+ if (saved->is_in_use() && saved->method() == m) {
+ if (prev != NULL) {
+ prev->set_saved_nmethod_link(saved->saved_nmethod_link());
+ } else {
+ _saved_nmethods = saved->saved_nmethod_link();
+ }
+ assert(saved->is_speculatively_disconnected(), "shouldn't call for other nmethods");
+ saved->set_speculatively_disconnected(false);
+ saved->set_saved_nmethod_link(NULL);
+ if (PrintMethodFlushing) {
+ saved->print_on(tty, " ### nmethod is reconnected");
+ }
+ if (LogCompilation && (xtty != NULL)) {
+ ttyLocker ttyl;
+ xtty->begin_elem("nmethod_reconnected compile_id='%3d'", saved->compile_id());
+ xtty->method(methodOop(m));
+ xtty->stamp();
+ xtty->end_elem();
+ }
+ return saved;
+ }
+ prev = saved;
+ saved = saved->saved_nmethod_link();
+ }
+ return NULL;
+}
+
+void CodeCache::remove_saved_code(nmethod* nm) {
+ MutexLockerEx mu(CodeCache_lock, Mutex::_no_safepoint_check_flag);
+ assert(nm->is_speculatively_disconnected(), "shouldn't call for other nmethods");
+ nmethod* saved = _saved_nmethods;
+ nmethod* prev = NULL;
+ while (saved != NULL) {
+ if (saved == nm) {
+ if (prev != NULL) {
+ prev->set_saved_nmethod_link(saved->saved_nmethod_link());
+ } else {
+ _saved_nmethods = saved->saved_nmethod_link();
+ }
+ if (LogCompilation && (xtty != NULL)) {
+ ttyLocker ttyl;
+ xtty->begin_elem("nmethod_removed compile_id='%3d'", nm->compile_id());
+ xtty->stamp();
+ xtty->end_elem();
+ }
+ return;
+ }
+ prev = saved;
+ saved = saved->saved_nmethod_link();
+ }
+ ShouldNotReachHere();
+}
+
+void CodeCache::speculatively_disconnect(nmethod* nm) {
+ assert_locked_or_safepoint(CodeCache_lock);
+ assert(nm->is_in_use() && !nm->is_speculatively_disconnected(), "should only disconnect live nmethods");
+ nm->set_saved_nmethod_link(_saved_nmethods);
+ _saved_nmethods = nm;
+ if (PrintMethodFlushing) {
+ nm->print_on(tty, " ### nmethod is speculatively disconnected");
+ }
+ if (LogCompilation && (xtty != NULL)) {
+ ttyLocker ttyl;
+ xtty->begin_elem("nmethod_disconnected compile_id='%3d'", nm->compile_id());
+ xtty->method(methodOop(nm->method()));
+ xtty->stamp();
+ xtty->end_elem();
+ }
+ nm->method()->clear_code();
+ nm->set_speculatively_disconnected(true);
+}
+
+
void CodeCache::gc_prologue() {
assert(!nmethod::oops_do_marking_is_active(), "oops_do_marking_epilogue must be called");
}
--- a/hotspot/src/share/vm/code/codeCache.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/code/codeCache.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -46,6 +46,7 @@
static int _number_of_nmethods_with_dependencies;
static bool _needs_cache_clean;
static nmethod* _scavenge_root_nmethods; // linked via nm->scavenge_root_link()
+ static nmethod* _saved_nmethods; // linked via nm->saved_nmethod_look()
static void verify_if_often() PRODUCT_RETURN;
@@ -141,11 +142,16 @@
static size_t capacity() { return _heap->capacity(); }
static size_t max_capacity() { return _heap->max_capacity(); }
static size_t unallocated_capacity() { return _heap->unallocated_capacity(); }
+ static bool needs_flushing() { return unallocated_capacity() < CodeCacheFlushingMinimumFreeSpace; }
static bool needs_cache_clean() { return _needs_cache_clean; }
static void set_needs_cache_clean(bool v) { _needs_cache_clean = v; }
static void clear_inline_caches(); // clear all inline caches
+ static nmethod* find_and_remove_saved_code(methodOop m);
+ static void remove_saved_code(nmethod* nm);
+ static void speculatively_disconnect(nmethod* nm);
+
// Deoptimization
static int mark_for_deoptimization(DepChange& changes);
#ifdef HOTSWAP
--- a/hotspot/src/share/vm/code/dependencies.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/code/dependencies.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -843,13 +843,15 @@
if (occasional_print || final_stats) {
// Every now and then dump a little info about dependency searching.
if (xtty != NULL) {
- xtty->elem("deps_find_witness calls='%d' steps='%d' recursions='%d' singles='%d'",
+ ttyLocker ttyl;
+ xtty->elem("deps_find_witness calls='%d' steps='%d' recursions='%d' singles='%d'",
deps_find_witness_calls,
deps_find_witness_steps,
deps_find_witness_recursions,
deps_find_witness_singles);
}
if (final_stats || (TraceDependencies && WizardMode)) {
+ ttyLocker ttyl;
tty->print_cr("Dependency check (find_witness) "
"calls=%d, steps=%d (avg=%.1f), recursions=%d, singles=%d",
deps_find_witness_calls,
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/src/share/vm/code/jvmticmlr.h Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,115 @@
+/*
+ * Copyright 2010 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.
+ */
+
+/*
+ * This header file defines the data structures sent by the VM
+ * through the JVMTI CompiledMethodLoad callback function via the
+ * "void * compile_info" parameter. The memory pointed to by the
+ * compile_info parameter may not be referenced after returning from
+ * the CompiledMethodLoad callback. These are VM implementation
+ * specific data structures that may evolve in future releases. A
+ * JVMTI agent should interpret a non-NULL compile_info as a pointer
+ * to a region of memory containing a list of records. In a typical
+ * usage scenario, a JVMTI agent would cast each record to a
+ * jvmtiCompiledMethodLoadRecordHeader, a struct that represents
+ * arbitrary information. This struct contains a kind field to indicate
+ * the kind of information being passed, and a pointer to the next
+ * record. If the kind field indicates inlining information, then the
+ * agent would cast the record to a jvmtiCompiledMethodLoadInlineRecord.
+ * This record contains an array of PCStackInfo structs, which indicate
+ * for every pc address what are the methods on the invocation stack.
+ * The "methods" and "bcis" fields in each PCStackInfo struct specify a
+ * 1-1 mapping between these inlined methods and their bytecode indices.
+ * This can be used to derive the proper source lines of the inlined
+ * methods.
+ */
+
+#ifndef _JVMTI_CMLR_H_
+#define _JVMTI_CMLR_H_
+
+enum {
+ JVMTI_CMLR_MAJOR_VERSION_1 = 0x00000001,
+ JVMTI_CMLR_MINOR_VERSION_0 = 0x00000000,
+
+ JVMTI_CMLR_MAJOR_VERSION = 0x00000001,
+ JVMTI_CMLR_MINOR_VERSION = 0x00000000
+
+ /*
+ * This comment is for the "JDK import from HotSpot" sanity check:
+ * version: 1.0.0
+ */
+};
+
+typedef enum {
+ JVMTI_CMLR_DUMMY = 1,
+ JVMTI_CMLR_INLINE_INFO = 2
+} jvmtiCMLRKind;
+
+/*
+ * Record that represents arbitrary information passed through JVMTI
+ * CompiledMethodLoadEvent void pointer.
+ */
+typedef struct _jvmtiCompiledMethodLoadRecordHeader {
+ jvmtiCMLRKind kind; /* id for the kind of info passed in the record */
+ jint majorinfoversion; /* major and minor info version values. Init'ed */
+ jint minorinfoversion; /* to current version value in jvmtiExport.cpp. */
+
+ struct _jvmtiCompiledMethodLoadRecordHeader* next;
+} jvmtiCompiledMethodLoadRecordHeader;
+
+/*
+ * Record that gives information about the methods on the compile-time
+ * stack at a specific pc address of a compiled method. Each element in
+ * the methods array maps to same element in the bcis array.
+ */
+typedef struct _PCStackInfo {
+ void* pc; /* the pc address for this compiled method */
+ jint numstackframes; /* number of methods on the stack */
+ jmethodID* methods; /* array of numstackframes method ids */
+ jint* bcis; /* array of numstackframes bytecode indices */
+} PCStackInfo;
+
+/*
+ * Record that contains inlining information for each pc address of
+ * an nmethod.
+ */
+typedef struct _jvmtiCompiledMethodLoadInlineRecord {
+ jvmtiCompiledMethodLoadRecordHeader header; /* common header for casting */
+ jint numpcs; /* number of pc descriptors in this nmethod */
+ PCStackInfo* pcinfo; /* array of numpcs pc descriptors */
+} jvmtiCompiledMethodLoadInlineRecord;
+
+/*
+ * Dummy record used to test that we can pass records with different
+ * information through the void pointer provided that they can be cast
+ * to a jvmtiCompiledMethodLoadRecordHeader.
+ */
+
+typedef struct _jvmtiCompiledMethodLoadDummyRecord {
+ jvmtiCompiledMethodLoadRecordHeader header; /* common header for casting */
+ char message[50];
+} jvmtiCompiledMethodLoadDummyRecord;
+
+#endif
--- a/hotspot/src/share/vm/code/nmethod.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/code/nmethod.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -587,11 +587,13 @@
_osr_link = NULL;
_scavenge_root_link = NULL;
_scavenge_root_state = 0;
+ _saved_nmethod_link = NULL;
_compiler = NULL;
// We have no exception handler or deopt handler make the
// values something that will never match a pc like the nmethod vtable entry
_exception_offset = 0;
_deoptimize_offset = 0;
+ _deoptimize_mh_offset = 0;
_orig_pc_offset = 0;
#ifdef HAVE_DTRACE_H
_trap_offset = 0;
@@ -682,6 +684,7 @@
// values something that will never match a pc like the nmethod vtable entry
_exception_offset = 0;
_deoptimize_offset = 0;
+ _deoptimize_mh_offset = 0;
_trap_offset = offsets->value(CodeOffsets::Dtrace_trap);
_orig_pc_offset = 0;
_stub_offset = data_offset();
@@ -794,6 +797,7 @@
// Exception handler and deopt handler are in the stub section
_exception_offset = _stub_offset + offsets->value(CodeOffsets::Exceptions);
_deoptimize_offset = _stub_offset + offsets->value(CodeOffsets::Deopt);
+ _deoptimize_mh_offset = _stub_offset + offsets->value(CodeOffsets::DeoptMH);
_consts_offset = instructions_offset() + code_buffer->total_offset_of(code_buffer->consts()->start());
_scopes_data_offset = data_offset();
_scopes_pcs_offset = _scopes_data_offset + round_to(debug_info->data_size (), oopSize);
@@ -1033,7 +1037,7 @@
if( cb != NULL && cb->is_nmethod() ) {
nmethod* nm = (nmethod*)cb;
// Clean inline caches pointing to both zombie and not_entrant methods
- if (!nm->is_in_use()) ic->set_to_clean();
+ if (!nm->is_in_use() || (nm->method()->code() != nm)) ic->set_to_clean();
}
break;
}
@@ -1043,7 +1047,7 @@
if( cb != NULL && cb->is_nmethod() ) {
nmethod* nm = (nmethod*)cb;
// Clean inline caches pointing to both zombie and not_entrant methods
- if (!nm->is_in_use()) csc->set_to_clean();
+ if (!nm->is_in_use() || (nm->method()->code() != nm)) csc->set_to_clean();
}
break;
}
@@ -1113,7 +1117,6 @@
if (_method->code() == this) {
_method->clear_code(); // Break a cycle
}
- inc_decompile_count(); // Last chance to make a mark on the MDO
_method = NULL; // Clear the method of this dead nmethod
}
// Make the class unloaded - i.e., change state and notify sweeper
@@ -1173,15 +1176,17 @@
bool nmethod::make_not_entrant_or_zombie(unsigned int state) {
assert(state == zombie || state == not_entrant, "must be zombie or not_entrant");
- // If the method is already zombie there is nothing to do
- if (is_zombie()) {
- return false;
- }
+ bool was_alive = false;
// Make sure the nmethod is not flushed in case of a safepoint in code below.
nmethodLocker nml(this);
{
+ // If the method is already zombie there is nothing to do
+ if (is_zombie()) {
+ return false;
+ }
+
// invalidate osr nmethod before acquiring the patching lock since
// they both acquire leaf locks and we don't want a deadlock.
// This logic is equivalent to the logic below for patching the
@@ -1219,6 +1224,8 @@
assert(state == not_entrant, "other cases may need to be handled differently");
}
+ was_alive = is_in_use(); // Read state under lock
+
// Change state
flags.state = state;
@@ -1245,8 +1252,11 @@
mark_as_seen_on_stack();
}
- // It's a true state change, so mark the method as decompiled.
- inc_decompile_count();
+ if (was_alive) {
+ // It's a true state change, so mark the method as decompiled.
+ // Do it only for transition from alive.
+ inc_decompile_count();
+ }
// zombie only - if a JVMTI agent has enabled the CompiledMethodUnload event
// and it hasn't already been reported for this nmethod then report it now.
@@ -1312,7 +1322,8 @@
// completely deallocate this method
EventMark m("flushing nmethod " INTPTR_FORMAT " %s", this, "");
if (PrintMethodFlushing) {
- tty->print_cr("*flushing nmethod " INTPTR_FORMAT ". Live blobs: %d", this, CodeCache::nof_blobs());
+ tty->print_cr("*flushing nmethod %3d/" INTPTR_FORMAT ". Live blobs:" UINT32_FORMAT "/Free CodeCache:" SIZE_FORMAT "Kb",
+ _compile_id, this, CodeCache::nof_blobs(), CodeCache::unallocated_capacity()/1024);
}
// We need to deallocate any ExceptionCache data.
@@ -1330,6 +1341,10 @@
CodeCache::drop_scavenge_root_nmethod(this);
}
+ if (is_speculatively_disconnected()) {
+ CodeCache::remove_saved_code(this);
+ }
+
((CodeBlob*)(this))->flush();
CodeCache::free(this);
@@ -2031,9 +2046,21 @@
guarantee(nm->_lock_count >= 0, "unmatched nmethod lock/unlock");
}
-bool nmethod::is_deopt_pc(address pc) {
- bool ret = pc == deopt_handler_begin();
- return ret;
+
+// -----------------------------------------------------------------------------
+// nmethod::get_deopt_original_pc
+//
+// Return the original PC for the given PC if:
+// (a) the given PC belongs to a nmethod and
+// (b) it is a deopt PC
+address nmethod::get_deopt_original_pc(const frame* fr) {
+ if (fr->cb() == NULL) return NULL;
+
+ nmethod* nm = fr->cb()->as_nmethod_or_null();
+ if (nm != NULL && nm->is_deopt_pc(fr->pc()))
+ return nm->get_original_pc(fr);
+
+ return NULL;
}
@@ -2404,6 +2431,8 @@
if (block_begin == verified_entry_point()) stream->print_cr("[Verified Entry Point]");
if (block_begin == exception_begin()) stream->print_cr("[Exception Handler]");
if (block_begin == stub_begin()) stream->print_cr("[Stub Code]");
+ if (block_begin == deopt_handler_begin()) stream->print_cr("[Deopt Handler Code]");
+ if (block_begin == deopt_mh_handler_begin()) stream->print_cr("[Deopt MH Handler Code]");
if (block_begin == consts_begin()) stream->print_cr("[Constants]");
if (block_begin == entry_point()) {
methodHandle m = method();
--- a/hotspot/src/share/vm/code/nmethod.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/code/nmethod.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -95,6 +95,8 @@
unsigned int has_unsafe_access:1; // May fault due to unsafe access.
unsigned int has_method_handle_invokes:1; // Has this method MethodHandle invokes?
+ unsigned int speculatively_disconnected:1; // Marked for potential unload
+
void clear();
};
@@ -137,6 +139,7 @@
// To support simple linked-list chaining of nmethods:
nmethod* _osr_link; // from instanceKlass::osr_nmethods_head
nmethod* _scavenge_root_link; // from CodeCache::scavenge_root_nmethods
+ nmethod* _saved_nmethod_link; // from CodeCache::speculatively_disconnect
static nmethod* volatile _oops_do_mark_nmethods;
nmethod* volatile _oops_do_mark_link;
@@ -145,8 +148,12 @@
// Offsets for different nmethod parts
int _exception_offset;
- // All deoptee's will resume execution at this location described by this offset
+ // All deoptee's will resume execution at this location described by
+ // this offset.
int _deoptimize_offset;
+ // All deoptee's at a MethodHandle call site will resume execution
+ // at this location described by this offset.
+ int _deoptimize_mh_offset;
#ifdef HAVE_DTRACE_H
int _trap_offset;
#endif // def HAVE_DTRACE_H
@@ -329,24 +336,25 @@
bool is_compiled_by_c2() const;
// boundaries for different parts
- address code_begin () const { return _entry_point; }
- address code_end () const { return header_begin() + _stub_offset ; }
- address exception_begin () const { return header_begin() + _exception_offset ; }
- address deopt_handler_begin() const { return header_begin() + _deoptimize_offset ; }
- address stub_begin () const { return header_begin() + _stub_offset ; }
- address stub_end () const { return header_begin() + _consts_offset ; }
- address consts_begin () const { return header_begin() + _consts_offset ; }
- address consts_end () const { return header_begin() + _scopes_data_offset ; }
- address scopes_data_begin () const { return header_begin() + _scopes_data_offset ; }
- address scopes_data_end () const { return header_begin() + _scopes_pcs_offset ; }
- PcDesc* scopes_pcs_begin () const { return (PcDesc*)(header_begin() + _scopes_pcs_offset ); }
- PcDesc* scopes_pcs_end () const { return (PcDesc*)(header_begin() + _dependencies_offset); }
- address dependencies_begin () const { return header_begin() + _dependencies_offset ; }
- address dependencies_end () const { return header_begin() + _handler_table_offset ; }
- address handler_table_begin() const { return header_begin() + _handler_table_offset ; }
- address handler_table_end () const { return header_begin() + _nul_chk_table_offset ; }
- address nul_chk_table_begin() const { return header_begin() + _nul_chk_table_offset ; }
- address nul_chk_table_end () const { return header_begin() + _nmethod_end_offset ; }
+ address code_begin () const { return _entry_point; }
+ address code_end () const { return header_begin() + _stub_offset ; }
+ address exception_begin () const { return header_begin() + _exception_offset ; }
+ address deopt_handler_begin () const { return header_begin() + _deoptimize_offset ; }
+ address deopt_mh_handler_begin() const { return header_begin() + _deoptimize_mh_offset ; }
+ address stub_begin () const { return header_begin() + _stub_offset ; }
+ address stub_end () const { return header_begin() + _consts_offset ; }
+ address consts_begin () const { return header_begin() + _consts_offset ; }
+ address consts_end () const { return header_begin() + _scopes_data_offset ; }
+ address scopes_data_begin () const { return header_begin() + _scopes_data_offset ; }
+ address scopes_data_end () const { return header_begin() + _scopes_pcs_offset ; }
+ PcDesc* scopes_pcs_begin () const { return (PcDesc*)(header_begin() + _scopes_pcs_offset ); }
+ PcDesc* scopes_pcs_end () const { return (PcDesc*)(header_begin() + _dependencies_offset) ; }
+ address dependencies_begin () const { return header_begin() + _dependencies_offset ; }
+ address dependencies_end () const { return header_begin() + _handler_table_offset ; }
+ address handler_table_begin () const { return header_begin() + _handler_table_offset ; }
+ address handler_table_end () const { return header_begin() + _nul_chk_table_offset ; }
+ address nul_chk_table_begin () const { return header_begin() + _nul_chk_table_offset ; }
+ address nul_chk_table_end () const { return header_begin() + _nmethod_end_offset ; }
int code_size () const { return code_end () - code_begin (); }
int stub_size () const { return stub_end () - stub_begin (); }
@@ -413,6 +421,9 @@
bool has_method_handle_invokes() const { return flags.has_method_handle_invokes; }
void set_has_method_handle_invokes(bool z) { flags.has_method_handle_invokes = z; }
+ bool is_speculatively_disconnected() const { return flags.speculatively_disconnected; }
+ void set_speculatively_disconnected(bool z) { flags.speculatively_disconnected = z; }
+
int level() const { return flags.level; }
void set_level(int newLevel) { check_safepoint(); flags.level = newLevel; }
@@ -437,6 +448,9 @@
nmethod* scavenge_root_link() const { return _scavenge_root_link; }
void set_scavenge_root_link(nmethod *n) { _scavenge_root_link = n; }
+ nmethod* saved_nmethod_link() const { return _saved_nmethod_link; }
+ void set_saved_nmethod_link(nmethod *n) { _saved_nmethod_link = n; }
+
public:
// Sweeper support
@@ -515,7 +529,7 @@
private:
ScopeDesc* scope_desc_in(address begin, address end);
- address* orig_pc_addr(const frame* fr ) { return (address*) ((address)fr->unextended_sp() + _orig_pc_offset); }
+ address* orig_pc_addr(const frame* fr) { return (address*) ((address)fr->unextended_sp() + _orig_pc_offset); }
PcDesc* find_pc_desc_internal(address pc, bool approximate);
@@ -538,13 +552,17 @@
void copy_scopes_pcs(PcDesc* pcs, int count);
void copy_scopes_data(address buffer, int size);
- // deopt
- // return true is the pc is one would expect if the frame is being deopted.
- bool is_deopt_pc(address pc);
+ // Deopt
+ // Return true is the PC is one would expect if the frame is being deopted.
+ bool is_deopt_pc (address pc) { return is_deopt_entry(pc) || is_deopt_mh_entry(pc); }
+ bool is_deopt_entry (address pc) { return pc == deopt_handler_begin(); }
+ bool is_deopt_mh_entry(address pc) { return pc == deopt_mh_handler_begin(); }
// Accessor/mutator for the original pc of a frame before a frame was deopted.
address get_original_pc(const frame* fr) { return *orig_pc_addr(fr); }
void set_original_pc(const frame* fr, address pc) { *orig_pc_addr(fr) = pc; }
+ static address get_deopt_original_pc(const frame* fr);
+
// MethodHandle
bool is_method_handle_return(address return_pc);
--- a/hotspot/src/share/vm/compiler/compileBroker.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/compiler/compileBroker.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1999-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1999-2010 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
@@ -69,6 +69,7 @@
bool CompileBroker::_initialized = false;
volatile bool CompileBroker::_should_block = false;
+volatile jint CompileBroker::_should_compile_new_jobs = run_compilation;
// The installed compiler(s)
AbstractCompiler* CompileBroker::_compilers[2];
@@ -986,6 +987,13 @@
return method_code;
}
if (method->is_not_compilable(comp_level)) return NULL;
+
+ nmethod* saved = CodeCache::find_and_remove_saved_code(method());
+ if (saved != NULL) {
+ method->set_code(method, saved);
+ return saved;
+ }
+
} else {
// osr compilation
#ifndef TIERED
@@ -1037,6 +1045,14 @@
method->jmethod_id();
}
+ // If the compiler is shut off due to code cache flushing or otherwise,
+ // fail out now so blocking compiles dont hang the java thread
+ if (!should_compile_new_jobs() || (UseCodeCacheFlushing && CodeCache::needs_flushing())) {
+ method->invocation_counter()->decay();
+ method->backedge_counter()->decay();
+ return NULL;
+ }
+
// do the compilation
if (method->is_native()) {
if (!PreferInterpreterNativeStubs) {
@@ -1116,7 +1132,7 @@
// the specified level
if (is_native &&
(!CICompileNatives || !compiler(comp_level)->supports_native())) {
- method->set_not_compilable();
+ method->set_not_compilable_quietly();
return true;
}
@@ -1140,7 +1156,7 @@
method->print_short_name(tty);
tty->cr();
}
- method->set_not_compilable();
+ method->set_not_compilable_quietly();
}
return false;
@@ -1173,7 +1189,7 @@
}
// Method was not in the appropriate compilation range.
- method->set_not_compilable();
+ method->set_not_compilable_quietly();
return 0;
}
@@ -1325,26 +1341,13 @@
{
// We need this HandleMark to avoid leaking VM handles.
HandleMark hm(thread);
+
if (CodeCache::unallocated_capacity() < CodeCacheMinimumFreeSpace) {
- // The CodeCache is full. Print out warning and disable compilation.
- UseInterpreter = true;
- if (UseCompiler || AlwaysCompileLoopMethods ) {
- if (log != NULL) {
- log->begin_elem("code_cache_full");
- log->stamp();
- log->end_elem();
- }
-#ifndef PRODUCT
- warning("CodeCache is full. Compiler has been disabled");
- if (CompileTheWorld || ExitOnFullCodeCache) {
- before_exit(thread);
- exit_globals(); // will delete tty
- vm_direct_exit(CompileTheWorld ? 0 : 1);
- }
-#endif
- UseCompiler = false;
- AlwaysCompileLoopMethods = false;
- }
+ // the code cache is really full
+ handle_full_code_cache();
+ } else if (UseCodeCacheFlushing && CodeCache::needs_flushing()) {
+ // Attempt to start cleaning the code cache while there is still a little headroom
+ NMethodSweeper::handle_full_code_cache(false);
}
CompileTask* task = queue->get();
@@ -1369,7 +1372,7 @@
// Never compile a method if breakpoints are present in it
if (method()->number_of_breakpoints() == 0) {
// Compile the method.
- if (UseCompiler || AlwaysCompileLoopMethods) {
+ if ((UseCompiler || AlwaysCompileLoopMethods) && CompileBroker::should_compile_new_jobs()) {
#ifdef COMPILER1
// Allow repeating compilations for the purpose of benchmarking
// compile speed. This is not useful for customers.
@@ -1587,10 +1590,10 @@
if (is_osr) {
method->set_not_osr_compilable();
} else {
- method->set_not_compilable();
+ method->set_not_compilable_quietly();
}
} else if (compilable == ciEnv::MethodCompilable_not_at_tier) {
- method->set_not_compilable(task->comp_level());
+ method->set_not_compilable_quietly(task->comp_level());
}
// Note that the queued_for_compilation bits are cleared without
@@ -1614,6 +1617,38 @@
// ------------------------------------------------------------------
+// CompileBroker::handle_full_code_cache
+//
+// The CodeCache is full. Print out warning and disable compilation or
+// try code cache cleaning so compilation can continue later.
+void CompileBroker::handle_full_code_cache() {
+ UseInterpreter = true;
+ if (UseCompiler || AlwaysCompileLoopMethods ) {
+ CompilerThread* thread = CompilerThread::current();
+ CompileLog* log = thread->log();
+ if (log != NULL) {
+ log->begin_elem("code_cache_full");
+ log->stamp();
+ log->end_elem();
+ }
+ #ifndef PRODUCT
+ warning("CodeCache is full. Compiler has been disabled");
+ if (CompileTheWorld || ExitOnFullCodeCache) {
+ before_exit(JavaThread::current());
+ exit_globals(); // will delete tty
+ vm_direct_exit(CompileTheWorld ? 0 : 1);
+ }
+ #endif
+ if (UseCodeCacheFlushing) {
+ NMethodSweeper::handle_full_code_cache(true);
+ } else {
+ UseCompiler = false;
+ AlwaysCompileLoopMethods = false;
+ }
+ }
+}
+
+// ------------------------------------------------------------------
// CompileBroker::set_last_compile
//
// Record this compilation for debugging purposes.
--- a/hotspot/src/share/vm/compiler/compileBroker.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/compiler/compileBroker.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -193,6 +193,9 @@
static bool _initialized;
static volatile bool _should_block;
+ // This flag can be used to stop compilation or turn it back on
+ static volatile jint _should_compile_new_jobs;
+
// The installed compiler(s)
static AbstractCompiler* _compilers[2];
@@ -319,6 +322,7 @@
static void compiler_thread_loop();
+ static uint get_compilation_id() { return _compilation_id; }
static bool is_idle();
// Set _should_block.
@@ -328,6 +332,20 @@
// Call this from the compiler at convenient points, to poll for _should_block.
static void maybe_block();
+ enum {
+ // Flags for toggling compiler activity
+ stop_compilation = 0,
+ run_compilation = 1
+ };
+
+ static bool should_compile_new_jobs() { return UseCompiler && (_should_compile_new_jobs == run_compilation); }
+ static bool set_should_compile_new_jobs(jint new_state) {
+ // Return success if the current caller set it
+ jint old = Atomic::cmpxchg(new_state, &_should_compile_new_jobs, 1-new_state);
+ return (old == (1-new_state));
+ }
+ static void handle_full_code_cache();
+
// Return total compilation ticks
static jlong total_compilation_ticks() {
return _perf_total_compilation != NULL ? _perf_total_compilation->get_value() : 0;
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -3655,9 +3655,7 @@
verify_work_stacks_empty();
verify_overflow_empty();
assert(_revisitStack.isEmpty(), "tabula rasa");
-
- DEBUG_ONLY(RememberKlassesChecker cmx(CMSClassUnloadingEnabled);)
-
+ DEBUG_ONLY(RememberKlassesChecker cmx(should_unload_classes());)
bool result = false;
if (CMSConcurrentMTEnabled && ParallelCMSThreads > 0) {
result = do_marking_mt(asynch);
@@ -4124,7 +4122,6 @@
void CMSConcMarkingTask::coordinator_yield() {
assert(ConcurrentMarkSweepThread::cms_thread_has_cms_token(),
"CMS thread should hold CMS token");
-
DEBUG_ONLY(RememberKlassesChecker mux(false);)
// First give up the locks, then yield, then re-lock
// We should probably use a constructor/destructor idiom to
@@ -4201,9 +4198,7 @@
// Mutate the Refs discovery so it is MT during the
// multi-threaded marking phase.
ReferenceProcessorMTMutator mt(ref_processor(), num_workers > 1);
-
- DEBUG_ONLY(RememberKlassesChecker cmx(CMSClassUnloadingEnabled);)
-
+ DEBUG_ONLY(RememberKlassesChecker cmx(should_unload_classes());)
conc_workers()->start_task(&tsk);
while (tsk.yielded()) {
tsk.coordinator_yield();
@@ -4472,7 +4467,7 @@
// for cleaner interfaces.
rp->preclean_discovered_references(
rp->is_alive_non_header(), &keep_alive, &complete_trace,
- &yield_cl);
+ &yield_cl, should_unload_classes());
}
if (clean_survivor) { // preclean the active survivor space(s)
@@ -4494,7 +4489,7 @@
SurvivorSpacePrecleanClosure
sss_cl(this, _span, &_markBitMap, &_markStack,
&pam_cl, before_count, CMSYield);
- DEBUG_ONLY(RememberKlassesChecker mx(CMSClassUnloadingEnabled);)
+ DEBUG_ONLY(RememberKlassesChecker mx(should_unload_classes());)
dng->from()->object_iterate_careful(&sss_cl);
dng->to()->object_iterate_careful(&sss_cl);
}
@@ -4665,7 +4660,7 @@
verify_work_stacks_empty();
verify_overflow_empty();
sample_eden();
- DEBUG_ONLY(RememberKlassesChecker mx(CMSClassUnloadingEnabled);)
+ DEBUG_ONLY(RememberKlassesChecker mx(should_unload_classes());)
stop_point =
gen->cmsSpace()->object_iterate_careful_m(dirtyRegion, cl);
}
@@ -4753,7 +4748,7 @@
sample_eden();
verify_work_stacks_empty();
verify_overflow_empty();
- DEBUG_ONLY(RememberKlassesChecker mx(CMSClassUnloadingEnabled);)
+ DEBUG_ONLY(RememberKlassesChecker mx(should_unload_classes());)
HeapWord* stop_point =
gen->cmsSpace()->object_iterate_careful_m(dirtyRegion, cl);
if (stop_point != NULL) {
@@ -4853,7 +4848,7 @@
assert(haveFreelistLocks(), "must have free list locks");
assert_lock_strong(bitMapLock());
- DEBUG_ONLY(RememberKlassesChecker fmx(CMSClassUnloadingEnabled);)
+ DEBUG_ONLY(RememberKlassesChecker fmx(should_unload_classes());)
if (!init_mark_was_synchronous) {
// We might assume that we need not fill TLAB's when
// CMSScavengeBeforeRemark is set, because we may have just done
--- a/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1004,7 +1004,12 @@
// storage in the heap comes from a young region or not.
// See ReduceInitialCardMarks.
virtual bool can_elide_tlab_store_barriers() const {
- return true;
+ // 6920090: Temporarily disabled, because of lingering
+ // instabilities related to RICM with G1. In the
+ // interim, the option ReduceInitialCardMarksForG1
+ // below is left solely as a debugging device at least
+ // until 6920109 fixes the instabilities.
+ return ReduceInitialCardMarksForG1;
}
virtual bool card_mark_must_follow_store() const {
@@ -1026,6 +1031,8 @@
// However, non-generational G1 (-XX:-G1Gen) appears to have
// bit-rotted so was not tested below.
virtual bool can_elide_initializing_store_barrier(oop new_obj) {
+ // Re 6920090, 6920109 above.
+ assert(ReduceInitialCardMarksForG1, "Else cannot be here");
assert(G1Gen || !is_in_young(new_obj),
"Non-generational G1 should never return true below");
return is_in_young(new_obj);
--- a/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/gc_implementation/g1/g1_globals.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -291,6 +291,10 @@
"a particular entry exceeds this value.") \
\
develop(bool, G1VerifyCTCleanup, false, \
- "Verify card table cleanup.")
+ "Verify card table cleanup.") \
+ \
+ develop(bool, ReduceInitialCardMarksForG1, false, \
+ "When ReduceInitialCardMarks is true, this flag setting " \
+ " controls whether G1 allows the RICM optimization")
G1_FLAGS(DECLARE_DEVELOPER_FLAG, DECLARE_PD_DEVELOPER_FLAG, DECLARE_PRODUCT_FLAG, DECLARE_PD_PRODUCT_FLAG, DECLARE_DIAGNOSTIC_FLAG, DECLARE_EXPERIMENTAL_FLAG, DECLARE_NOTPRODUCT_FLAG, DECLARE_MANAGEABLE_FLAG, DECLARE_PRODUCT_RW_FLAG)
--- a/hotspot/src/share/vm/gc_interface/collectedHeap.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/gc_interface/collectedHeap.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -66,7 +66,8 @@
// Used for ReduceInitialCardMarks (when COMPILER2 is used);
// otherwise remains unused.
#ifdef COMPLER2
- _defer_initial_card_mark = ReduceInitialCardMarks && (DeferInitialCardMark || card_mark_must_follow_store());
+ _defer_initial_card_mark = ReduceInitialCardMarks && can_elide_tlab_store_barriers()
+ && (DeferInitialCardMark || card_mark_must_follow_store());
#else
assert(_defer_initial_card_mark == false, "Who would set it?");
#endif
--- a/hotspot/src/share/vm/includeDB_compiler2 Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/includeDB_compiler2 Wed Feb 17 10:24:30 2010 -0800
@@ -775,6 +775,7 @@
output.cpp assembler.inline.hpp
output.cpp callnode.hpp
output.cpp cfgnode.hpp
+output.cpp compileBroker.hpp
output.cpp debugInfo.hpp
output.cpp debugInfoRec.hpp
output.cpp handles.inline.hpp
--- a/hotspot/src/share/vm/includeDB_core Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/includeDB_core Wed Feb 17 10:24:30 2010 -0800
@@ -921,6 +921,7 @@
classLoader.cpp allocation.inline.hpp
classLoader.cpp arguments.hpp
+classLoader.cpp bytecodeStream.hpp
classLoader.cpp classFileParser.hpp
classLoader.cpp classFileStream.hpp
classLoader.cpp classLoader.hpp
@@ -948,6 +949,7 @@
classLoader.cpp management.hpp
classLoader.cpp oop.inline.hpp
classLoader.cpp oopFactory.hpp
+classLoader.cpp oopMapCache.hpp
classLoader.cpp os_<os_family>.inline.hpp
classLoader.cpp symbolOop.hpp
classLoader.cpp systemDictionary.hpp
@@ -1030,6 +1032,7 @@
codeCache.cpp oop.inline.hpp
codeCache.cpp pcDesc.hpp
codeCache.cpp resourceArea.hpp
+codeCache.cpp xmlstream.hpp
codeCache.hpp allocation.hpp
codeCache.hpp codeBlob.hpp
@@ -1118,6 +1121,7 @@
compileBroker.cpp oop.inline.hpp
compileBroker.cpp os.hpp
compileBroker.cpp sharedRuntime.hpp
+compileBroker.cpp sweeper.hpp
compileBroker.cpp systemDictionary.hpp
compileBroker.cpp vmSymbols.hpp
@@ -2530,6 +2534,7 @@
jvmtiExport.hpp handles.hpp
jvmtiExport.hpp iterator.hpp
jvmtiExport.hpp jvmti.h
+jvmtiExport.hpp jvmticmlr.h
jvmtiExport.hpp oop.hpp
jvmtiExport.hpp oopsHierarchy.hpp
@@ -3716,6 +3721,7 @@
sharedRuntime.cpp abstractCompiler.hpp
sharedRuntime.cpp arguments.hpp
sharedRuntime.cpp biasedLocking.hpp
+sharedRuntime.cpp compileBroker.hpp
sharedRuntime.cpp compiledIC.hpp
sharedRuntime.cpp compilerOracle.hpp
sharedRuntime.cpp copy.hpp
@@ -3724,6 +3730,7 @@
sharedRuntime.cpp forte.hpp
sharedRuntime.cpp gcLocker.inline.hpp
sharedRuntime.cpp handles.inline.hpp
+sharedRuntime.cpp hashtable.inline.hpp
sharedRuntime.cpp init.hpp
sharedRuntime.cpp interfaceSupport.hpp
sharedRuntime.cpp interpreterRuntime.hpp
@@ -3751,6 +3758,7 @@
sharedRuntime.hpp allocation.hpp
sharedRuntime.hpp bytecodeHistogram.hpp
sharedRuntime.hpp bytecodeTracer.hpp
+sharedRuntime.hpp hashtable.hpp
sharedRuntime.hpp linkResolver.hpp
sharedRuntime.hpp resourceArea.hpp
sharedRuntime.hpp threadLocalStorage.hpp
@@ -3968,6 +3976,7 @@
sweeper.cpp atomic.hpp
sweeper.cpp codeCache.hpp
+sweeper.cpp compileBroker.hpp
sweeper.cpp events.hpp
sweeper.cpp methodOop.hpp
sweeper.cpp mutexLocker.hpp
@@ -3975,6 +3984,8 @@
sweeper.cpp os.hpp
sweeper.cpp resourceArea.hpp
sweeper.cpp sweeper.hpp
+sweeper.cpp vm_operations.hpp
+sweeper.cpp xmlstream.hpp
symbolKlass.cpp gcLocker.hpp
symbolKlass.cpp handles.inline.hpp
@@ -4628,6 +4639,7 @@
vm_operations.cpp interfaceSupport.hpp
vm_operations.cpp isGCActiveMark.hpp
vm_operations.cpp resourceArea.hpp
+vm_operations.cpp sweeper.hpp
vm_operations.cpp threadService.hpp
vm_operations.cpp thread_<os_family>.inline.hpp
vm_operations.cpp vmSymbols.hpp
--- a/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/interpreter/interpreterRuntime.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -397,7 +397,7 @@
// notify JVMTI of an exception throw; JVMTI will detect if this is a first
// time throw or a stack unwinding throw and accordingly notify the debugger
- if (JvmtiExport::can_post_exceptions()) {
+ if (JvmtiExport::can_post_on_exceptions()) {
JvmtiExport::post_exception_throw(thread, h_method(), bcp(thread), h_exception());
}
@@ -426,7 +426,7 @@
}
// notify debugger of an exception catch
// (this is good for exceptions caught in native methods as well)
- if (JvmtiExport::can_post_exceptions()) {
+ if (JvmtiExport::can_post_on_exceptions()) {
JvmtiExport::notice_unwind_due_to_exception(thread, h_method(), handler_pc, h_exception(), (handler_pc != NULL));
}
--- a/hotspot/src/share/vm/memory/iterator.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/memory/iterator.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -296,23 +296,32 @@
// RememberKlassesChecker can be passed "false" to turn off checking.
// It is used by CMS when CMS yields to a different collector.
class RememberKlassesChecker: StackObj {
- bool _state;
- bool _skip;
+ bool _saved_state;
+ bool _do_check;
public:
- RememberKlassesChecker(bool checking_on) : _state(false), _skip(false) {
- _skip = !(ClassUnloading && !UseConcMarkSweepGC ||
- CMSClassUnloadingEnabled && UseConcMarkSweepGC);
- if (_skip) {
- return;
+ RememberKlassesChecker(bool checking_on) : _saved_state(false),
+ _do_check(true) {
+ // The ClassUnloading unloading flag affects the collectors except
+ // for CMS.
+ // CMS unloads classes if CMSClassUnloadingEnabled is true or
+ // if ExplicitGCInvokesConcurrentAndUnloadsClasses is true and
+ // the current collection is an explicit collection. Turning
+ // on the checking in general for
+ // ExplicitGCInvokesConcurrentAndUnloadsClasses and
+ // UseConcMarkSweepGC should not lead to false positives.
+ _do_check =
+ ClassUnloading && !UseConcMarkSweepGC ||
+ CMSClassUnloadingEnabled && UseConcMarkSweepGC ||
+ ExplicitGCInvokesConcurrentAndUnloadsClasses && UseConcMarkSweepGC;
+ if (_do_check) {
+ _saved_state = OopClosure::must_remember_klasses();
+ OopClosure::set_must_remember_klasses(checking_on);
}
- _state = OopClosure::must_remember_klasses();
- OopClosure::set_must_remember_klasses(checking_on);
}
~RememberKlassesChecker() {
- if (_skip) {
- return;
+ if (_do_check) {
+ OopClosure::set_must_remember_klasses(_saved_state);
}
- OopClosure::set_must_remember_klasses(_state);
}
};
#endif // ASSERT
--- a/hotspot/src/share/vm/memory/referenceProcessor.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/memory/referenceProcessor.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1227,13 +1227,16 @@
BoolObjectClosure* is_alive,
OopClosure* keep_alive,
VoidClosure* complete_gc,
- YieldClosure* yield) {
+ YieldClosure* yield,
+ bool should_unload_classes) {
NOT_PRODUCT(verify_ok_to_handle_reflists());
#ifdef ASSERT
bool must_remember_klasses = ClassUnloading && !UseConcMarkSweepGC ||
- CMSClassUnloadingEnabled && UseConcMarkSweepGC;
+ CMSClassUnloadingEnabled && UseConcMarkSweepGC ||
+ ExplicitGCInvokesConcurrentAndUnloadsClasses &&
+ UseConcMarkSweepGC && should_unload_classes;
RememberKlassesChecker mx(must_remember_klasses);
#endif
// Soft references
--- a/hotspot/src/share/vm/memory/referenceProcessor.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/memory/referenceProcessor.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -170,11 +170,13 @@
// The caller is responsible for taking care of potential
// interference with concurrent operations on these lists
// (or predicates involved) by other threads. Currently
- // only used by the CMS collector.
+ // only used by the CMS collector. should_unload_classes is
+ // used to aid assertion checking when classes are collected.
void preclean_discovered_references(BoolObjectClosure* is_alive,
OopClosure* keep_alive,
VoidClosure* complete_gc,
- YieldClosure* yield);
+ YieldClosure* yield,
+ bool should_unload_classes);
// Delete entries in the discovered lists that have
// either a null referent or are not active. Such
--- a/hotspot/src/share/vm/oops/methodDataOop.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/oops/methodDataOop.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1391,6 +1391,9 @@
}
void inc_decompile_count() {
_nof_decompiles += 1;
+ if (decompile_count() > (uint)PerMethodRecompilationCutoff) {
+ method()->set_not_compilable();
+ }
}
// Support for code generation
--- a/hotspot/src/share/vm/oops/methodOop.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/oops/methodOop.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -575,12 +575,6 @@
return true;
}
- methodDataOop mdo = method_data();
- if (mdo != NULL
- && (uint)mdo->decompile_count() > (uint)PerMethodRecompilationCutoff) {
- // Since (uint)-1 is large, -1 really means 'no cutoff'.
- return true;
- }
#ifdef COMPILER2
if (is_tier1_compile(comp_level)) {
if (is_not_tier1_compilable()) {
@@ -593,7 +587,16 @@
}
// call this when compiler finds that this method is not compilable
-void methodOopDesc::set_not_compilable(int comp_level) {
+void methodOopDesc::set_not_compilable(int comp_level, bool report) {
+ if (PrintCompilation && report) {
+ ttyLocker ttyl;
+ tty->print("made not compilable ");
+ this->print_short_name(tty);
+ int size = this->code_size();
+ if (size > 0)
+ tty->print(" (%d bytes)", size);
+ tty->cr();
+ }
if ((TraceDeoptimization || LogCompilation) && (xtty != NULL)) {
ttyLocker ttyl;
xtty->begin_elem("make_not_compilable thread='%d'", (int) os::current_thread_id());
@@ -688,7 +691,7 @@
// so making them eagerly shouldn't be too expensive.
AdapterHandlerEntry* adapter = AdapterHandlerLibrary::get_adapter(mh);
if (adapter == NULL ) {
- THROW_0(vmSymbols::java_lang_OutOfMemoryError());
+ THROW_MSG_NULL(vmSymbols::java_lang_VirtualMachineError(), "out of space in CodeCache for adapters");
}
mh->set_adapter_entry(adapter);
@@ -705,6 +708,16 @@
// This function must not hit a safepoint!
address methodOopDesc::verified_code_entry() {
debug_only(No_Safepoint_Verifier nsv;)
+ nmethod *code = (nmethod *)OrderAccess::load_ptr_acquire(&_code);
+ if (code == NULL && UseCodeCacheFlushing) {
+ nmethod *saved_code = CodeCache::find_and_remove_saved_code(this);
+ if (saved_code != NULL) {
+ methodHandle method(this);
+ assert( ! saved_code->is_osr_method(), "should not get here for osr" );
+ set_code( method, saved_code );
+ }
+ }
+
assert(_from_compiled_entry != NULL, "must be set");
return _from_compiled_entry;
}
@@ -733,8 +746,8 @@
int comp_level = code->comp_level();
// In theory there could be a race here. In practice it is unlikely
// and not worth worrying about.
- if (comp_level > highest_tier_compile()) {
- set_highest_tier_compile(comp_level);
+ if (comp_level > mh->highest_tier_compile()) {
+ mh->set_highest_tier_compile(comp_level);
}
OrderAccess::storestore();
--- a/hotspot/src/share/vm/oops/methodOop.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/oops/methodOop.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -303,7 +303,7 @@
bool check_code() const; // Not inline to avoid circular ref
nmethod* volatile code() const { assert( check_code(), "" ); return (nmethod *)OrderAccess::load_ptr_acquire(&_code); }
void clear_code(); // Clear out any compiled code
- void set_code(methodHandle mh, nmethod* code);
+ static void set_code(methodHandle mh, nmethod* code);
void set_adapter_entry(AdapterHandlerEntry* adapter) { _adapter = adapter; }
address get_i2c_entry();
address get_c2i_entry();
@@ -596,7 +596,10 @@
// whether it is not compilable for another reason like having a
// breakpoint set in it.
bool is_not_compilable(int comp_level = CompLevel_highest_tier) const;
- void set_not_compilable(int comp_level = CompLevel_highest_tier);
+ void set_not_compilable(int comp_level = CompLevel_highest_tier, bool report = true);
+ void set_not_compilable_quietly(int comp_level = CompLevel_highest_tier) {
+ set_not_compilable(comp_level, false);
+ }
bool is_not_osr_compilable() const { return is_not_compilable() || access_flags().is_not_osr_compilable(); }
void set_not_osr_compilable() { _access_flags.set_not_osr_compilable(); }
--- a/hotspot/src/share/vm/opto/doCall.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/doCall.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -182,26 +182,16 @@
}
}
CallGenerator* miss_cg;
+ Deoptimization::DeoptReason reason = (profile.morphism() == 2) ?
+ Deoptimization::Reason_bimorphic :
+ Deoptimization::Reason_class_check;
if (( profile.morphism() == 1 ||
(profile.morphism() == 2 && next_hit_cg != NULL) ) &&
-
- !too_many_traps(Deoptimization::Reason_class_check)
-
- // Check only total number of traps per method to allow
- // the transition from monomorphic to bimorphic case between
- // compilations without falling into virtual call.
- // A monomorphic case may have the class_check trap flag is set
- // due to the time gap between the uncommon trap processing
- // when flags are set in MDO and the call site bytecode execution
- // in Interpreter when MDO counters are updated.
- // There was also class_check trap in monomorphic case due to
- // the bug 6225440.
-
+ !too_many_traps(jvms->method(), jvms->bci(), reason)
) {
// Generate uncommon trap for class check failure path
// in case of monomorphic or bimorphic virtual call site.
- miss_cg = CallGenerator::for_uncommon_trap(call_method,
- Deoptimization::Reason_class_check,
+ miss_cg = CallGenerator::for_uncommon_trap(call_method, reason,
Deoptimization::Action_maybe_recompile);
} else {
// Generate virtual call for class check failure path
--- a/hotspot/src/share/vm/opto/graphKit.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/graphKit.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2001-2010 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
@@ -455,16 +455,44 @@
return Bytecodes::_illegal;
}
+void GraphKit::uncommon_trap_if_should_post_on_exceptions(Deoptimization::DeoptReason reason,
+ bool must_throw) {
+ // if the exception capability is set, then we will generate code
+ // to check the JavaThread.should_post_on_exceptions flag to see
+ // if we actually need to report exception events (for this
+ // thread). If we don't need to report exception events, we will
+ // take the normal fast path provided by add_exception_events. If
+ // exception event reporting is enabled for this thread, we will
+ // take the uncommon_trap in the BuildCutout below.
+
+ // first must access the should_post_on_exceptions_flag in this thread's JavaThread
+ Node* jthread = _gvn.transform(new (C, 1) ThreadLocalNode());
+ Node* adr = basic_plus_adr(top(), jthread, in_bytes(JavaThread::should_post_on_exceptions_flag_offset()));
+ Node* should_post_flag = make_load(control(), adr, TypeInt::INT, T_INT, Compile::AliasIdxRaw, false);
+
+ // Test the should_post_on_exceptions_flag vs. 0
+ Node* chk = _gvn.transform( new (C, 3) CmpINode(should_post_flag, intcon(0)) );
+ Node* tst = _gvn.transform( new (C, 2) BoolNode(chk, BoolTest::eq) );
+
+ // Branch to slow_path if should_post_on_exceptions_flag was true
+ { BuildCutout unless(this, tst, PROB_MAX);
+ // Do not try anything fancy if we're notifying the VM on every throw.
+ // Cf. case Bytecodes::_athrow in parse2.cpp.
+ uncommon_trap(reason, Deoptimization::Action_none,
+ (ciKlass*)NULL, (char*)NULL, must_throw);
+ }
+
+}
+
//------------------------------builtin_throw----------------------------------
void GraphKit::builtin_throw(Deoptimization::DeoptReason reason, Node* arg) {
bool must_throw = true;
- if (env()->jvmti_can_post_exceptions()) {
- // Do not try anything fancy if we're notifying the VM on every throw.
- // Cf. case Bytecodes::_athrow in parse2.cpp.
- uncommon_trap(reason, Deoptimization::Action_none,
- (ciKlass*)NULL, (char*)NULL, must_throw);
- return;
+ if (env()->jvmti_can_post_on_exceptions()) {
+ // check if we must post exception events, take uncommon trap if so
+ uncommon_trap_if_should_post_on_exceptions(reason, must_throw);
+ // here if should_post_on_exceptions is false
+ // continue on with the normal codegen
}
// If this particular condition has not yet happened at this
--- a/hotspot/src/share/vm/opto/graphKit.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/graphKit.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2001-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2001-2010 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
@@ -251,6 +251,11 @@
// via an uncommon trap.
void builtin_throw(Deoptimization::DeoptReason reason, Node* arg = NULL);
+ // Helper to check the JavaThread::_should_post_on_exceptions flag
+ // and branch to an uncommon_trap if it is true (with the specified reason and must_throw)
+ void uncommon_trap_if_should_post_on_exceptions(Deoptimization::DeoptReason reason,
+ bool must_throw) ;
+
// Helper Functions for adding debug information
void kill_dead_locals();
#ifdef ASSERT
--- a/hotspot/src/share/vm/opto/ifg.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/ifg.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1998-2010 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
--- a/hotspot/src/share/vm/opto/machnode.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/machnode.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -232,7 +232,7 @@
// Expand method for MachNode, replaces nodes representing pseudo
// instructions with a set of nodes which represent real machine
// instructions and compute the same value.
- virtual MachNode *Expand( State *, Node_List &proj_list ) { return this; }
+ virtual MachNode *Expand( State *, Node_List &proj_list, Node* mem ) { return this; }
// Bottom_type call; value comes from operand0
virtual const class Type *bottom_type() const { return _opnds[0]->type(); }
--- a/hotspot/src/share/vm/opto/matcher.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/matcher.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -1580,7 +1580,7 @@
uint num_proj = _proj_list.size();
// Perform any 1-to-many expansions required
- MachNode *ex = mach->Expand(s,_proj_list);
+ MachNode *ex = mach->Expand(s,_proj_list, mem);
if( ex != mach ) {
assert(ex->ideal_reg() == mach->ideal_reg(), "ideal types should match");
if( ex->in(1)->is_Con() )
--- a/hotspot/src/share/vm/opto/memnode.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/memnode.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -583,9 +583,22 @@
// Preceeding equivalent StoreCMs may be eliminated.
class StoreCMNode : public StoreNode {
private:
+ virtual uint hash() const { return StoreNode::hash() + _oop_alias_idx; }
+ virtual uint cmp( const Node &n ) const {
+ return _oop_alias_idx == ((StoreCMNode&)n)._oop_alias_idx
+ && StoreNode::cmp(n);
+ }
+ virtual uint size_of() const { return sizeof(*this); }
int _oop_alias_idx; // The alias_idx of OopStore
+
public:
- StoreCMNode( Node *c, Node *mem, Node *adr, const TypePtr* at, Node *val, Node *oop_store, int oop_alias_idx ) : StoreNode(c,mem,adr,at,val,oop_store), _oop_alias_idx(oop_alias_idx) {}
+ StoreCMNode( Node *c, Node *mem, Node *adr, const TypePtr* at, Node *val, Node *oop_store, int oop_alias_idx ) :
+ StoreNode(c,mem,adr,at,val,oop_store),
+ _oop_alias_idx(oop_alias_idx) {
+ assert(_oop_alias_idx >= Compile::AliasIdxRaw ||
+ _oop_alias_idx == Compile::AliasIdxBot && Compile::current()->AliasLevel() == 0,
+ "bad oop alias idx");
+ }
virtual int Opcode() const;
virtual Node *Identity( PhaseTransform *phase );
virtual Node *Ideal(PhaseGVN *phase, bool can_reshape);
--- a/hotspot/src/share/vm/opto/output.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/output.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1998-2010 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
@@ -1093,7 +1093,7 @@
cb->initialize(total_req, locs_req);
// Have we run out of code space?
- if (cb->blob() == NULL) {
+ if ((cb->blob() == NULL) || (!CompileBroker::should_compile_new_jobs())) {
turn_off_compiler(this);
return;
}
@@ -1314,7 +1314,7 @@
// Verify that there is sufficient space remaining
cb->insts()->maybe_expand_to_ensure_remaining(MAX_inst_size);
- if (cb->blob() == NULL) {
+ if ((cb->blob() == NULL) || (!CompileBroker::should_compile_new_jobs())) {
turn_off_compiler(this);
return;
}
@@ -1430,10 +1430,14 @@
_code_offsets.set_value(CodeOffsets::Exceptions, emit_exception_handler(*cb));
// Emit the deopt handler code.
_code_offsets.set_value(CodeOffsets::Deopt, emit_deopt_handler(*cb));
+ // Emit the MethodHandle deopt handler code. We can use the same
+ // code as for the normal deopt handler, we just need a different
+ // entry point address.
+ _code_offsets.set_value(CodeOffsets::DeoptMH, emit_deopt_handler(*cb));
}
// One last check for failed CodeBuffer::expand:
- if (cb->blob() == NULL) {
+ if ((cb->blob() == NULL) || (!CompileBroker::should_compile_new_jobs())) {
turn_off_compiler(this);
return;
}
--- a/hotspot/src/share/vm/opto/parse2.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/parse2.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1998-2010 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
@@ -2079,13 +2079,6 @@
// null exception oop throws NULL pointer exception
do_null_check(peek(), T_OBJECT);
if (stopped()) return;
- if (env()->jvmti_can_post_exceptions()) {
- // "Full-speed throwing" is not necessary here,
- // since we're notifying the VM on every throw.
- uncommon_trap(Deoptimization::Reason_unhandled,
- Deoptimization::Action_none);
- return;
- }
// Hook the thrown exception directly to subsequent handlers.
if (BailoutToInterpreterForThrows) {
// Keep method interpreted from now on.
@@ -2093,6 +2086,11 @@
Deoptimization::Action_make_not_compilable);
return;
}
+ if (env()->jvmti_can_post_on_exceptions()) {
+ // check if we must post exception events, take uncommon trap if so (with must_throw = false)
+ uncommon_trap_if_should_post_on_exceptions(Deoptimization::Reason_unhandled, false);
+ }
+ // Here if either can_post_on_exceptions or should_post_on_exceptions is false
add_exception_state(make_exception_state(peek()));
break;
--- a/hotspot/src/share/vm/opto/parseHelper.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/parseHelper.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -414,8 +414,6 @@
void Parse::profile_call(Node* receiver) {
if (!method_data_update()) return;
- profile_generic_call();
-
switch (bc()) {
case Bytecodes::_invokevirtual:
case Bytecodes::_invokeinterface:
@@ -424,6 +422,7 @@
case Bytecodes::_invokestatic:
case Bytecodes::_invokedynamic:
case Bytecodes::_invokespecial:
+ profile_generic_call();
break;
default: fatal("unexpected call bytecode");
}
@@ -444,13 +443,16 @@
void Parse::profile_receiver_type(Node* receiver) {
assert(method_data_update(), "must be generating profile code");
- // Skip if we aren't tracking receivers
- if (TypeProfileWidth < 1) return;
-
ciMethodData* md = method()->method_data();
assert(md != NULL, "expected valid ciMethodData");
ciProfileData* data = md->bci_to_data(bci());
assert(data->is_ReceiverTypeData(), "need ReceiverTypeData here");
+
+ // Skip if we aren't tracking receivers
+ if (TypeProfileWidth < 1) {
+ increment_md_counter_at(md, data, CounterData::count_offset());
+ return;
+ }
ciReceiverTypeData* rdata = (ciReceiverTypeData*)data->as_ReceiverTypeData();
Node* method_data = method_data_addressing(md, rdata, in_ByteSize(0));
--- a/hotspot/src/share/vm/opto/runtime.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/opto/runtime.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1998-2010 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
@@ -706,6 +706,11 @@
// vc->set_receiver_count(empty_row, DataLayout::counter_increment);
int count_off = ReceiverTypeData::receiver_count_cell_index(empty_row);
*(mdp + count_off) = DataLayout::counter_increment;
+ } else {
+ // Receiver did not match any saved receiver and there is no empty row for it.
+ // Increment total counter to indicate polimorphic case.
+ intptr_t* count_p = (intptr_t*)(((byte*)(data)) + in_bytes(CounterData::count_offset()));
+ *count_p += DataLayout::counter_increment;
}
JRT_END
@@ -810,7 +815,7 @@
// we are switching to old paradigm: search for exception handler in caller_frame
// instead in exception handler of caller_frame.sender()
- if (JvmtiExport::can_post_exceptions()) {
+ if (JvmtiExport::can_post_on_exceptions()) {
// "Full-speed catching" is not necessary here,
// since we're notifying the VM on every catch.
// Force deoptimization and the rest of the lookup
@@ -975,8 +980,8 @@
assert(stub_frame.is_runtime_frame() || exception_blob()->contains(stub_frame.pc()), "sanity check");
frame caller_frame = stub_frame.sender(®_map);
- VM_DeoptimizeFrame deopt(thread, caller_frame.id());
- VMThread::execute(&deopt);
+ // bypass VM_DeoptimizeFrame and deoptimize the frame directly
+ Deoptimization::deoptimize_frame(thread, caller_frame.id());
}
}
--- a/hotspot/src/share/vm/prims/jvmtiEventController.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/prims/jvmtiEventController.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2003-2010 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
@@ -82,7 +82,7 @@
THREAD_START_BIT | THREAD_END_BIT |
DYNAMIC_CODE_GENERATED_BIT;
static const jlong GLOBAL_EVENT_BITS = ~THREAD_FILTERED_EVENT_BITS;
-
+static const jlong SHOULD_POST_ON_EXCEPTIONS_BITS = EXCEPTION_BITS | METHOD_EXIT_BIT | FRAME_POP_BIT;
///////////////////////////////////////////////////////////////
//
@@ -511,7 +511,12 @@
leave_interp_only_mode(state);
}
}
+
+ // update the JavaThread cached value for thread-specific should_post_on_exceptions value
+ bool should_post_on_exceptions = (any_env_enabled & SHOULD_POST_ON_EXCEPTIONS_BITS) != 0;
+ state->set_should_post_on_exceptions(should_post_on_exceptions);
}
+
return any_env_enabled;
}
@@ -615,6 +620,10 @@
// set global truly enabled, that is, any thread in any environment
JvmtiEventController::_universal_global_event_enabled.set_bits(any_env_thread_enabled);
+
+ // set global should_post_on_exceptions
+ JvmtiExport::set_should_post_on_exceptions((any_env_thread_enabled & SHOULD_POST_ON_EXCEPTIONS_BITS) != 0);
+
}
EC_TRACE(("JVMTI [-] # recompute enabled - after %llx", any_env_thread_enabled));
--- a/hotspot/src/share/vm/prims/jvmtiExport.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/prims/jvmtiExport.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2003-2010 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
@@ -686,11 +686,11 @@
jvmtiAddrLocationMap *_map;
const void *_compile_info;
public:
- JvmtiCompiledMethodLoadEventMark(JavaThread *thread, nmethod *nm)
+ JvmtiCompiledMethodLoadEventMark(JavaThread *thread, nmethod *nm, void* compile_info_ptr = NULL)
: JvmtiMethodEventMark(thread,methodHandle(thread, nm->method())) {
_code_data = nm->code_begin();
_code_size = nm->code_size();
- _compile_info = NULL; /* no info for our VM. */
+ _compile_info = compile_info_ptr; // Set void pointer of compiledMethodLoad Event. Default value is NULL.
JvmtiCodeBlobEvents::build_jvmti_addr_location_map(nm, &_map, &_map_length);
}
~JvmtiCompiledMethodLoadEventMark() {
@@ -877,7 +877,7 @@
bool JvmtiExport::_can_get_source_debug_extension = false;
bool JvmtiExport::_can_maintain_original_method_order = false;
bool JvmtiExport::_can_post_interpreter_events = false;
-bool JvmtiExport::_can_post_exceptions = false;
+bool JvmtiExport::_can_post_on_exceptions = false;
bool JvmtiExport::_can_post_breakpoint = false;
bool JvmtiExport::_can_post_field_access = false;
bool JvmtiExport::_can_post_field_modification = false;
@@ -908,6 +908,7 @@
bool JvmtiExport::_should_post_object_free = false;
bool JvmtiExport::_should_post_resource_exhausted = false;
bool JvmtiExport::_should_post_vm_object_alloc = false;
+bool JvmtiExport::_should_post_on_exceptions = false;
////////////////////////////////////////////////////////////////////////////////////////////////
@@ -1752,6 +1753,46 @@
}
}
+// Returns a record containing inlining information for the given nmethod
+jvmtiCompiledMethodLoadInlineRecord* create_inline_record(nmethod* nm) {
+ jint numstackframes = 0;
+ jvmtiCompiledMethodLoadInlineRecord* record = (jvmtiCompiledMethodLoadInlineRecord*)NEW_RESOURCE_OBJ(jvmtiCompiledMethodLoadInlineRecord);
+ record->header.kind = JVMTI_CMLR_INLINE_INFO;
+ record->header.next = NULL;
+ record->header.majorinfoversion = JVMTI_CMLR_MAJOR_VERSION_1;
+ record->header.minorinfoversion = JVMTI_CMLR_MINOR_VERSION_0;
+ record->numpcs = 0;
+ for(PcDesc* p = nm->scopes_pcs_begin(); p < nm->scopes_pcs_end(); p++) {
+ if(p->scope_decode_offset() == DebugInformationRecorder::serialized_null) continue;
+ record->numpcs++;
+ }
+ record->pcinfo = (PCStackInfo*)(NEW_RESOURCE_ARRAY(PCStackInfo, record->numpcs));
+ int scope = 0;
+ for(PcDesc* p = nm->scopes_pcs_begin(); p < nm->scopes_pcs_end(); p++) {
+ if(p->scope_decode_offset() == DebugInformationRecorder::serialized_null) continue;
+ void* pc_address = (void*)p->real_pc(nm);
+ assert(pc_address != NULL, "pc_address must be non-null");
+ record->pcinfo[scope].pc = pc_address;
+ numstackframes=0;
+ for(ScopeDesc* sd = nm->scope_desc_at(p->real_pc(nm));sd != NULL;sd = sd->sender()) {
+ numstackframes++;
+ }
+ assert(numstackframes != 0, "numstackframes must be nonzero.");
+ record->pcinfo[scope].methods = (jmethodID *)NEW_RESOURCE_ARRAY(jmethodID, numstackframes);
+ record->pcinfo[scope].bcis = (jint *)NEW_RESOURCE_ARRAY(jint, numstackframes);
+ record->pcinfo[scope].numstackframes = numstackframes;
+ int stackframe = 0;
+ for(ScopeDesc* sd = nm->scope_desc_at(p->real_pc(nm));sd != NULL;sd = sd->sender()) {
+ // sd->method() can be NULL for stubs but not for nmethods. To be completely robust, include an assert that we should never see a null sd->method()
+ assert(!sd->method().is_null(), "sd->method() cannot be null.");
+ record->pcinfo[scope].methods[stackframe] = sd->method()->jmethod_id();
+ record->pcinfo[scope].bcis[stackframe] = sd->bci();
+ stackframe++;
+ }
+ scope++;
+ }
+ return record;
+}
void JvmtiExport::post_compiled_method_load(nmethod *nm) {
// If there are pending CompiledMethodUnload events then these are
@@ -1780,7 +1821,11 @@
(nm->method() == NULL) ? "NULL" : nm->method()->name()->as_C_string()));
ResourceMark rm(thread);
- JvmtiCompiledMethodLoadEventMark jem(thread, nm);
+
+ // Add inlining information
+ jvmtiCompiledMethodLoadInlineRecord* inlinerecord = create_inline_record(nm);
+ // Pass inlining information through the void pointer
+ JvmtiCompiledMethodLoadEventMark jem(thread, nm, inlinerecord);
JvmtiJavaThreadEventTransition jet(thread);
jvmtiEventCompiledMethodLoad callback = env->callbacks()->CompiledMethodLoad;
if (callback != NULL) {
--- a/hotspot/src/share/vm/prims/jvmtiExport.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/prims/jvmtiExport.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1998-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1998-2010 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
@@ -66,7 +66,7 @@
JVMTI_SUPPORT_FLAG(can_get_source_debug_extension)
JVMTI_SUPPORT_FLAG(can_maintain_original_method_order)
JVMTI_SUPPORT_FLAG(can_post_interpreter_events)
- JVMTI_SUPPORT_FLAG(can_post_exceptions)
+ JVMTI_SUPPORT_FLAG(can_post_on_exceptions)
JVMTI_SUPPORT_FLAG(can_post_breakpoint)
JVMTI_SUPPORT_FLAG(can_post_field_access)
JVMTI_SUPPORT_FLAG(can_post_field_modification)
@@ -93,6 +93,7 @@
JVMTI_SUPPORT_FLAG(should_post_data_dump)
JVMTI_SUPPORT_FLAG(should_post_garbage_collection_start)
JVMTI_SUPPORT_FLAG(should_post_garbage_collection_finish)
+ JVMTI_SUPPORT_FLAG(should_post_on_exceptions)
// ------ the below maybe don't have to be (but are for now)
// fixed conditions here ------------
--- a/hotspot/src/share/vm/prims/jvmtiManageCapabilities.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/prims/jvmtiManageCapabilities.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2003-2010 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
@@ -357,7 +357,7 @@
avail.can_access_local_variables ||
avail.can_redefine_classes ||
avail.can_retransform_classes);
- JvmtiExport::set_can_post_exceptions(
+ JvmtiExport::set_can_post_on_exceptions(
avail.can_generate_exception_events ||
avail.can_generate_frame_pop_events ||
avail.can_generate_method_exit_events);
--- a/hotspot/src/share/vm/prims/jvmtiThreadState.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/prims/jvmtiThreadState.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2003-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2003-2010 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
@@ -381,6 +381,9 @@
static ByteSize earlyret_value_offset() { return byte_offset_of(JvmtiThreadState, _earlyret_value); }
void oops_do(OopClosure* f); // GC support
+
+public:
+ void set_should_post_on_exceptions(bool val) { _thread->set_should_post_on_exceptions_flag(val ? JNI_TRUE : JNI_FALSE); }
};
class RedefineVerifyMark : public StackObj {
--- a/hotspot/src/share/vm/runtime/arguments.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/arguments.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -2815,6 +2815,15 @@
DebugNonSafepoints = true;
}
+#ifndef PRODUCT
+ if (CompileTheWorld) {
+ // Force NmethodSweeper to sweep whole CodeCache each time.
+ if (FLAG_IS_DEFAULT(NmethodSweepFraction)) {
+ NmethodSweepFraction = 1;
+ }
+ }
+#endif
+
if (PrintCommandLineFlags) {
CommandLineFlags::printSetFlags();
}
--- a/hotspot/src/share/vm/runtime/compilationPolicy.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/compilationPolicy.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -66,7 +66,7 @@
if (!canBeCompiled(m)) return false;
return !UseInterpreter || // must compile all methods
- (UseCompiler && AlwaysCompileLoopMethods && m->has_loops()); // eagerly compile loop methods
+ (UseCompiler && AlwaysCompileLoopMethods && m->has_loops() && CompileBroker::should_compile_new_jobs()); // eagerly compile loop methods
}
// Returns true if m is allowed to be compiled
@@ -137,7 +137,7 @@
reset_counter_for_invocation_event(m);
const char* comment = "count";
- if (!delayCompilationDuringStartup() && canBeCompiled(m) && UseCompiler) {
+ if (!delayCompilationDuringStartup() && canBeCompiled(m) && UseCompiler && CompileBroker::should_compile_new_jobs()) {
nmethod* nm = m->code();
if (nm == NULL ) {
const char* comment = "count";
@@ -162,7 +162,7 @@
int hot_count = m->backedge_count();
const char* comment = "backedge_count";
- if (!m->is_not_osr_compilable() && !delayCompilationDuringStartup() && canBeCompiled(m)) {
+ if (!m->is_not_osr_compilable() && !delayCompilationDuringStartup() && canBeCompiled(m) && CompileBroker::should_compile_new_jobs()) {
CompileBroker::compile_method(m, loop_top_bci, m, hot_count, comment, CHECK);
NOT_PRODUCT(trace_osr_completion(m->lookup_osr_nmethod_for(loop_top_bci));)
@@ -204,7 +204,7 @@
reset_counter_for_invocation_event(m);
const char* comment = "count";
- if (m->code() == NULL && !delayCompilationDuringStartup() && canBeCompiled(m) && UseCompiler) {
+ if (m->code() == NULL && !delayCompilationDuringStartup() && canBeCompiled(m) && UseCompiler && CompileBroker::should_compile_new_jobs()) {
ResourceMark rm(THREAD);
JavaThread *thread = (JavaThread*)THREAD;
frame fr = thread->last_frame();
@@ -248,7 +248,7 @@
int hot_count = m->backedge_count();
const char* comment = "backedge_count";
- if (!m->is_not_osr_compilable() && !delayCompilationDuringStartup() && canBeCompiled(m)) {
+ if (!m->is_not_osr_compilable() && !delayCompilationDuringStartup() && canBeCompiled(m) && CompileBroker::should_compile_new_jobs()) {
CompileBroker::compile_method(m, loop_top_bci, m, hot_count, comment, CHECK);
NOT_PRODUCT(trace_osr_completion(m->lookup_osr_nmethod_for(loop_top_bci));)
--- a/hotspot/src/share/vm/runtime/deoptimization.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/deoptimization.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -235,6 +235,12 @@
assert(cb->frame_size() >= 0, "Unexpected frame size");
intptr_t* unpack_sp = stub_frame.sp() + cb->frame_size();
+ // If the deopt call site is a MethodHandle invoke call site we have
+ // to adjust the unpack_sp.
+ nmethod* deoptee_nm = deoptee.cb()->as_nmethod_or_null();
+ if (deoptee_nm != NULL && deoptee_nm->is_method_handle_return(deoptee.pc()))
+ unpack_sp = deoptee.unextended_sp();
+
#ifdef ASSERT
assert(cb->is_deoptimization_stub() || cb->is_uncommon_trap_stub(), "just checking");
Events::log("fetch unroll sp " INTPTR_FORMAT, unpack_sp);
@@ -1332,13 +1338,14 @@
// Whether the interpreter is producing MDO data or not, we also need
// to use the MDO to detect hot deoptimization points and control
// aggressive optimization.
+ bool inc_recompile_count = false;
+ ProfileData* pdata = NULL;
if (ProfileTraps && update_trap_state && trap_mdo.not_null()) {
assert(trap_mdo() == get_method_data(thread, trap_method, false), "sanity");
uint this_trap_count = 0;
bool maybe_prior_trap = false;
bool maybe_prior_recompile = false;
- ProfileData* pdata
- = query_update_method_data(trap_mdo, trap_bci, reason,
+ pdata = query_update_method_data(trap_mdo, trap_bci, reason,
//outputs:
this_trap_count,
maybe_prior_trap,
@@ -1374,18 +1381,7 @@
// Detect repeated recompilation at the same BCI, and enforce a limit.
if (make_not_entrant && maybe_prior_recompile) {
// More than one recompile at this point.
- trap_mdo->inc_overflow_recompile_count();
- if (maybe_prior_trap
- && ((uint)trap_mdo->overflow_recompile_count()
- > (uint)PerBytecodeRecompilationCutoff)) {
- // Give up on the method containing the bad BCI.
- if (trap_method() == nm->method()) {
- make_not_compilable = true;
- } else {
- trap_method->set_not_compilable();
- // But give grace to the enclosing nm->method().
- }
- }
+ inc_recompile_count = maybe_prior_trap;
}
} else {
// For reasons which are not recorded per-bytecode, we simply
@@ -1412,7 +1408,17 @@
reset_counters = true;
}
- if (make_not_entrant && pdata != NULL) {
+ }
+
+ // Take requested actions on the method:
+
+ // Recompile
+ if (make_not_entrant) {
+ if (!nm->make_not_entrant()) {
+ return; // the call did not change nmethod's state
+ }
+
+ if (pdata != NULL) {
// Record the recompilation event, if any.
int tstate0 = pdata->trap_state();
int tstate1 = trap_state_set_recompiled(tstate0, true);
@@ -1421,7 +1427,19 @@
}
}
- // Take requested actions on the method:
+ if (inc_recompile_count) {
+ trap_mdo->inc_overflow_recompile_count();
+ if ((uint)trap_mdo->overflow_recompile_count() >
+ (uint)PerBytecodeRecompilationCutoff) {
+ // Give up on the method containing the bad BCI.
+ if (trap_method() == nm->method()) {
+ make_not_compilable = true;
+ } else {
+ trap_method->set_not_compilable();
+ // But give grace to the enclosing nm->method().
+ }
+ }
+ }
// Reset invocation counters
if (reset_counters) {
@@ -1431,13 +1449,8 @@
reset_invocation_counter(trap_scope);
}
- // Recompile
- if (make_not_entrant) {
- nm->make_not_entrant();
- }
-
// Give up compiling
- if (make_not_compilable) {
+ if (make_not_compilable && !nm->method()->is_not_compilable()) {
assert(make_not_entrant, "consistent");
nm->method()->set_not_compilable();
}
@@ -1510,9 +1523,11 @@
if (tstate1 != tstate0)
pdata->set_trap_state(tstate1);
} else {
- if (LogCompilation && xtty != NULL)
+ if (LogCompilation && xtty != NULL) {
+ ttyLocker ttyl;
// Missing MDP? Leave a small complaint in the log.
xtty->elem("missing_mdp bci='%d'", trap_bci);
+ }
}
}
@@ -1666,6 +1681,7 @@
"class_check",
"array_check",
"intrinsic",
+ "bimorphic",
"unloaded",
"uninitialized",
"unreached",
--- a/hotspot/src/share/vm/runtime/deoptimization.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/deoptimization.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -33,12 +33,15 @@
enum DeoptReason {
Reason_many = -1, // indicates presence of several reasons
Reason_none = 0, // indicates absence of a relevant deopt.
+ // Next 7 reasons are recorded per bytecode in DataLayout::trap_bits
Reason_null_check, // saw unexpected null or zero divisor (@bci)
Reason_null_assert, // saw unexpected non-null or non-zero (@bci)
Reason_range_check, // saw unexpected array index (@bci)
Reason_class_check, // saw unexpected object class (@bci)
Reason_array_check, // saw unexpected array class (aastore @bci)
Reason_intrinsic, // saw unexpected operand to intrinsic (@bci)
+ Reason_bimorphic, // saw unexpected object class in bimorphic inlining (@bci)
+
Reason_unloaded, // unloaded class or constant pool entry
Reason_uninitialized, // bad class state (uninitialized)
Reason_unreached, // code is not reached, compiler
@@ -49,7 +52,7 @@
Reason_predicate, // compiler generated predicate failed
Reason_LIMIT,
// Note: Keep this enum in sync. with _trap_reason_name.
- Reason_RECORDED_LIMIT = Reason_unloaded // some are not recorded per bc
+ Reason_RECORDED_LIMIT = Reason_bimorphic // some are not recorded per bc
// Note: Reason_RECORDED_LIMIT should be < 8 to fit into 3 bits of
// DataLayout::trap_bits. This dependency is enforced indirectly
// via asserts, to avoid excessive direct header-to-header dependencies.
@@ -279,7 +282,7 @@
int trap_state);
static bool reason_is_recorded_per_bytecode(DeoptReason reason) {
- return reason > Reason_none && reason < Reason_RECORDED_LIMIT;
+ return reason > Reason_none && reason <= Reason_RECORDED_LIMIT;
}
static DeoptReason reason_recorded_per_bytecode_if_any(DeoptReason reason) {
--- a/hotspot/src/share/vm/runtime/frame.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/frame.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -107,7 +107,11 @@
address frame::raw_pc() const {
if (is_deoptimized_frame()) {
- return ((nmethod*) cb())->deopt_handler_begin() - pc_return_offset;
+ nmethod* nm = cb()->as_nmethod_or_null();
+ if (nm->is_method_handle_return(pc()))
+ return nm->deopt_mh_handler_begin() - pc_return_offset;
+ else
+ return nm->deopt_handler_begin() - pc_return_offset;
} else {
return (pc() - pc_return_offset);
}
@@ -269,10 +273,16 @@
} // NeedsDeoptSuspend
- address deopt = nm->deopt_handler_begin();
+ // If the call site is a MethodHandle call site use the MH deopt
+ // handler.
+ address deopt = nm->is_method_handle_return(pc()) ?
+ nm->deopt_mh_handler_begin() :
+ nm->deopt_handler_begin();
+
// Save the original pc before we patch in the new one
nm->set_original_pc(this, pc());
patch_pc(thread, deopt);
+
#ifdef ASSERT
{
RegisterMap map(thread, false);
--- a/hotspot/src/share/vm/runtime/globals.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/globals.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -742,6 +742,9 @@
diagnostic(bool, PrintAdapterHandlers, false, \
"Print code generated for i2c/c2i adapters") \
\
+ develop(bool, VerifyAdapterSharing, false, \
+ "Verify that the code for shared adapters is the equivalent") \
+ \
diagnostic(bool, PrintAssembly, false, \
"Print assembly code (using external disassembler.so)") \
\
@@ -1201,7 +1204,7 @@
product(bool, UseSerialGC, false, \
"Use the serial garbage collector") \
\
- experimental(bool, UseG1GC, false, \
+ product(bool, UseG1GC, false, \
"Use the Garbage-First garbage collector") \
\
product(bool, UseParallelGC, false, \
@@ -2447,6 +2450,9 @@
notproduct(bool, CompileTheWorldIgnoreInitErrors, false, \
"Compile all methods although class initializer failed") \
\
+ notproduct(intx, CompileTheWorldSafepointInterval, 100, \
+ "Force a safepoint every n compiles so sweeper can keep up") \
+ \
develop(bool, TraceIterativeGVN, false, \
"Print progress during Iterative Global Value Numbering") \
\
@@ -2861,7 +2867,7 @@
product(intx, PerMethodRecompilationCutoff, 400, \
"After recompiling N times, stay in the interpreter (-1=>'Inf')") \
\
- product(intx, PerBytecodeRecompilationCutoff, 100, \
+ product(intx, PerBytecodeRecompilationCutoff, 200, \
"Per-BCI limit on repeated recompilation (-1=>'Inf')") \
\
product(intx, PerMethodTrapLimit, 100, \
@@ -3114,6 +3120,15 @@
notproduct(bool, ExitOnFullCodeCache, false, \
"Exit the VM if we fill the code cache.") \
\
+ product(bool, UseCodeCacheFlushing, false, \
+ "Attempt to clean the code cache before shutting off compiler") \
+ \
+ product(intx, MinCodeCacheFlushingInterval, 30, \
+ "Min number of seconds between code cache cleaning sessions") \
+ \
+ product(uintx, CodeCacheFlushingMinimumFreeSpace, 1500*K, \
+ "When less than X space left, start code cache cleaning") \
+ \
/* interpreter debugging */ \
develop(intx, BinarySwitchThreshold, 5, \
"Minimal number of lookupswitch entries for rewriting to binary " \
--- a/hotspot/src/share/vm/runtime/sharedRuntime.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -364,7 +364,7 @@
void SharedRuntime::throw_and_post_jvmti_exception(JavaThread *thread, Handle h_exception) {
- if (JvmtiExport::can_post_exceptions()) {
+ if (JvmtiExport::can_post_on_exceptions()) {
vframeStream vfst(thread, true);
methodHandle method = methodHandle(thread, vfst.method());
address bcp = method()->bcp_from(vfst.bci());
@@ -1033,10 +1033,20 @@
address sender_pc = caller_frame.pc();
CodeBlob* sender_cb = caller_frame.cb();
nmethod* sender_nm = sender_cb->as_nmethod_or_null();
+ bool is_mh_invoke_via_adapter = false; // Direct c2c call or via adapter?
+ if (sender_nm != NULL && sender_nm->is_method_handle_return(sender_pc)) {
+ // If the callee_target is set, then we have come here via an i2c
+ // adapter.
+ methodOop callee = thread->callee_target();
+ if (callee != NULL) {
+ assert(callee->is_method(), "sanity");
+ is_mh_invoke_via_adapter = true;
+ }
+ }
if (caller_frame.is_interpreted_frame() ||
- caller_frame.is_entry_frame() ||
- (sender_nm != NULL && sender_nm->is_method_handle_return(sender_pc))) {
+ caller_frame.is_entry_frame() ||
+ is_mh_invoke_via_adapter) {
methodOop callee = thread->callee_target();
guarantee(callee != NULL && callee->is_method(), "bad handshake");
thread->set_vm_result(callee);
@@ -1351,7 +1361,7 @@
// We are calling the interpreter via a c2i. Normally this would mean that
// we were called by a compiled method. However we could have lost a race
// where we went int -> i2c -> c2i and so the caller could in fact be
-// interpreted. If the caller is compiled we attampt to patch the caller
+// interpreted. If the caller is compiled we attempt to patch the caller
// so he no longer calls into the interpreter.
IRT_LEAF(void, SharedRuntime::fixup_callers_callsite(methodOopDesc* method, address caller_pc))
methodOop moop(method);
@@ -1367,10 +1377,19 @@
// we did we'd leap into space because the callsite needs to use
// "to interpreter" stub in order to load up the methodOop. Don't
// ask me how I know this...
- //
CodeBlob* cb = CodeCache::find_blob(caller_pc);
- if ( !cb->is_nmethod() || entry_point == moop->get_c2i_entry()) {
+ if (!cb->is_nmethod() || entry_point == moop->get_c2i_entry()) {
+ return;
+ }
+
+ // The check above makes sure this is a nmethod.
+ nmethod* nm = cb->as_nmethod_or_null();
+ assert(nm, "must be");
+
+ // Don't fixup MethodHandle call sites as c2i/i2c adapters are used
+ // to implement MethodHandle actions.
+ if (nm->is_method_handle_return(caller_pc)) {
return;
}
@@ -1385,7 +1404,7 @@
if (moop->code() == NULL) return;
- if (((nmethod*)cb)->is_in_use()) {
+ if (nm->is_in_use()) {
// Expect to find a native call there (unless it was no-inline cache vtable dispatch)
MutexLockerEx ml_patch(Patching_lock, Mutex::_no_safepoint_check_flag);
@@ -1417,7 +1436,7 @@
if (callee == cb || callee->is_adapter_blob()) {
// static call or optimized virtual
if (TraceCallFixup) {
- tty->print("fixup callsite at " INTPTR_FORMAT " to compiled code for", caller_pc);
+ tty->print("fixup callsite at " INTPTR_FORMAT " to compiled code for", caller_pc);
moop->print_short_name(tty);
tty->print_cr(" to " INTPTR_FORMAT, entry_point);
}
@@ -1433,7 +1452,7 @@
}
} else {
if (TraceCallFixup) {
- tty->print("already patched callsite at " INTPTR_FORMAT " to compiled code for", caller_pc);
+ tty->print("already patched callsite at " INTPTR_FORMAT " to compiled code for", caller_pc);
moop->print_short_name(tty);
tty->print_cr(" to " INTPTR_FORMAT, entry_point);
}
@@ -1680,6 +1699,8 @@
if( _find_handler_ctr ) tty->print_cr("%5d find exception handler", _find_handler_ctr );
if( _rethrow_ctr ) tty->print_cr("%5d rethrow handler", _rethrow_ctr );
+ AdapterHandlerLibrary::print_statistics();
+
if (xtty != NULL) xtty->tail("statistics");
}
@@ -1780,11 +1801,282 @@
#endif
+// A simple wrapper class around the calling convention information
+// that allows sharing of adapters for the same calling convention.
+class AdapterFingerPrint : public CHeapObj {
+ private:
+ union {
+ int _compact[3];
+ int* _fingerprint;
+ } _value;
+ int _length; // A negative length indicates the fingerprint is in the compact form,
+ // Otherwise _value._fingerprint is the array.
+
+ // Remap BasicTypes that are handled equivalently by the adapters.
+ // These are correct for the current system but someday it might be
+ // necessary to make this mapping platform dependent.
+ static BasicType adapter_encoding(BasicType in) {
+ assert((~0xf & in) == 0, "must fit in 4 bits");
+ switch(in) {
+ case T_BOOLEAN:
+ case T_BYTE:
+ case T_SHORT:
+ case T_CHAR:
+ // There are all promoted to T_INT in the calling convention
+ return T_INT;
+
+ case T_OBJECT:
+ case T_ARRAY:
+ if (!TaggedStackInterpreter) {
+#ifdef _LP64
+ return T_LONG;
+#else
+ return T_INT;
+#endif
+ }
+ return T_OBJECT;
+
+ case T_INT:
+ case T_LONG:
+ case T_FLOAT:
+ case T_DOUBLE:
+ case T_VOID:
+ return in;
+
+ default:
+ ShouldNotReachHere();
+ return T_CONFLICT;
+ }
+ }
+
+ public:
+ AdapterFingerPrint(int total_args_passed, BasicType* sig_bt) {
+ // The fingerprint is based on the BasicType signature encoded
+ // into an array of ints with four entries per int.
+ int* ptr;
+ int len = (total_args_passed + 3) >> 2;
+ if (len <= (int)(sizeof(_value._compact) / sizeof(int))) {
+ _value._compact[0] = _value._compact[1] = _value._compact[2] = 0;
+ // Storing the signature encoded as signed chars hits about 98%
+ // of the time.
+ _length = -len;
+ ptr = _value._compact;
+ } else {
+ _length = len;
+ _value._fingerprint = NEW_C_HEAP_ARRAY(int, _length);
+ ptr = _value._fingerprint;
+ }
+
+ // Now pack the BasicTypes with 4 per int
+ int sig_index = 0;
+ for (int index = 0; index < len; index++) {
+ int value = 0;
+ for (int byte = 0; byte < 4; byte++) {
+ if (sig_index < total_args_passed) {
+ value = (value << 4) | adapter_encoding(sig_bt[sig_index++]);
+ }
+ }
+ ptr[index] = value;
+ }
+ }
+
+ ~AdapterFingerPrint() {
+ if (_length > 0) {
+ FREE_C_HEAP_ARRAY(int, _value._fingerprint);
+ }
+ }
+
+ int value(int index) {
+ if (_length < 0) {
+ return _value._compact[index];
+ }
+ return _value._fingerprint[index];
+ }
+ int length() {
+ if (_length < 0) return -_length;
+ return _length;
+ }
+
+ bool is_compact() {
+ return _length <= 0;
+ }
+
+ unsigned int compute_hash() {
+ int hash = 0;
+ for (int i = 0; i < length(); i++) {
+ int v = value(i);
+ hash = (hash << 8) ^ v ^ (hash >> 5);
+ }
+ return (unsigned int)hash;
+ }
+
+ const char* as_string() {
+ stringStream st;
+ for (int i = 0; i < length(); i++) {
+ st.print(PTR_FORMAT, value(i));
+ }
+ return st.as_string();
+ }
+
+ bool equals(AdapterFingerPrint* other) {
+ if (other->_length != _length) {
+ return false;
+ }
+ if (_length < 0) {
+ return _value._compact[0] == other->_value._compact[0] &&
+ _value._compact[1] == other->_value._compact[1] &&
+ _value._compact[2] == other->_value._compact[2];
+ } else {
+ for (int i = 0; i < _length; i++) {
+ if (_value._fingerprint[i] != other->_value._fingerprint[i]) {
+ return false;
+ }
+ }
+ }
+ return true;
+ }
+};
+
+
+// A hashtable mapping from AdapterFingerPrints to AdapterHandlerEntries
+class AdapterHandlerTable : public BasicHashtable {
+ friend class AdapterHandlerTableIterator;
+
+ private:
+
+#ifdef ASSERT
+ static int _lookups; // number of calls to lookup
+ static int _buckets; // number of buckets checked
+ static int _equals; // number of buckets checked with matching hash
+ static int _hits; // number of successful lookups
+ static int _compact; // number of equals calls with compact signature
+#endif
+
+ AdapterHandlerEntry* bucket(int i) {
+ return (AdapterHandlerEntry*)BasicHashtable::bucket(i);
+ }
+
+ public:
+ AdapterHandlerTable()
+ : BasicHashtable(293, sizeof(AdapterHandlerEntry)) { }
+
+ // Create a new entry suitable for insertion in the table
+ AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) {
+ AdapterHandlerEntry* entry = (AdapterHandlerEntry*)BasicHashtable::new_entry(fingerprint->compute_hash());
+ entry->init(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry);
+ return entry;
+ }
+
+ // Insert an entry into the table
+ void add(AdapterHandlerEntry* entry) {
+ int index = hash_to_index(entry->hash());
+ add_entry(index, entry);
+ }
+
+ void free_entry(AdapterHandlerEntry* entry) {
+ entry->deallocate();
+ BasicHashtable::free_entry(entry);
+ }
+
+ // Find a entry with the same fingerprint if it exists
+ AdapterHandlerEntry* lookup(int total_args_passed, BasicType* sig_bt) {
+ debug_only(_lookups++);
+ AdapterFingerPrint fp(total_args_passed, sig_bt);
+ unsigned int hash = fp.compute_hash();
+ int index = hash_to_index(hash);
+ for (AdapterHandlerEntry* e = bucket(index); e != NULL; e = e->next()) {
+ debug_only(_buckets++);
+ if (e->hash() == hash) {
+ debug_only(_equals++);
+ if (fp.equals(e->fingerprint())) {
+#ifdef ASSERT
+ if (fp.is_compact()) _compact++;
+ _hits++;
+#endif
+ return e;
+ }
+ }
+ }
+ return NULL;
+ }
+
+ void print_statistics() {
+ ResourceMark rm;
+ int longest = 0;
+ int empty = 0;
+ int total = 0;
+ int nonempty = 0;
+ for (int index = 0; index < table_size(); index++) {
+ int count = 0;
+ for (AdapterHandlerEntry* e = bucket(index); e != NULL; e = e->next()) {
+ count++;
+ }
+ if (count != 0) nonempty++;
+ if (count == 0) empty++;
+ if (count > longest) longest = count;
+ total += count;
+ }
+ tty->print_cr("AdapterHandlerTable: empty %d longest %d total %d average %f",
+ empty, longest, total, total / (double)nonempty);
+#ifdef ASSERT
+ tty->print_cr("AdapterHandlerTable: lookups %d buckets %d equals %d hits %d compact %d",
+ _lookups, _buckets, _equals, _hits, _compact);
+#endif
+ }
+};
+
+
+#ifdef ASSERT
+
+int AdapterHandlerTable::_lookups;
+int AdapterHandlerTable::_buckets;
+int AdapterHandlerTable::_equals;
+int AdapterHandlerTable::_hits;
+int AdapterHandlerTable::_compact;
+
+class AdapterHandlerTableIterator : public StackObj {
+ private:
+ AdapterHandlerTable* _table;
+ int _index;
+ AdapterHandlerEntry* _current;
+
+ void scan() {
+ while (_index < _table->table_size()) {
+ AdapterHandlerEntry* a = _table->bucket(_index);
+ if (a != NULL) {
+ _current = a;
+ return;
+ }
+ _index++;
+ }
+ }
+
+ public:
+ AdapterHandlerTableIterator(AdapterHandlerTable* table): _table(table), _index(0), _current(NULL) {
+ scan();
+ }
+ bool has_next() {
+ return _current != NULL;
+ }
+ AdapterHandlerEntry* next() {
+ if (_current != NULL) {
+ AdapterHandlerEntry* result = _current;
+ _current = _current->next();
+ if (_current == NULL) scan();
+ return result;
+ } else {
+ return NULL;
+ }
+ }
+};
+#endif
+
+
// ---------------------------------------------------------------------------
// Implementation of AdapterHandlerLibrary
const char* AdapterHandlerEntry::name = "I2C/C2I adapters";
-GrowableArray<uint64_t>* AdapterHandlerLibrary::_fingerprints = NULL;
-GrowableArray<AdapterHandlerEntry* >* AdapterHandlerLibrary::_handlers = NULL;
+AdapterHandlerTable* AdapterHandlerLibrary::_adapters = NULL;
+AdapterHandlerEntry* AdapterHandlerLibrary::_abstract_method_handler = NULL;
const int AdapterHandlerLibrary_size = 16*K;
BufferBlob* AdapterHandlerLibrary::_buffer = NULL;
@@ -1796,28 +2088,31 @@
}
void AdapterHandlerLibrary::initialize() {
- if (_fingerprints != NULL) return;
- _fingerprints = new(ResourceObj::C_HEAP)GrowableArray<uint64_t>(32, true);
- _handlers = new(ResourceObj::C_HEAP)GrowableArray<AdapterHandlerEntry*>(32, true);
- // Index 0 reserved for the slow path handler
- _fingerprints->append(0/*the never-allowed 0 fingerprint*/);
- _handlers->append(NULL);
+ if (_adapters != NULL) return;
+ _adapters = new AdapterHandlerTable();
// Create a special handler for abstract methods. Abstract methods
// are never compiled so an i2c entry is somewhat meaningless, but
// fill it in with something appropriate just in case. Pass handle
// wrong method for the c2i transitions.
address wrong_method = SharedRuntime::get_handle_wrong_method_stub();
- _fingerprints->append(0/*the never-allowed 0 fingerprint*/);
- assert(_handlers->length() == AbstractMethodHandler, "in wrong slot");
- _handlers->append(new AdapterHandlerEntry(StubRoutines::throw_AbstractMethodError_entry(),
- wrong_method, wrong_method));
+ _abstract_method_handler = AdapterHandlerLibrary::new_entry(new AdapterFingerPrint(0, NULL),
+ StubRoutines::throw_AbstractMethodError_entry(),
+ wrong_method, wrong_method);
}
-int AdapterHandlerLibrary::get_create_adapter_index(methodHandle method) {
- // Use customized signature handler. Need to lock around updates to the
- // _fingerprints array (it is not safe for concurrent readers and a single
- // writer: this can be fixed if it becomes a problem).
+AdapterHandlerEntry* AdapterHandlerLibrary::new_entry(AdapterFingerPrint* fingerprint,
+ address i2c_entry,
+ address c2i_entry,
+ address c2i_unverified_entry) {
+ return _adapters->new_entry(fingerprint, i2c_entry, c2i_entry, c2i_unverified_entry);
+}
+
+AdapterHandlerEntry* AdapterHandlerLibrary::get_adapter(methodHandle method) {
+ // Use customized signature handler. Need to lock around updates to
+ // the AdapterHandlerTable (it is not safe for concurrent readers
+ // and a single writer: this could be fixed if it becomes a
+ // problem).
// Get the address of the ic_miss handlers before we grab the
// AdapterHandlerLibrary_lock. This fixes bug 6236259 which
@@ -1828,47 +2123,58 @@
address ic_miss = SharedRuntime::get_ic_miss_stub();
assert(ic_miss != NULL, "must have handler");
- int result;
+ ResourceMark rm;
+
NOT_PRODUCT(int code_size);
BufferBlob *B = NULL;
AdapterHandlerEntry* entry = NULL;
- uint64_t fingerprint;
+ AdapterFingerPrint* fingerprint = NULL;
{
MutexLocker mu(AdapterHandlerLibrary_lock);
// make sure data structure is initialized
initialize();
if (method->is_abstract()) {
- return AbstractMethodHandler;
+ return _abstract_method_handler;
}
+ // Fill in the signature array, for the calling-convention call.
+ int total_args_passed = method->size_of_parameters(); // All args on stack
+
+ BasicType* sig_bt = NEW_RESOURCE_ARRAY(BasicType, total_args_passed);
+ VMRegPair* regs = NEW_RESOURCE_ARRAY(VMRegPair, total_args_passed);
+ int i = 0;
+ if (!method->is_static()) // Pass in receiver first
+ sig_bt[i++] = T_OBJECT;
+ for (SignatureStream ss(method->signature()); !ss.at_return_type(); ss.next()) {
+ sig_bt[i++] = ss.type(); // Collect remaining bits of signature
+ if (ss.type() == T_LONG || ss.type() == T_DOUBLE)
+ sig_bt[i++] = T_VOID; // Longs & doubles take 2 Java slots
+ }
+ assert(i == total_args_passed, "");
+
// Lookup method signature's fingerprint
- fingerprint = Fingerprinter(method).fingerprint();
- assert( fingerprint != CONST64( 0), "no zero fingerprints allowed" );
- // Fingerprints are small fixed-size condensed representations of
- // signatures. If the signature is too large, it won't fit in a
- // fingerprint. Signatures which cannot support a fingerprint get a new i2c
- // adapter gen'd each time, instead of searching the cache for one. This -1
- // game can be avoided if I compared signatures instead of using
- // fingerprints. However, -1 fingerprints are very rare.
- if( fingerprint != UCONST64(-1) ) { // If this is a cache-able fingerprint
- // Turns out i2c adapters do not care what the return value is. Mask it
- // out so signatures that only differ in return type will share the same
- // adapter.
- fingerprint &= ~(SignatureIterator::result_feature_mask << SignatureIterator::static_feature_size);
- // Search for a prior existing i2c/c2i adapter
- int index = _fingerprints->find(fingerprint);
- if( index >= 0 ) return index; // Found existing handlers?
- } else {
- // Annoyingly, I end up adding -1 fingerprints to the array of handlers,
- // because I need a unique handler index. It cannot be scanned for
- // because all -1's look alike. Instead, the matching index is passed out
- // and immediately used to collect the 2 return values (the c2i and i2c
- // adapters).
+ entry = _adapters->lookup(total_args_passed, sig_bt);
+
+#ifdef ASSERT
+ AdapterHandlerEntry* shared_entry = NULL;
+ if (VerifyAdapterSharing && entry != NULL) {
+ shared_entry = entry;
+ entry = NULL;
+ }
+#endif
+
+ if (entry != NULL) {
+ return entry;
}
+ // Get a description of the compiled java calling convention and the largest used (VMReg) stack slot usage
+ int comp_args_on_stack = SharedRuntime::java_calling_convention(sig_bt, regs, total_args_passed, false);
+
+ // Make a C heap allocated version of the fingerprint to store in the adapter
+ fingerprint = new AdapterFingerPrint(total_args_passed, sig_bt);
+
// Create I2C & C2I handlers
- ResourceMark rm;
BufferBlob* buf = buffer_blob(); // the temporary code buffer in CodeCache
if (buf != NULL) {
@@ -1878,32 +2184,26 @@
sizeof(buffer_locs)/sizeof(relocInfo));
MacroAssembler _masm(&buffer);
- // Fill in the signature array, for the calling-convention call.
- int total_args_passed = method->size_of_parameters(); // All args on stack
-
- BasicType* sig_bt = NEW_RESOURCE_ARRAY(BasicType,total_args_passed);
- VMRegPair * regs = NEW_RESOURCE_ARRAY(VMRegPair ,total_args_passed);
- int i=0;
- if( !method->is_static() ) // Pass in receiver first
- sig_bt[i++] = T_OBJECT;
- for( SignatureStream ss(method->signature()); !ss.at_return_type(); ss.next()) {
- sig_bt[i++] = ss.type(); // Collect remaining bits of signature
- if( ss.type() == T_LONG || ss.type() == T_DOUBLE )
- sig_bt[i++] = T_VOID; // Longs & doubles take 2 Java slots
- }
- assert( i==total_args_passed, "" );
-
- // Now get the re-packed compiled-Java layout.
- int comp_args_on_stack;
-
- // Get a description of the compiled java calling convention and the largest used (VMReg) stack slot usage
- comp_args_on_stack = SharedRuntime::java_calling_convention(sig_bt, regs, total_args_passed, false);
-
entry = SharedRuntime::generate_i2c2i_adapters(&_masm,
total_args_passed,
comp_args_on_stack,
sig_bt,
- regs);
+ regs,
+ fingerprint);
+
+#ifdef ASSERT
+ if (VerifyAdapterSharing) {
+ if (shared_entry != NULL) {
+ assert(shared_entry->compare_code(buf->instructions_begin(), buffer.code_size(), total_args_passed, sig_bt),
+ "code must match");
+ // Release the one just created and return the original
+ _adapters->free_entry(entry);
+ return shared_entry;
+ } else {
+ entry->save_code(buf->instructions_begin(), buffer.code_size(), total_args_passed, sig_bt);
+ }
+ }
+#endif
B = BufferBlob::create(AdapterHandlerEntry::name, &buffer);
NOT_PRODUCT(code_size = buffer.code_size());
@@ -1912,49 +2212,33 @@
// CodeCache is full, disable compilation
// Ought to log this but compile log is only per compile thread
// and we're some non descript Java thread.
- UseInterpreter = true;
- if (UseCompiler || AlwaysCompileLoopMethods ) {
-#ifndef PRODUCT
- warning("CodeCache is full. Compiler has been disabled");
- if (CompileTheWorld || ExitOnFullCodeCache) {
- before_exit(JavaThread::current());
- exit_globals(); // will delete tty
- vm_direct_exit(CompileTheWorld ? 0 : 1);
- }
-#endif
- UseCompiler = false;
- AlwaysCompileLoopMethods = false;
- }
- return 0; // Out of CodeCache space (_handlers[0] == NULL)
+ MutexUnlocker mu(AdapterHandlerLibrary_lock);
+ CompileBroker::handle_full_code_cache();
+ return NULL; // Out of CodeCache space
}
entry->relocate(B->instructions_begin());
#ifndef PRODUCT
// debugging suppport
if (PrintAdapterHandlers) {
tty->cr();
- tty->print_cr("i2c argument handler #%d for: %s %s (fingerprint = 0x%llx, %d bytes generated)",
- _handlers->length(), (method->is_static() ? "static" : "receiver"),
- method->signature()->as_C_string(), fingerprint, code_size );
+ tty->print_cr("i2c argument handler #%d for: %s %s (fingerprint = %s, %d bytes generated)",
+ _adapters->number_of_entries(), (method->is_static() ? "static" : "receiver"),
+ method->signature()->as_C_string(), fingerprint->as_string(), code_size );
tty->print_cr("c2i argument handler starts at %p",entry->get_c2i_entry());
Disassembler::decode(entry->get_i2c_entry(), entry->get_i2c_entry() + code_size);
}
#endif
- // add handlers to library
- _fingerprints->append(fingerprint);
- _handlers->append(entry);
- // set handler index
- assert(_fingerprints->length() == _handlers->length(), "sanity check");
- result = _fingerprints->length() - 1;
+ _adapters->add(entry);
}
// Outside of the lock
if (B != NULL) {
char blob_id[256];
jio_snprintf(blob_id,
sizeof(blob_id),
- "%s(" PTR64_FORMAT ")@" PTR_FORMAT,
+ "%s(%s)@" PTR_FORMAT,
AdapterHandlerEntry::name,
- fingerprint,
+ fingerprint->as_string(),
B->instructions_begin());
VTune::register_stub(blob_id, B->instructions_begin(), B->instructions_end());
Forte::register_stub(blob_id, B->instructions_begin(), B->instructions_end());
@@ -1965,7 +2249,7 @@
B->instructions_end());
}
}
- return result;
+ return entry;
}
void AdapterHandlerEntry::relocate(address new_base) {
@@ -1975,6 +2259,44 @@
_c2i_unverified_entry += delta;
}
+
+void AdapterHandlerEntry::deallocate() {
+ delete _fingerprint;
+#ifdef ASSERT
+ if (_saved_code) FREE_C_HEAP_ARRAY(unsigned char, _saved_code);
+ if (_saved_sig) FREE_C_HEAP_ARRAY(Basictype, _saved_sig);
+#endif
+}
+
+
+#ifdef ASSERT
+// Capture the code before relocation so that it can be compared
+// against other versions. If the code is captured after relocation
+// then relative instructions won't be equivalent.
+void AdapterHandlerEntry::save_code(unsigned char* buffer, int length, int total_args_passed, BasicType* sig_bt) {
+ _saved_code = NEW_C_HEAP_ARRAY(unsigned char, length);
+ _code_length = length;
+ memcpy(_saved_code, buffer, length);
+ _total_args_passed = total_args_passed;
+ _saved_sig = NEW_C_HEAP_ARRAY(BasicType, _total_args_passed);
+ memcpy(_saved_sig, sig_bt, _total_args_passed * sizeof(BasicType));
+}
+
+
+bool AdapterHandlerEntry::compare_code(unsigned char* buffer, int length, int total_args_passed, BasicType* sig_bt) {
+ if (length != _code_length) {
+ return false;
+ }
+ for (int i = 0; i < length; i++) {
+ if (buffer[i] != _saved_code[i]) {
+ return false;
+ }
+ }
+ return true;
+}
+#endif
+
+
// Create a native wrapper for this native method. The wrapper converts the
// java compiled calling convention to the native convention, handlizes
// arguments, and transitions to native. On return from the native we transition
@@ -2053,19 +2375,8 @@
// CodeCache is full, disable compilation
// Ought to log this but compile log is only per compile thread
// and we're some non descript Java thread.
- UseInterpreter = true;
- if (UseCompiler || AlwaysCompileLoopMethods ) {
-#ifndef PRODUCT
- warning("CodeCache is full. Compiler has been disabled");
- if (CompileTheWorld || ExitOnFullCodeCache) {
- before_exit(JavaThread::current());
- exit_globals(); // will delete tty
- vm_direct_exit(CompileTheWorld ? 0 : 1);
- }
-#endif
- UseCompiler = false;
- AlwaysCompileLoopMethods = false;
- }
+ MutexUnlocker mu(AdapterHandlerLibrary_lock);
+ CompileBroker::handle_full_code_cache();
}
return nm;
}
@@ -2308,30 +2619,31 @@
#ifndef PRODUCT
bool AdapterHandlerLibrary::contains(CodeBlob* b) {
-
- if (_handlers == NULL) return false;
-
- for (int i = 0 ; i < _handlers->length() ; i++) {
- AdapterHandlerEntry* a = get_entry(i);
- if ( a != NULL && b == CodeCache::find_blob(a->get_i2c_entry()) ) return true;
+ AdapterHandlerTableIterator iter(_adapters);
+ while (iter.has_next()) {
+ AdapterHandlerEntry* a = iter.next();
+ if ( b == CodeCache::find_blob(a->get_i2c_entry()) ) return true;
}
return false;
}
void AdapterHandlerLibrary::print_handler(CodeBlob* b) {
-
- for (int i = 0 ; i < _handlers->length() ; i++) {
- AdapterHandlerEntry* a = get_entry(i);
- if ( a != NULL && b == CodeCache::find_blob(a->get_i2c_entry()) ) {
+ AdapterHandlerTableIterator iter(_adapters);
+ while (iter.has_next()) {
+ AdapterHandlerEntry* a = iter.next();
+ if ( b == CodeCache::find_blob(a->get_i2c_entry()) ) {
tty->print("Adapter for signature: ");
- // Fingerprinter::print(_fingerprints->at(i));
- tty->print("0x%" FORMAT64_MODIFIER "x", _fingerprints->at(i));
- tty->print_cr(" i2c: " INTPTR_FORMAT " c2i: " INTPTR_FORMAT " c2iUV: " INTPTR_FORMAT,
+ tty->print_cr("%s i2c: " INTPTR_FORMAT " c2i: " INTPTR_FORMAT " c2iUV: " INTPTR_FORMAT,
+ a->fingerprint()->as_string(),
a->get_i2c_entry(), a->get_c2i_entry(), a->get_c2i_unverified_entry());
-
return;
}
}
assert(false, "Should have found handler");
}
+
+void AdapterHandlerLibrary::print_statistics() {
+ _adapters->print_statistics();
+}
+
#endif /* PRODUCT */
--- a/hotspot/src/share/vm/runtime/sharedRuntime.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/sharedRuntime.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -23,6 +23,8 @@
*/
class AdapterHandlerEntry;
+class AdapterHandlerTable;
+class AdapterFingerPrint;
class vframeStream;
// Runtime is the base class for various runtime interfaces
@@ -337,7 +339,8 @@
int total_args_passed,
int max_arg,
const BasicType *sig_bt,
- const VMRegPair *regs);
+ const VMRegPair *regs,
+ AdapterFingerPrint* fingerprint);
// OSR support
@@ -528,28 +531,64 @@
// used by the adapters. The code generation happens here because it's very
// similar to what the adapters have to do.
-class AdapterHandlerEntry : public CHeapObj {
+class AdapterHandlerEntry : public BasicHashtableEntry {
+ friend class AdapterHandlerTable;
+
private:
+ AdapterFingerPrint* _fingerprint;
address _i2c_entry;
address _c2i_entry;
address _c2i_unverified_entry;
+#ifdef ASSERT
+ // Captures code and signature used to generate this adapter when
+ // verifing adapter equivalence.
+ unsigned char* _saved_code;
+ int _code_length;
+ BasicType* _saved_sig;
+ int _total_args_passed;
+#endif
+
+ void init(AdapterFingerPrint* fingerprint, address i2c_entry, address c2i_entry, address c2i_unverified_entry) {
+ _fingerprint = fingerprint;
+ _i2c_entry = i2c_entry;
+ _c2i_entry = c2i_entry;
+ _c2i_unverified_entry = c2i_unverified_entry;
+#ifdef ASSERT
+ _saved_code = NULL;
+ _code_length = 0;
+ _saved_sig = NULL;
+ _total_args_passed = 0;
+#endif
+ }
+
+ void deallocate();
+
+ // should never be used
+ AdapterHandlerEntry();
+
public:
-
// The name we give all buffer blobs
static const char* name;
- AdapterHandlerEntry(address i2c_entry, address c2i_entry, address c2i_unverified_entry):
- _i2c_entry(i2c_entry),
- _c2i_entry(c2i_entry),
- _c2i_unverified_entry(c2i_unverified_entry) {
- }
-
address get_i2c_entry() { return _i2c_entry; }
address get_c2i_entry() { return _c2i_entry; }
address get_c2i_unverified_entry() { return _c2i_unverified_entry; }
void relocate(address new_base);
+
+ AdapterFingerPrint* fingerprint() { return _fingerprint; }
+
+ AdapterHandlerEntry* next() {
+ return (AdapterHandlerEntry*)BasicHashtableEntry::next();
+ }
+
+#ifdef ASSERT
+ // Used to verify that code generated for shared adapters is equivalent
+ void save_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
+ bool compare_code(unsigned char* code, int length, int total_args_passed, BasicType* sig_bt);
+#endif
+
#ifndef PRODUCT
void print();
#endif /* PRODUCT */
@@ -558,30 +597,18 @@
class AdapterHandlerLibrary: public AllStatic {
private:
static BufferBlob* _buffer; // the temporary code buffer in CodeCache
- static GrowableArray<uint64_t>* _fingerprints; // the fingerprint collection
- static GrowableArray<AdapterHandlerEntry*> * _handlers; // the corresponding handlers
- enum {
- AbstractMethodHandler = 1 // special handler for abstract methods
- };
+ static AdapterHandlerTable* _adapters;
+ static AdapterHandlerEntry* _abstract_method_handler;
static BufferBlob* buffer_blob();
static void initialize();
- static int get_create_adapter_index(methodHandle method);
- static address get_i2c_entry( int index ) {
- return get_entry(index)->get_i2c_entry();
- }
- static address get_c2i_entry( int index ) {
- return get_entry(index)->get_c2i_entry();
- }
- static address get_c2i_unverified_entry( int index ) {
- return get_entry(index)->get_c2i_unverified_entry();
- }
public:
- static AdapterHandlerEntry* get_entry( int index ) { return _handlers->at(index); }
+
+ static AdapterHandlerEntry* new_entry(AdapterFingerPrint* fingerprint,
+ address i2c_entry, address c2i_entry, address c2i_unverified_entry);
static nmethod* create_native_wrapper(methodHandle method);
- static AdapterHandlerEntry* get_adapter(methodHandle method) {
- return get_entry(get_create_adapter_index(method));
- }
+ static AdapterHandlerEntry* get_adapter(methodHandle method);
+
#ifdef HAVE_DTRACE_H
static nmethod* create_dtrace_nmethod (methodHandle method);
#endif // HAVE_DTRACE_H
@@ -589,6 +616,7 @@
#ifndef PRODUCT
static void print_handler(CodeBlob* b);
static bool contains(CodeBlob* b);
+ static void print_statistics();
#endif /* PRODUCT */
};
--- a/hotspot/src/share/vm/runtime/sweeper.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/sweeper.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -33,6 +33,11 @@
jint NMethodSweeper::_locked_seen = 0;
jint NMethodSweeper::_not_entrant_seen_on_stack = 0;
bool NMethodSweeper::_rescan = false;
+bool NMethodSweeper::_was_full = false;
+jint NMethodSweeper::_advise_to_sweep = 0;
+jlong NMethodSweeper::_last_was_full = 0;
+uint NMethodSweeper::_highest_marked = 0;
+long NMethodSweeper::_was_full_traversal = 0;
class MarkActivationClosure: public CodeBlobClosure {
public:
@@ -114,6 +119,40 @@
tty->print_cr("### Couldn't make progress on some nmethods so stopping sweep");
}
}
+
+ if (UseCodeCacheFlushing) {
+ if (!CodeCache::needs_flushing()) {
+ // In a safepoint, no race with setters
+ _advise_to_sweep = 0;
+ }
+
+ if (was_full()) {
+ // There was some progress so attempt to restart the compiler
+ jlong now = os::javaTimeMillis();
+ jlong max_interval = (jlong)MinCodeCacheFlushingInterval * (jlong)1000;
+ jlong curr_interval = now - _last_was_full;
+ if ((!CodeCache::needs_flushing()) && (curr_interval > max_interval)) {
+ CompileBroker::set_should_compile_new_jobs(CompileBroker::run_compilation);
+ set_was_full(false);
+
+ // Update the _last_was_full time so we can tell how fast the
+ // code cache is filling up
+ _last_was_full = os::javaTimeMillis();
+
+ if (PrintMethodFlushing) {
+ tty->print_cr("### sweeper: Live blobs:" UINT32_FORMAT "/Free code cache:" SIZE_FORMAT " bytes, restarting compiler",
+ CodeCache::nof_blobs(), CodeCache::unallocated_capacity());
+ }
+ if (LogCompilation && (xtty != NULL)) {
+ ttyLocker ttyl;
+ xtty->begin_elem("restart_compiler live_blobs='" UINT32_FORMAT "' free_code_cache='" SIZE_FORMAT "'",
+ CodeCache::nof_blobs(), CodeCache::unallocated_capacity());
+ xtty->stamp();
+ xtty->end_elem();
+ }
+ }
+ }
+ }
}
@@ -137,12 +176,12 @@
if (nm->is_marked_for_reclamation()) {
assert(!nm->is_locked_by_vm(), "must not flush locked nmethods");
if (PrintMethodFlushing && Verbose) {
- tty->print_cr("### Nmethod 0x%x (marked for reclamation) being flushed", nm);
+ tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (marked for reclamation) being flushed", nm->compile_id(), nm);
}
nm->flush();
} else {
if (PrintMethodFlushing && Verbose) {
- tty->print_cr("### Nmethod 0x%x (zombie) being marked for reclamation", nm);
+ tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (zombie) being marked for reclamation", nm->compile_id(), nm);
}
nm->mark_for_reclamation();
_rescan = true;
@@ -152,7 +191,7 @@
// stack we can safely convert it to a zombie method
if (nm->can_not_entrant_be_converted()) {
if (PrintMethodFlushing && Verbose) {
- tty->print_cr("### Nmethod 0x%x (not entrant) being made zombie", nm);
+ tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (not entrant) being made zombie", nm->compile_id(), nm);
}
nm->make_zombie();
_rescan = true;
@@ -167,7 +206,7 @@
} else if (nm->is_unloaded()) {
// Unloaded code, just make it a zombie
if (PrintMethodFlushing && Verbose)
- tty->print_cr("### Nmethod 0x%x (unloaded) being made zombie", nm);
+ tty->print_cr("### Nmethod %3d/" PTR_FORMAT " (unloaded) being made zombie", nm->compile_id(), nm);
if (nm->is_osr_method()) {
// No inline caches will ever point to osr methods, so we can just remove it
nm->flush();
@@ -177,7 +216,167 @@
}
} else {
assert(nm->is_alive(), "should be alive");
+
+ if (UseCodeCacheFlushing) {
+ if ((nm->method()->code() != nm) && !(nm->is_locked_by_vm()) && !(nm->is_osr_method()) &&
+ (_traversals > _was_full_traversal+2) && (((uint)nm->compile_id()) < _highest_marked) &&
+ CodeCache::needs_flushing()) {
+ // This method has not been called since the forced cleanup happened
+ nm->make_not_entrant();
+ }
+ }
+
// Clean-up all inline caches that points to zombie/non-reentrant methods
nm->cleanup_inline_caches();
}
}
+
+// Code cache unloading: when compilers notice the code cache is getting full,
+// they will call a vm op that comes here. This code attempts to speculatively
+// unload the oldest half of the nmethods (based on the compile job id) by
+// saving the old code in a list in the CodeCache. Then
+// execution resumes. If a method so marked is not called by the second
+// safepoint from the current one, the nmethod will be marked non-entrant and
+// got rid of by normal sweeping. If the method is called, the methodOop's
+// _code field is restored and the methodOop/nmethod
+// go back to their normal state.
+void NMethodSweeper::handle_full_code_cache(bool is_full) {
+ // Only the first one to notice can advise us to start early cleaning
+ if (!is_full){
+ jint old = Atomic::cmpxchg( 1, &_advise_to_sweep, 0 );
+ if (old != 0) {
+ return;
+ }
+ }
+
+ if (is_full) {
+ // Since code cache is full, immediately stop new compiles
+ bool did_set = CompileBroker::set_should_compile_new_jobs(CompileBroker::stop_compilation);
+ if (!did_set) {
+ // only the first to notice can start the cleaning,
+ // others will go back and block
+ return;
+ }
+ set_was_full(true);
+
+ // If we run out within MinCodeCacheFlushingInterval of the last unload time, give up
+ jlong now = os::javaTimeMillis();
+ jlong max_interval = (jlong)MinCodeCacheFlushingInterval * (jlong)1000;
+ jlong curr_interval = now - _last_was_full;
+ if (curr_interval < max_interval) {
+ _rescan = true;
+ if (PrintMethodFlushing) {
+ tty->print_cr("### handle full too often, turning off compiler");
+ }
+ if (LogCompilation && (xtty != NULL)) {
+ ttyLocker ttyl;
+ xtty->begin_elem("disable_compiler flushing_interval='" UINT64_FORMAT "' live_blobs='" UINT32_FORMAT "' free_code_cache='" SIZE_FORMAT "'",
+ curr_interval/1000, CodeCache::nof_blobs(), CodeCache::unallocated_capacity());
+ xtty->stamp();
+ xtty->end_elem();
+ }
+ return;
+ }
+ }
+
+ VM_HandleFullCodeCache op(is_full);
+ VMThread::execute(&op);
+
+ // rescan again as soon as possible
+ _rescan = true;
+}
+
+void NMethodSweeper::speculative_disconnect_nmethods(bool is_full) {
+ // If there was a race in detecting full code cache, only run
+ // one vm op for it or keep the compiler shut off
+
+ debug_only(jlong start = os::javaTimeMillis();)
+
+ if ((!was_full()) && (is_full)) {
+ if (!CodeCache::needs_flushing()) {
+ if (PrintMethodFlushing) {
+ tty->print_cr("### sweeper: Live blobs:" UINT32_FORMAT "/Free code cache:" SIZE_FORMAT " bytes, restarting compiler",
+ CodeCache::nof_blobs(), CodeCache::unallocated_capacity());
+ }
+ if (LogCompilation && (xtty != NULL)) {
+ ttyLocker ttyl;
+ xtty->begin_elem("restart_compiler live_blobs='" UINT32_FORMAT "' free_code_cache='" SIZE_FORMAT "'",
+ CodeCache::nof_blobs(), CodeCache::unallocated_capacity());
+ xtty->stamp();
+ xtty->end_elem();
+ }
+ CompileBroker::set_should_compile_new_jobs(CompileBroker::run_compilation);
+ return;
+ }
+ }
+
+ // Traverse the code cache trying to dump the oldest nmethods
+ uint curr_max_comp_id = CompileBroker::get_compilation_id();
+ uint flush_target = ((curr_max_comp_id - _highest_marked) >> 1) + _highest_marked;
+ if (PrintMethodFlushing && Verbose) {
+ tty->print_cr("### Cleaning code cache: Live blobs:" UINT32_FORMAT "/Free code cache:" SIZE_FORMAT " bytes",
+ CodeCache::nof_blobs(), CodeCache::unallocated_capacity());
+ }
+ if (LogCompilation && (xtty != NULL)) {
+ ttyLocker ttyl;
+ xtty->begin_elem("start_cleaning_code_cache live_blobs='" UINT32_FORMAT "' free_code_cache='" SIZE_FORMAT "'",
+ CodeCache::nof_blobs(), CodeCache::unallocated_capacity());
+ xtty->stamp();
+ xtty->end_elem();
+ }
+
+ nmethod* nm = CodeCache::alive_nmethod(CodeCache::first());
+ jint disconnected = 0;
+ jint made_not_entrant = 0;
+ while ((nm != NULL)){
+ uint curr_comp_id = nm->compile_id();
+
+ // OSR methods cannot be flushed like this. Also, don't flush native methods
+ // since they are part of the JDK in most cases
+ if (nm->is_in_use() && (!nm->is_osr_method()) && (!nm->is_locked_by_vm()) &&
+ (!nm->is_native_method()) && ((curr_comp_id < flush_target))) {
+
+ if ((nm->method()->code() == nm)) {
+ // This method has not been previously considered for
+ // unloading or it was restored already
+ CodeCache::speculatively_disconnect(nm);
+ disconnected++;
+ } else if (nm->is_speculatively_disconnected()) {
+ // This method was previously considered for preemptive unloading and was not called since then
+ nm->method()->invocation_counter()->decay();
+ nm->method()->backedge_counter()->decay();
+ nm->make_not_entrant();
+ made_not_entrant++;
+ }
+
+ if (curr_comp_id > _highest_marked) {
+ _highest_marked = curr_comp_id;
+ }
+ }
+ nm = CodeCache::alive_nmethod(CodeCache::next(nm));
+ }
+
+ if (LogCompilation && (xtty != NULL)) {
+ ttyLocker ttyl;
+ xtty->begin_elem("stop_cleaning_code_cache disconnected='" UINT32_FORMAT "' made_not_entrant='" UINT32_FORMAT "' live_blobs='" UINT32_FORMAT "' free_code_cache='" SIZE_FORMAT "'",
+ disconnected, made_not_entrant, CodeCache::nof_blobs(), CodeCache::unallocated_capacity());
+ xtty->stamp();
+ xtty->end_elem();
+ }
+
+ // Shut off compiler. Sweeper will run exiting from this safepoint
+ // and turn it back on if it clears enough space
+ if (was_full()) {
+ _last_was_full = os::javaTimeMillis();
+ CompileBroker::set_should_compile_new_jobs(CompileBroker::stop_compilation);
+ }
+
+ // After two more traversals the sweeper will get rid of unrestored nmethods
+ _was_full_traversal = _traversals;
+#ifdef ASSERT
+ jlong end = os::javaTimeMillis();
+ if(PrintMethodFlushing && Verbose) {
+ tty->print_cr("### sweeper: unload time: " INT64_FORMAT, end-start);
+ }
+#endif
+}
--- a/hotspot/src/share/vm/runtime/sweeper.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/sweeper.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -38,6 +38,11 @@
static int _locked_seen; // Number of locked nmethods encountered during the scan
static int _not_entrant_seen_on_stack; // Number of not entrant nmethod were are still on stack
+ static bool _was_full; // remember if we did emergency unloading
+ static jint _advise_to_sweep; // flag to indicate code cache getting full
+ static jlong _last_was_full; // timestamp of last emergency unloading
+ static uint _highest_marked; // highest compile id dumped at last emergency unloading
+ static long _was_full_traversal; // trav number at last emergency unloading
static void process_nmethod(nmethod *nm);
public:
@@ -51,4 +56,10 @@
// changes to false at safepoint so we can never overwrite it with false.
_rescan = true;
}
+
+ static void handle_full_code_cache(bool is_full); // Called by compilers who fail to allocate
+ static void speculative_disconnect_nmethods(bool was_full); // Called by vm op to deal with alloc failure
+
+ static void set_was_full(bool state) { _was_full = state; }
+ static bool was_full() { return _was_full; }
};
--- a/hotspot/src/share/vm/runtime/thread.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/thread.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -1173,6 +1173,7 @@
_exception_handler_pc = 0;
_exception_stack_size = 0;
_jvmti_thread_state= NULL;
+ _should_post_on_exceptions_flag = JNI_FALSE;
_jvmti_get_loaded_classes_closure = NULL;
_interp_only_mode = 0;
_special_runtime_exit_condition = _no_async_condition;
--- a/hotspot/src/share/vm/runtime/thread.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/thread.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2010 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
@@ -1193,6 +1193,9 @@
static ByteSize suspend_flags_offset() { return byte_offset_of(JavaThread, _suspend_flags ); }
static ByteSize do_not_unlock_if_synchronized_offset() { return byte_offset_of(JavaThread, _do_not_unlock_if_synchronized); }
+ static ByteSize should_post_on_exceptions_flag_offset() {
+ return byte_offset_of(JavaThread, _should_post_on_exceptions_flag);
+ }
#ifndef SERIALGC
static ByteSize satb_mark_queue_offset() { return byte_offset_of(JavaThread, _satb_mark_queue); }
@@ -1432,6 +1435,16 @@
void increment_interp_only_mode() { ++_interp_only_mode; }
void decrement_interp_only_mode() { --_interp_only_mode; }
+ // support for cached flag that indicates whether exceptions need to be posted for this thread
+ // if this is false, we can avoid deoptimizing when events are thrown
+ // this gets set to reflect whether jvmtiExport::post_exception_throw would actually do anything
+ private:
+ int _should_post_on_exceptions_flag;
+
+ public:
+ int should_post_on_exceptions_flag() { return _should_post_on_exceptions_flag; }
+ void set_should_post_on_exceptions_flag(int val) { _should_post_on_exceptions_flag = val; }
+
private:
ThreadStatistics *_thread_stat;
--- a/hotspot/src/share/vm/runtime/vm_operations.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/vm_operations.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -151,6 +151,10 @@
#endif // !PRODUCT
+void VM_HandleFullCodeCache::doit() {
+ NMethodSweeper::speculative_disconnect_nmethods(_is_full);
+}
+
void VM_Verify::doit() {
Universe::verify();
}
--- a/hotspot/src/share/vm/runtime/vm_operations.hpp Mon Feb 15 10:18:55 2010 -0800
+++ b/hotspot/src/share/vm/runtime/vm_operations.hpp Wed Feb 17 10:24:30 2010 -0800
@@ -41,6 +41,7 @@
template(DeoptimizeFrame) \
template(DeoptimizeAll) \
template(ZombieAll) \
+ template(HandleFullCodeCache) \
template(Verify) \
template(PrintJNI) \
template(HeapDumper) \
@@ -241,6 +242,16 @@
bool allow_nested_vm_operations() const { return true; }
};
+class VM_HandleFullCodeCache: public VM_Operation {
+ private:
+ bool _is_full;
+ public:
+ VM_HandleFullCodeCache(bool is_full) { _is_full = is_full; }
+ VMOp_Type type() const { return VMOp_HandleFullCodeCache; }
+ void doit();
+ bool allow_nested_vm_operations() const { return true; }
+};
+
#ifndef PRODUCT
class VM_DeoptimizeAll: public VM_Operation {
private:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/6792161/Test6792161.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ *
+ */
+
+/**
+ * @test
+ * @bug 6792161
+ * @summary assert("No dead instructions after post-alloc")
+ *
+ * @run main/othervm -Xcomp -XX:MaxInlineSize=120 Test6792161
+ */
+
+import java.lang.reflect.Constructor;
+public class Test6792161 {
+ static Constructor test(Class cls) throws Exception {
+ Class[] args= { String.class };
+ try {
+ return cls.getConstructor(args);
+ } catch (NoSuchMethodException e) {}
+ return cls.getConstructor(new Class[0]);
+ }
+ public static void main(final String[] args) throws Exception {
+ try {
+ for (int i = 0; i < 100000; i++) {
+ Constructor ctor = test(Class.forName("Test6792161"));
+ }
+ } catch (NoSuchMethodException e) {}
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/6916644/Test6916644.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,50 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ *
+ */
+
+/**
+ * @test
+ * @bug 6916644
+ * @summary C2 compiler crash on x86
+ *
+ * @run main/othervm -Xcomp -XX:CompileOnly=Test6916644.test Test6916644
+ */
+
+public class Test6916644 {
+ static int result;
+ static int i1;
+ static int i2;
+
+ static public void test(double d) {
+ result = (d <= 0.0D) ? i1 : i2;
+ }
+
+ public static void main(String[] args) {
+ for (int i = 0; i < 100000; i++) {
+ // use an alternating value so the test doesn't always go
+ // the same direction. Otherwise we won't transform it
+ // into a cmove.
+ test(i & 1);
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/hotspot/test/compiler/6921969/TestMultiplyLongHiZero.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,138 @@
+/*
+ * Copyright 2010 Google, 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.
+ *
+ * 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.
+ *
+ */
+
+/*
+ * @test
+ * @bug 6921969
+ * @summary Tests shorter long multiply sequences when the high 32 bits of long operands are known to be zero on x86_32
+ * @run main/othervm -Xbatch -XX:-Inline -XX:CompileOnly=.testNormal,.testLeftOptimized,.testRightOptimized,.testOptimized,.testLeftOptimized_LoadUI2L,.testRightOptimized_LoadUI2L,.testOptimized_LoadUI2L TestMultiplyLongHiZero
+ */
+
+// This test must run without any command line arguments.
+
+public class TestMultiplyLongHiZero {
+
+ private static void check(long leftFactor, long rightFactor, long optimizedProduct, long constantProduct) {
+ long normalProduct = leftFactor * rightFactor; // unaffected by the new optimization
+ if (optimizedProduct != constantProduct || normalProduct != constantProduct) {
+ throw new RuntimeException("Not all three products are equal: " +
+ Long.toHexString(normalProduct) + ", " +
+ Long.toHexString(optimizedProduct) + ", " +
+ Long.toHexString(constantProduct));
+ }
+ }
+
+ private static int initInt(String[] args, int v) {
+ if (args.length > 0) {
+ try {
+ return Integer.valueOf(args[0]);
+ } catch (NumberFormatException e) { }
+ }
+ return v;
+ }
+
+ private static final long mask32 = 0x00000000FFFFFFFFL;
+
+ private static void testNormal(int leftFactor, int rightFactor, long constantProduct) {
+ check((long) leftFactor,
+ (long) rightFactor,
+ (long) leftFactor * (long) rightFactor, // unaffected by the new optimization
+ constantProduct);
+ }
+
+ private static void testLeftOptimized(int leftFactor, int rightFactor, long constantProduct) {
+ check((leftFactor & mask32),
+ (long) rightFactor,
+ (leftFactor & mask32) * (long) rightFactor, // left factor optimized
+ constantProduct);
+ }
+
+ private static void testRightOptimized(int leftFactor, int rightFactor, long constantProduct) {
+ check((long) leftFactor,
+ (rightFactor & mask32),
+ (long) leftFactor * (rightFactor & mask32), // right factor optimized
+ constantProduct);
+ }
+
+ private static void testOptimized(int leftFactor, int rightFactor, long constantProduct) {
+ check((leftFactor & mask32),
+ (rightFactor & mask32),
+ (leftFactor & mask32) * (rightFactor & mask32), // both factors optimized
+ constantProduct);
+ }
+
+ private static void testLeftOptimized_LoadUI2L(int leftFactor, int rightFactor, long constantProduct, int[] factors) {
+ check((leftFactor & mask32),
+ (long) rightFactor,
+ (factors[0] & mask32) * (long) rightFactor, // left factor optimized
+ constantProduct);
+ }
+
+ private static void testRightOptimized_LoadUI2L(int leftFactor, int rightFactor, long constantProduct, int[] factors) {
+ check((long) leftFactor,
+ (rightFactor & mask32),
+ (long) leftFactor * (factors[1] & mask32), // right factor optimized
+ constantProduct);
+ }
+
+ private static void testOptimized_LoadUI2L(int leftFactor, int rightFactor, long constantProduct, int[] factors) {
+ check((leftFactor & mask32),
+ (rightFactor & mask32),
+ (factors[0] & mask32) * (factors[1] & mask32), // both factors optimized
+ constantProduct);
+ }
+
+ private static void test(int leftFactor, int rightFactor,
+ long normalConstantProduct,
+ long leftOptimizedConstantProduct,
+ long rightOptimizedConstantProduct,
+ long optimizedConstantProduct) {
+ int[] factors = new int[2];
+ factors[0] = leftFactor;
+ factors[1] = rightFactor;
+ testNormal(leftFactor, rightFactor, normalConstantProduct);
+ testLeftOptimized(leftFactor, rightFactor, leftOptimizedConstantProduct);
+ testRightOptimized(leftFactor, rightFactor, rightOptimizedConstantProduct);
+ testOptimized(leftFactor, rightFactor, optimizedConstantProduct);
+ testLeftOptimized_LoadUI2L(leftFactor, rightFactor, leftOptimizedConstantProduct, factors);
+ testRightOptimized_LoadUI2L(leftFactor, rightFactor, rightOptimizedConstantProduct, factors);
+ testOptimized_LoadUI2L(leftFactor, rightFactor, optimizedConstantProduct, factors);
+ }
+
+ public static void main(String[] args) {
+ for (int i = 0; i < 100000; ++i) { // Trigger compilation
+ int i0 = initInt(args, 1);
+ int i1 = initInt(args, 3);
+ int i2 = initInt(args, -1);
+ int i3 = initInt(args, 0x7FFFFFFF);
+ test(i0, i1, 3L, 3L, 3L, 3L);
+ test(i0, i2, -1L, -1L, 0xFFFFFFFFL, 0xFFFFFFFFL);
+ test(i0, i3, 0x7FFFFFFFL, 0x7FFFFFFFL, 0x7FFFFFFFL, 0x7FFFFFFFL);
+ test(i1, i2, -3L, -3L, 0x2FFFFFFFDL, 0x2FFFFFFFDL);
+ test(i1, i3, 0x17FFFFFFDL, 0x17FFFFFFDL, 0x17FFFFFFDL, 0x17FFFFFFDL);
+ test(i2, i3, 0xFFFFFFFF80000001L, 0x7FFFFFFE80000001L,
+ 0xFFFFFFFF80000001L, 0x7FFFFFFE80000001L);
+ }
+ }
+}
--- a/jaxp/.hgtags Mon Feb 15 10:18:55 2010 -0800
+++ b/jaxp/.hgtags Wed Feb 17 10:24:30 2010 -0800
@@ -55,3 +55,6 @@
7a12d3789e1b07a560fc79568b991818d617ede2 jdk7-b78
b1005c504358c18694c84e95fec16b28cdce7ae1 jdk7-b79
9219574db5936367114b0f31469837f27d5a375a jdk7-b80
+204e59d488cdaa9eafa8cb7164ea955b5a9d4a51 jdk7-b81
+c876ad22e4bf9d3c6460080db7ace478e29a3ff9 jdk7-b82
+309a0a7fc6ceb1c9fc3a85b3608e97ef8f7b0dfd jdk7-b83
--- a/jaxp/jaxp.properties Mon Feb 15 10:18:55 2010 -0800
+++ b/jaxp/jaxp.properties Wed Feb 17 10:24:30 2010 -0800
@@ -24,10 +24,10 @@
#
drops.master.copy.base=${drops.dir}
-drops.master.url.base=https://jaxp.dev.java.net/files/documents/913/144160
+drops.master.url.base=https://jaxp.dev.java.net/files/documents/913/147490
-jaxp_src.bundle.name=jdk7-jaxp-m5.zip
-jaxp_src.bundle.md5.checksum=8b58ce7919cda8e32a9afc5cb4b58bb1
+jaxp_src.bundle.name=jdk7-jaxp-m6.zip
+jaxp_src.bundle.md5.checksum=080827d779c114365f8504bd79b34604
jaxp_src.master.bundle.dir=${drops.master.copy.base}
jaxp_src.master.bundle.url.base=${drops.master.url.base}
--- a/jaxws/.hgtags Mon Feb 15 10:18:55 2010 -0800
+++ b/jaxws/.hgtags Wed Feb 17 10:24:30 2010 -0800
@@ -55,3 +55,6 @@
fc1c72d1dfbb17db7d46bba8db9afc39cbbb9299 jdk7-b78
c08894f5b6e594b9b12993e256b96c1b38099632 jdk7-b79
447767dee56a0f8cb89acc8bf7be5f9be7d84e8b jdk7-b80
+f051045fe94a48fae1097f90cbd9227e6aae6b7e jdk7-b81
+31573ae8eed15a6c170f3f0d1abd0b9109c0e086 jdk7-b82
+371e3ded591d09112a9f231e37cb072781c486ac jdk7-b83
--- a/jdk/.hgtags Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/.hgtags Wed Feb 17 10:24:30 2010 -0800
@@ -55,3 +55,6 @@
1143e498f813b8223b5e3a696d79da7ff7c25354 jdk7-b78
918920710d65432a2d54fdf407c1524a5571c4ad jdk7-b79
049cfaaa9a7374e3768a79969a799e8b59ad52fa jdk7-b80
+10b993d417fcdb40480dad7032ac241f4b87f1af jdk7-b81
+69ef657320ad5c35cfa12e4d8322d877e778f8b3 jdk7-b82
+9027c6b9d7e2c9ca04a1add691b5b50d0f22b1aa jdk7-b83
--- a/jdk/make/common/shared/Defs-java.gmk Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/make/common/shared/Defs-java.gmk Wed Feb 17 10:24:30 2010 -0800
@@ -138,6 +138,10 @@
# Needed for javah
JAVAHFLAGS += -bootclasspath $(CLASSBINDIR)
+# Needed for javadoc to ensure it builds documentation
+# against the newly built classes
+JAVADOCFLAGS += -bootclasspath $(CLASSBINDIR)
+
# Needed for JAVADOC and BOOT_JAVACFLAGS
NO_PROPRIETARY_API_WARNINGS = -XDignore.symbol.file=true
@@ -155,14 +159,15 @@
-jar $(JAVAH_JAR) $(JAVAHFLAGS)
JAVADOC_CMD = $(BOOT_JAVA_CMD) \
"-Xbootclasspath/p:$(JAVADOC_JAR)$(CLASSPATH_SEPARATOR)$(JAVAC_JAR)$(CLASSPATH_SEPARATOR)$(DOCLETS_JAR)" \
- -jar $(JAVADOC_JAR)
+ -jar $(JAVADOC_JAR) $(JAVADOCFLAGS)
else
# If no explicit tools, use boot tools (add VM flags in this case)
JAVAC_CMD = $(JAVA_TOOLS_DIR)/javac $(JAVAC_JVM_FLAGS) \
$(JAVACFLAGS)
JAVAH_CMD = $(JAVA_TOOLS_DIR)/javah \
$(JAVAHFLAGS)
- JAVADOC_CMD = $(JAVA_TOOLS_DIR)/javadoc $(JAVA_TOOLS_FLAGS:%=-J%)
+ JAVADOC_CMD = $(JAVA_TOOLS_DIR)/javadoc $(JAVA_TOOLS_FLAGS:%=-J%) \
+ $(JAVADOCFLAGS)
endif
# Override of what javac to use (see deploy workspace)
--- a/jdk/make/docs/Makefile Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/make/docs/Makefile Wed Feb 17 10:24:30 2010 -0800
@@ -69,7 +69,7 @@
THIS_YEAR := $(shell $(DATE) | $(SED) -e 's/ / /g' | $(CUT) -d' ' -f6)
TRADEMARK = &\#x2122;
-IGNORED_TAGS = beaninfo revised since.unbundled spec Note ToDo
+IGNORED_TAGS = beaninfo revised since.unbundled spec specdefault Note ToDo
JLS3_URL = http://java.sun.com/docs/books/jls/
JLS3_CITE = <a href="$(JLS3_URL)"> \
--- a/jdk/make/javax/swing/beaninfo/SwingBeans.gmk Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/make/javax/swing/beaninfo/SwingBeans.gmk Wed Feb 17 10:24:30 2010 -0800
@@ -25,7 +25,7 @@
#
# Makefile to build the BeanInfo generation tool (ie, a doclet), and
-# then the beaninfo itself. Swing versions prior to 1.2 is no longer
+# then the beaninfo itself. Swing versions prior to 1.2 are no longer
# built.
#
# This makefile could be a lot simpler if we made it more regular.
@@ -44,13 +44,12 @@
$(MAKE) DEBUG_FLAG=true make-swing-beans
-LOCAL_JAVADOC = $(JAVADOC_CMD) $(JAVADOCFLAGS)
# get the absolute path to the jar command.
PREFIX = 1.2
-JAVADOCFLAGS = $(NO_PROPRIETARY_API_WARNINGS) $(LANGUAGE_VERSION)
+JAVADOCFLAGS += $(NO_PROPRIETARY_API_WARNINGS) $(LANGUAGE_VERSION)
SWINGPKG = javax/swing
LOCAL_JAVAC_FLAGS = $(OTHER_JAVACFLAGS)
-# since LOCAL_JAVADOC runs on ALT_BOOTDIR, the doclet and all its classes must be compiled to match
+# since JAVADOC_CMD runs on ALT_BOOTDIR, the doclet and all its classes must be compiled to match
DOCLET_JAVAC_FLAGS = -source 6 -target 6
include FILES.gmk
@@ -114,7 +113,7 @@
.javadoc.beanlist:
if [ -s $(TEMPDIR)/.beans.list ]; \
- then $(LOCAL_JAVADOC) $(DOCLETFLAGS) -x $(DEBUG_FLAG) -d $(BEANSRCDIR) -t $(DOCLETSRC)/SwingBeanInfo.template -docletpath $(DOCLETDST) \
+ then $(JAVADOC_CMD) $(DOCLETFLAGS) -x $(DEBUG_FLAG) -d $(BEANSRCDIR) -t $(DOCLETSRC)/SwingBeanInfo.template -docletpath $(DOCLETDST) \
$(shell if [ -s $(TEMPDIR)/.beans.list ]; then $(CAT) $(TEMPDIR)/.beans.list; fi); \
fi
@$(java-vm-cleanup)
--- a/jdk/make/sun/awt/FILES_c_windows.gmk Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/make/sun/awt/FILES_c_windows.gmk Wed Feb 17 10:24:30 2010 -0800
@@ -179,6 +179,8 @@
awt_Mlib.cpp \
awt_new.cpp \
awt_TrayIcon.cpp \
+ awt_DCHolder.cpp \
+ awt_ole.cpp \
ShaderList.cpp \
D3DBlitLoops.cpp \
D3DBufImgOps.cpp \
--- a/jdk/make/sun/awt/Makefile Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/make/sun/awt/Makefile Wed Feb 17 10:24:30 2010 -0800
@@ -250,13 +250,14 @@
# vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv WINDOWS
OTHER_LDLIBS = kernel32.lib user32.lib gdi32.lib winspool.lib \
imm32.lib ole32.lib uuid.lib shell32.lib \
- comdlg32.lib winmm.lib comctl32.lib delayimp.lib \
+ comdlg32.lib winmm.lib comctl32.lib \
+ shlwapi.lib delayimp.lib \
$(JVMLIB) \
/DELAYLOAD:user32.dll /DELAYLOAD:gdi32.dll \
/DELAYLOAD:shell32.dll /DELAYLOAD:winmm.dll \
/DELAYLOAD:winspool.drv /DELAYLOAD:imm32.dll \
/DELAYLOAD:ole32.dll /DELAYLOAD:comdlg32.dll \
- /DELAYLOAD:comctl32.dll
+ /DELAYLOAD:comctl32.dll /DELAYLOAD:shlwapi.dll
clean:: awt.clean
--- a/jdk/make/sun/awt/make.depend Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/make/sun/awt/make.depend Wed Feb 17 10:24:30 2010 -0800
@@ -1,351 +1,355 @@
-$(OBJDIR)/AccelGlyphCache.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/AlphaMacros.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/AlphaMath.obj:: ../../../src/share/native/sun/java2d/loops/AlphaMath.h
-
-$(OBJDIR)/Any3Byte.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any3Byte.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Any4Byte.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/AnyByte.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/AnyInt.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/AnyShort.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/awt_AWTEvent.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_BitmapUtil.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Brush.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Button.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Button.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WButtonPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Button.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Canvas.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsConfig.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Checkbox.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Checkbox.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCheckboxPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Checkbox.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Choice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Choice.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WChoicePeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Choice.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Clipboard.obj:: $(CLASSHDRDIR)/sun_awt_windows_WClipboard.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Clipboard.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Color.obj:: $(CLASSHDRDIR)/sun_awt_windows_WColor.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Color.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Component.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Color.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_MouseWheelEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethod.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPanelPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/awt_InputTextInfor.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_MouseEvent.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Container.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Cursor.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Cursor.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCustomCursor.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WGlobalCursorManager.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_DataTransferer.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_datatransfer_DataTransferer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDataTransferer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/common/locale_str.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Debug.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Desktop.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_DesktopProperties.obj:: $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_windows_WDesktopProperties.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Dialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Dimension.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_DnDDS.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_dnd_DnDConstants.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_dnd_SunDragSourceContextPeer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDragSourceContextPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_DnDDT.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_dnd_DnDConstants.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDropTargetContextPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_DrawingSurface.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jawt_md.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DrawingSurface.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Event.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Event.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_FileDialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Font.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDefaultFontCharset.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFontPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Frame.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/java_lang_Integer.h $(CLASSHDRDIR)/sun_awt_EmbeddedFrame.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WEmbeddedFrame.h $(CLASSHDRDIR)/sun_awt_windows_WEmbeddedFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_GDIObject.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_IconCursor.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_ImageRep.obj:: $(CLASSHDRDIR)/sun_awt_image_ImageRepresentation.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/awt_parseImage.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/awt_ImagingLib.obj:: $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_image_BufferedImage.h $(CLASSHDRDIR)/java_awt_image_ConvolveOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_image_ImagingLib.h $(CLASSHDRDIR)/sun_awt_image_IntegerComponentRaster.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/awt_parseImage.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/share/native/sun/awt/medialib/awt_ImagingLib.h ../../../src/share/native/sun/awt/medialib/mlib_image_get.h ../../../src/share/native/sun/awt/medialib/mlib_image_types.h ../../../src/share/native/sun/awt/medialib/mlib_status.h ../../../src/share/native/sun/awt/medialib/mlib_types.h ../../../src/share/native/sun/awt/medialib/safe_alloc.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/awt_Mlib.h
-
-$(OBJDIR)/awt_InputEvent.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_InputMethod.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethodDescriptor.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethod.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/common/locale_str.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_InputTextInfor.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputTextInfor.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Insets.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_KeyboardFocusManager.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_KeyboardFocusManager.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_KeyEvent.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Label.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Label.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WLabelPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Label.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_List.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_List.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WListPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_List.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_MenuBar.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_MenuItem.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_CheckboxMenuItem.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCheckboxMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Menu.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Mlib.obj:: $(CLASSHDRDIR)/java_awt_image_BufferedImage.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/medialib/awt_ImagingLib.h ../../../src/share/native/sun/awt/medialib/mlib_image_get.h ../../../src/share/native/sun/awt/medialib/mlib_image_types.h ../../../src/share/native/sun/awt/medialib/mlib_status.h ../../../src/share/native/sun/awt/medialib/mlib_types.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Mlib.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_MouseEvent.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MouseEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_new.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_new.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Object.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Palette.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_CustomPaletteDef.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/img_util_md.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Panel.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_parseImage.obj:: $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_image_BufferedImage.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_image_ImagingLib.h $(CLASSHDRDIR)/sun_awt_image_IntegerComponentRaster.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/awt_parseImage.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/share/native/sun/awt/medialib/awt_ImagingLib.h ../../../src/share/native/sun/awt/medialib/mlib_image_get.h ../../../src/share/native/sun/awt/medialib/mlib_image_types.h ../../../src/share/native/sun/awt/medialib/mlib_status.h ../../../src/share/native/sun/awt/medialib/mlib_types.h ../../../src/share/native/sun/awt/medialib/safe_alloc.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/awt_Mlib.h
-
-$(OBJDIR)/awt_Pen.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_PopupMenu.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_PopupMenu.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPopupMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Event.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PopupMenu.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_PrintControl.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_PrintDialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPrintDialog.h $(CLASSHDRDIR)/sun_awt_windows_WPrintDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_PrintJob.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPrinterJob.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Rectangle.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Rectangle.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Robot.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WRobotPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Robot.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Scrollbar.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Scrollbar.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollbarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Scrollbar.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_ScrollPane.obj:: $(CLASSHDRDIR)/java_awt_Adjustable.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_AdjustmentEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_Scrollbar.h $(CLASSHDRDIR)/java_awt_ScrollPaneAdjustable.h $(CLASSHDRDIR)/java_awt_ScrollPane.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollbarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollPanePeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Scrollbar.h ../../../src/windows/native/sun/windows/awt_ScrollPane.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_TextArea.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_TextArea.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextAreaPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextArea.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_TextComponent.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_TextField.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_TextField.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextFieldPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_TextField.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Toolkit.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_List.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_ComponentPeer.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_PopupMenu.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WListPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPopupMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jawt_md.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Clipboard.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_DrawingSurface.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/awt_List.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_new.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PopupMenu.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/CmdIDList.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/DllUtil.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_TrayIcon.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_ActionEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TrayIcon.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WTrayIconPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_TrayIcon.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Win32GraphicsConfig.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_DataBuffer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsConfig.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsConfig.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Win32GraphicsDevice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_DataBuffer.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsDevice.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/awt/image/dither.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/img_util_md.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Win32GraphicsEnv.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsEnvironment.h $(CLASSHDRDIR)/sun_awt_Win32FontManager.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/DllUtil.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/awt_Window.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Container.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_ComponentEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/BlitBg.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_BlitBg.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Blit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_Blit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/BufferedMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedMaskBlit.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/BufferedRenderPipe.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/BufImgSurfaceData.obj:: $(CLASSHDRDIR)/sun_awt_image_BufImgSurfaceData.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/BufImgSurfaceData.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/img_util_md.h
-
-$(OBJDIR)/ByteBinary1Bit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByteBinary.h ../../../src/share/native/sun/java2d/loops/ByteBinary1Bit.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/ByteBinary2Bit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByteBinary.h ../../../src/share/native/sun/java2d/loops/ByteBinary2Bit.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/ByteBinary4Bit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByteBinary.h ../../../src/share/native/sun/java2d/loops/ByteBinary4Bit.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/ByteGray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/ByteIndexed.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/CmdIDList.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/CmdIDList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/ComCtl32Util.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DBlitLoops.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DBlitLoops.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgb.h ../../../src/share/native/sun/java2d/loops/Ushort565Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBlitLoops.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DBufImgOps.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DShaders.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DGlyphCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DGraphicsDevice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DGraphicsDevice.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskBlit.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DMaskCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DMaskFill.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DMaskFill.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskFill.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DPaints.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DPipelineManager.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBadHardware.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DRenderer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DRenderQueue.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DBlitLoops.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBlitLoops.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskBlit.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskFill.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DResourceManager.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DTextRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DTextRenderer.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/D3DVertexCacher.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/DataBufferNative.obj:: $(CLASSHDRDIR)/sun_awt_image_DataBufferNative.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/debug_assert.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/debug_mem.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/debug_trace.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/debug_util.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/Devices.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/Disposer.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/dither.obj:: ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/awt/image/dither.h ../../../src/windows/native/sun/windows/colordata.h
-
-$(OBJDIR)/DllUtil.obj:: ../../../src/windows/native/sun/windows/DllUtil.h
-
-$(OBJDIR)/DrawLine.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawLine.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/DrawPath.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawPath.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/DrawPath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/ProcessPath.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/DrawPolygons.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawPolygons.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/DrawRect.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawRect.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/FillPath.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_FillPath.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/DrawPath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/ProcessPath.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/FillRect.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_FillRect.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/FillSpans.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_FillSpans.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/FourByteAbgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/FourByteAbgr.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/FourByteAbgrPre.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/FourByteAbgrPre.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/GDIBlitLoops.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIBlitLoops.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/GDIHashtable.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/GDIRenderer.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_geom_PathIterator.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIRenderer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/GDIWindowSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIWindowSurfaceData.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/gifdecoder.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/GraphicsPrimitiveMgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_GraphicsPrimitiveMgr.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Hashtable.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/imageInitIDs.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/img_colors.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/img_globals.obj:: $(CLASSHDRDIR)/java_awt_image_DirectColorModel.h $(CLASSHDRDIR)/java_awt_image_IndexColorModel.h $(CLASSHDRDIR)/java_awt_Transparency.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/windows/javavm/export/jni_md.h
-
-$(OBJDIR)/Index12Gray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Index8Gray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/initIDs.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/IntArgbBm.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/IntArgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/IntArgbPre.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/IntBgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/IntRgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/IntRgbx.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/IntRgbx.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/MaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_MaskBlit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/MaskFill.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_MaskFill.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/MouseInfo.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/ObjectList.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/OGLBlitLoops.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLBlitLoops.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLBlitLoops.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLBufImgOps.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLBufImgOps.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLFuncs.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskBlit.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLMaskFill.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLMaskFill.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskFill.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLPaints.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedPaints.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLRenderer.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLRenderQueue.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLBlitLoops.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLBlitLoops.h ../../../src/share/native/sun/java2d/opengl/OGLBufImgOps.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskBlit.h ../../../src/share/native/sun/java2d/opengl/OGLMaskFill.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLTextRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLTextRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLTextRenderer.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLTextRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/OGLVertexCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
-
-$(OBJDIR)/ProcessPath.obj:: $(CLASSHDRDIR)/java_awt_geom_PathIterator.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/ProcessPath.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Region.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/RenderBuffer.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_RenderBuffer.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/ScaledBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_ScaledBlit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/ShapeSpanIterator.obj:: $(CLASSHDRDIR)/java_awt_geom_PathIterator.h $(CLASSHDRDIR)/sun_java2d_pipe_ShapeSpanIterator.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/pipe/PathConsumer2D.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/ShellFolder2.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/SpanClipRenderer.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_RegionIterator.h $(CLASSHDRDIR)/sun_java2d_pipe_SpanClipRenderer.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/SurfaceData.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/ThemeReader.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_ThemeReader.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/ThreeByteBgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any3Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Trace.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
-
-$(OBJDIR)/TransformHelper.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_loops_TransformHelper.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Ushort4444Argb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort4444Argb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Ushort555Rgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Ushort555Rgbx.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgbx.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/Ushort565Rgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort4444Argb.h ../../../src/share/native/sun/java2d/loops/Ushort565Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/UshortGray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/UshortIndexed.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/loops/UshortIndexed.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
-
-$(OBJDIR)/WGLGraphicsConfig.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_WGLGraphicsConfig.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h ../../../src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h ../../../src/windows/native/sun/java2d/opengl/WGLSurfaceData.h
-
-$(OBJDIR)/WGLSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_WGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h ../../../src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h ../../../src/windows/native/sun/java2d/opengl/WGLSurfaceData.h
-
-$(OBJDIR)/WindowsFlags.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
-
-$(OBJDIR)/WPrinterJob.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
+$(OBJDIR)/AccelGlyphCache.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/AlphaMacros.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/AlphaMath.obj:: ../../../src/share/native/sun/java2d/loops/AlphaMath.h
+
+$(OBJDIR)/Any3Byte.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any3Byte.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Any4Byte.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/AnyByte.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/AnyInt.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/AnyShort.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/awt_AWTEvent.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_BitmapUtil.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Brush.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Button.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Button.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WButtonPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Button.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Canvas.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsConfig.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Checkbox.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Checkbox.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCheckboxPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Checkbox.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Choice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Choice.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WChoicePeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Choice.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Clipboard.obj:: $(CLASSHDRDIR)/sun_awt_windows_WClipboard.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Clipboard.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Color.obj:: $(CLASSHDRDIR)/sun_awt_windows_WColor.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Color.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Component.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Color.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_MouseWheelEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethod.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPanelPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/awt_InputTextInfor.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awt_MouseEvent.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Container.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Cursor.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Cursor.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WCustomCursor.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WGlobalCursorManager.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_DataTransferer.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_datatransfer_DataTransferer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDataTransferer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/common/locale_str.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Debug.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Desktop.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_DesktopProperties.obj:: $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_windows_WDesktopProperties.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Dialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Dimension.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_DnDDS.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_dnd_DnDConstants.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_dnd_SunDragSourceContextPeer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDragSourceContextPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_DnDDT.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_dnd_DnDConstants.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDropTargetContextPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_DataTransferer.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_DrawingSurface.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jawt_md.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DrawingSurface.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_DCHolder.obj:: ../../../src/windows/native/sun/windows/awt_DCHolder.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/awt_ole.h
+
+$(OBJDIR)/awt_ole.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h ../../../src/windows/native/sun/windows/awt_ole.h
+
+$(OBJDIR)/awt_Event.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Event.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_FileDialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Font.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDefaultFontCharset.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFontPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Frame.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/java_lang_Integer.h $(CLASSHDRDIR)/sun_awt_EmbeddedFrame.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WEmbeddedFrame.h $(CLASSHDRDIR)/sun_awt_windows_WEmbeddedFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_GDIObject.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_IconCursor.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_ImageRep.obj:: $(CLASSHDRDIR)/sun_awt_image_ImageRepresentation.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/awt_parseImage.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/awt_ImagingLib.obj:: $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_image_BufferedImage.h $(CLASSHDRDIR)/java_awt_image_ConvolveOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_image_ImagingLib.h $(CLASSHDRDIR)/sun_awt_image_IntegerComponentRaster.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/awt_parseImage.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/share/native/sun/awt/medialib/awt_ImagingLib.h ../../../src/share/native/sun/awt/medialib/mlib_image_get.h ../../../src/share/native/sun/awt/medialib/mlib_image_types.h ../../../src/share/native/sun/awt/medialib/mlib_status.h ../../../src/share/native/sun/awt/medialib/mlib_types.h ../../../src/share/native/sun/awt/medialib/safe_alloc.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/awt_Mlib.h
+
+$(OBJDIR)/awt_InputEvent.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_InputMethod.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethodDescriptor.h $(CLASSHDRDIR)/sun_awt_windows_WInputMethod.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/common/locale_str.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_InputTextInfor.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputTextInfor.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Insets.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_KeyboardFocusManager.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_KeyboardFocusManager.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_KeyEvent.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Label.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Label.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WLabelPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Label.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_List.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_List.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WListPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dimension.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_List.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_MenuBar.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_MenuItem.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_CheckboxMenuItem.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCheckboxMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Menu.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Mlib.obj:: $(CLASSHDRDIR)/java_awt_image_BufferedImage.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/medialib/awt_ImagingLib.h ../../../src/share/native/sun/awt/medialib/mlib_image_get.h ../../../src/share/native/sun/awt/medialib/mlib_image_types.h ../../../src/share/native/sun/awt/medialib/mlib_status.h ../../../src/share/native/sun/awt/medialib/mlib_types.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Mlib.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_MouseEvent.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MouseEvent.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_new.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_new.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Object.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Palette.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_CustomPaletteDef.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/img_util_md.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Panel.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_parseImage.obj:: $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_image_BufferedImage.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_image_ImagingLib.h $(CLASSHDRDIR)/sun_awt_image_IntegerComponentRaster.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/awt_parseImage.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/share/native/sun/awt/medialib/awt_ImagingLib.h ../../../src/share/native/sun/awt/medialib/mlib_image_get.h ../../../src/share/native/sun/awt/medialib/mlib_image_types.h ../../../src/share/native/sun/awt/medialib/mlib_status.h ../../../src/share/native/sun/awt/medialib/mlib_types.h ../../../src/share/native/sun/awt/medialib/safe_alloc.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/awt_Mlib.h
+
+$(OBJDIR)/awt_Pen.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_PopupMenu.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_PopupMenu.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPopupMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Event.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PopupMenu.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_PrintControl.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_PrintDialog.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPrintDialog.h $(CLASSHDRDIR)/sun_awt_windows_WPrintDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_PrintJob.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPrinterJob.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_PrintDialog.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Rectangle.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Rectangle.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Robot.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WRobotPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Robot.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Scrollbar.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Scrollbar.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollbarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Scrollbar.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_ScrollPane.obj:: $(CLASSHDRDIR)/java_awt_Adjustable.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_AdjustmentEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_Scrollbar.h $(CLASSHDRDIR)/java_awt_ScrollPaneAdjustable.h $(CLASSHDRDIR)/java_awt_ScrollPane.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollbarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WScrollPanePeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Scrollbar.h ../../../src/windows/native/sun/windows/awt_ScrollPane.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_TextArea.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_TextArea.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextAreaPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextArea.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_TextComponent.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_TextField.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TextComponent.h $(CLASSHDRDIR)/java_awt_TextField.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WTextFieldPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_TextComponent.h ../../../src/windows/native/sun/windows/awt_TextField.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Toolkit.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputMethodEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_FileDialog.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_List.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_ComponentPeer.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_PopupMenu.h $(CLASSHDRDIR)/java_awt_Toolkit.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFileDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WListPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WPopupMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jawt.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jawt_md.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Clipboard.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Cursor.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_DesktopProperties.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_DnDDS.h ../../../src/windows/native/sun/windows/awt_DnDDT.h ../../../src/windows/native/sun/windows/awt_DrawingSurface.h ../../../src/windows/native/sun/windows/awt_FileDialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_InputEvent.h ../../../src/windows/native/sun/windows/awt_KeyEvent.h ../../../src/windows/native/sun/windows/awt_List.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_new.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_PopupMenu.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/CmdIDList.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/DllUtil.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_TrayIcon.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_ActionEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_InputEvent.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_TrayIcon.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WTrayIconPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_AWTEvent.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_TrayIcon.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Win32GraphicsConfig.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_DataBuffer.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsConfig.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsConfig.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Win32GraphicsDevice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_color_ColorSpace.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_DataBuffer.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsDevice.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/awt/image/dither.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/img_util_md.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Win32GraphicsEnv.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_Win32GraphicsEnvironment.h $(CLASSHDRDIR)/sun_awt_Win32FontManager.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/DllUtil.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/awt_Window.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Container.h $(CLASSHDRDIR)/java_awt_Dialog.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_ComponentEvent.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_FontMetrics.h $(CLASSHDRDIR)/java_awt_Frame.h $(CLASSHDRDIR)/java_awt_Insets.h $(CLASSHDRDIR)/java_awt_MenuBar.h $(CLASSHDRDIR)/java_awt_MenuComponent.h $(CLASSHDRDIR)/java_awt_Menu.h $(CLASSHDRDIR)/java_awt_MenuItem.h $(CLASSHDRDIR)/java_awt_peer_MenuComponentPeer.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WDialogPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WFramePeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuBarPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuItemPeer.h $(CLASSHDRDIR)/sun_awt_windows_WMenuPeer.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Container.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Dialog.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_Frame.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awt_IconCursor.h ../../../src/windows/native/sun/windows/awt_Insets.h ../../../src/windows/native/sun/windows/awt_MenuBar.h ../../../src/windows/native/sun/windows/awt_Menu.h ../../../src/windows/native/sun/windows/awt_MenuItem.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Panel.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/BlitBg.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_BlitBg.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Blit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_Blit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/BufferedMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedMaskBlit.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/BufferedRenderPipe.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/BufImgSurfaceData.obj:: $(CLASSHDRDIR)/sun_awt_image_BufImgSurfaceData.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/BufImgSurfaceData.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/img_util_md.h
+
+$(OBJDIR)/ByteBinary1Bit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByteBinary.h ../../../src/share/native/sun/java2d/loops/ByteBinary1Bit.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/ByteBinary2Bit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByteBinary.h ../../../src/share/native/sun/java2d/loops/ByteBinary2Bit.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/ByteBinary4Bit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByteBinary.h ../../../src/share/native/sun/java2d/loops/ByteBinary4Bit.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/ByteGray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/ByteIndexed.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/CmdIDList.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/CmdIDList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/ComCtl32Util.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/ComCtl32Util.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DBlitLoops.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DBlitLoops.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgb.h ../../../src/share/native/sun/java2d/loops/Ushort565Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBlitLoops.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DBufImgOps.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DShaders.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DGlyphCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DGraphicsDevice.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DGraphicsDevice.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGraphicsDevice.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskBlit.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DMaskCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DMaskFill.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DMaskFill.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskFill.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DPaints.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DPipelineManager.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBadHardware.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DRenderer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DRenderQueue.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DBlitLoops.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DBlitLoops.h ../../../src/windows/native/sun/java2d/d3d/D3DBufImgOps.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskBlit.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskFill.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DResourceManager.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/java_awt_Window.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WCanvasPeer.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_awt_windows_WWindowPeer.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_BitmapUtil.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Canvas.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/awt_Window.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DTextRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DTextRenderer.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DGlyphCache.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DRenderQueue.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DTextRenderer.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/D3DVertexCacher.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPaints.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/DataBufferNative.obj:: $(CLASSHDRDIR)/sun_awt_image_DataBufferNative.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/debug_assert.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/debug_mem.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/debug_trace.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/debug_util.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/Devices.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/java_awt_Transparency.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DContext.h $(CLASSHDRDIR)/sun_java2d_d3d_D3DSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelDeviceEventNotifier.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/ShaderList.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/d3d/D3DContext.h ../../../src/windows/native/sun/java2d/d3d/D3DMaskCache.h ../../../src/windows/native/sun/java2d/d3d/D3DPipeline.h ../../../src/windows/native/sun/java2d/d3d/D3DPipelineManager.h ../../../src/windows/native/sun/java2d/d3d/D3DResourceManager.h ../../../src/windows/native/sun/java2d/d3d/D3DSurfaceData.h ../../../src/windows/native/sun/java2d/d3d/D3DVertexCacher.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/Disposer.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/dither.obj:: ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/awt/image/dither.h ../../../src/windows/native/sun/windows/colordata.h
+
+$(OBJDIR)/DllUtil.obj:: ../../../src/windows/native/sun/windows/DllUtil.h
+
+$(OBJDIR)/DrawLine.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawLine.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/DrawPath.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawPath.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/DrawPath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/ProcessPath.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/DrawPolygons.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawPolygons.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/DrawRect.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_DrawRect.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/FillPath.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_FillPath.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/DrawPath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/ProcessPath.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/FillRect.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_FillRect.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/FillSpans.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_FillSpans.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/FourByteAbgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/FourByteAbgr.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/FourByteAbgrPre.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any4Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/FourByteAbgrPre.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/GDIBlitLoops.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIBlitLoops.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/GDIHashtable.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/GDIRenderer.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/java_awt_geom_PathIterator.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIRenderer.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/GDIWindowSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h $(CLASSHDRDIR)/sun_java2d_windows_GDIWindowSurfaceData.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/gifdecoder.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/GraphicsPrimitiveMgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_GraphicsPrimitiveMgr.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Hashtable.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/imageInitIDs.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/image/imageInitIDs.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/img_colors.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/img_globals.obj:: $(CLASSHDRDIR)/java_awt_image_DirectColorModel.h $(CLASSHDRDIR)/java_awt_image_IndexColorModel.h $(CLASSHDRDIR)/java_awt_Transparency.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/windows/javavm/export/jni_md.h
+
+$(OBJDIR)/Index12Gray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Index8Gray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/initIDs.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/IntArgbBm.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/IntArgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/IntArgbPre.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/IntBgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/Index8Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntBgr.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/IntRgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/IntRgbx.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyInt.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/IntRgbx.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/MaskBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_MaskBlit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/MaskFill.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_MaskFill.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/MouseInfo.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/ObjectList.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/OGLBlitLoops.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLBlitLoops.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLBlitLoops.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLBufImgOps.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLBufImgOps.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLContext.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLFuncs.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLMaskBlit.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskBlit.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLMaskFill.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLMaskFill.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskFill.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLPaints.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedPaints.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLRenderer.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLRenderQueue.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLBlitLoops.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedOpCodes.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedRenderPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLBlitLoops.h ../../../src/share/native/sun/java2d/opengl/OGLBufImgOps.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLMaskBlit.h ../../../src/share/native/sun/java2d/opengl/OGLMaskFill.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLTextRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLTextRenderer.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLTextRenderer.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedTextPipe.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/font/AccelGlyphCache.h ../../../src/share/native/sun/font/fontscalerdefs.h ../../../src/share/native/sun/font/sunfontids.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLTextRenderer.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/OGLVertexCache.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h $(CLASSHDRDIR)/sun_java2d_SunGraphics2D.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLPaints.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/opengl/OGLVertexCache.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h
+
+$(OBJDIR)/ProcessPath.obj:: $(CLASSHDRDIR)/java_awt_geom_PathIterator.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/ProcessPath.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Region.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/RenderBuffer.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_RenderBuffer.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/ScaledBlit.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/sun_java2d_loops_ScaledBlit.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/ShapeSpanIterator.obj:: $(CLASSHDRDIR)/java_awt_geom_PathIterator.h $(CLASSHDRDIR)/sun_java2d_pipe_ShapeSpanIterator.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/pipe/PathConsumer2D.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/ShellFolder2.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/SpanClipRenderer.obj:: $(CLASSHDRDIR)/sun_java2d_pipe_RegionIterator.h $(CLASSHDRDIR)/sun_java2d_pipe_SpanClipRenderer.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/SurfaceData.obj:: ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/Disposer.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/ThemeReader.obj:: $(CLASSHDRDIR)/java_awt_AWTEvent.h $(CLASSHDRDIR)/java_awt_Component.h $(CLASSHDRDIR)/java_awt_Dimension.h $(CLASSHDRDIR)/java_awt_event_FocusEvent.h $(CLASSHDRDIR)/java_awt_Event.h $(CLASSHDRDIR)/java_awt_event_KeyEvent.h $(CLASSHDRDIR)/java_awt_event_MouseEvent.h $(CLASSHDRDIR)/java_awt_event_WindowEvent.h $(CLASSHDRDIR)/java_awt_Font.h $(CLASSHDRDIR)/sun_awt_FontDescriptor.h $(CLASSHDRDIR)/sun_awt_PlatformFont.h $(CLASSHDRDIR)/sun_awt_windows_ThemeReader.h $(CLASSHDRDIR)/sun_awt_windows_WComponentPeer.h $(CLASSHDRDIR)/sun_awt_windows_WFontMetrics.h $(CLASSHDRDIR)/sun_awt_windows_WObjectPeer.h $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/awt/image/cvutils/img_globals.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/GDIWindowSurfaceData.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Brush.h ../../../src/windows/native/sun/windows/awt_Component.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt_Font.h ../../../src/windows/native/sun/windows/awt_GDIObject.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_Object.h ../../../src/windows/native/sun/windows/awt_Palette.h ../../../src/windows/native/sun/windows/awt_Pen.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/awt_Win32GraphicsDevice.h ../../../src/windows/native/sun/windows/colordata.h ../../../src/windows/native/sun/windows/Devices.h ../../../src/windows/native/sun/windows/GDIHashtable.h ../../../src/windows/native/sun/windows/Hashtable.h ../../../src/windows/native/sun/windows/ObjectList.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/ThreeByteBgr.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/Any3Byte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Trace.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h
+
+$(OBJDIR)/TransformHelper.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_loops_TransformHelper.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/pipe/Region.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Ushort4444Argb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort4444Argb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Ushort555Rgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Ushort555Rgbx.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort555Rgbx.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/Ushort565Rgb.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/Ushort4444Argb.h ../../../src/share/native/sun/java2d/loops/Ushort565Rgb.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/UshortGray.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyShort.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/UshortIndexed.obj:: $(CLASSHDRDIR)/java_awt_AlphaComposite.h ../../../src/share/javavm/export/jni.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/sun/java2d/loops/AlphaMacros.h ../../../src/share/native/sun/java2d/loops/AlphaMath.h ../../../src/share/native/sun/java2d/loops/AnyByte.h ../../../src/share/native/sun/java2d/loops/ByteGray.h ../../../src/share/native/sun/java2d/loops/ByteIndexed.h ../../../src/share/native/sun/java2d/loops/GlyphImageRef.h ../../../src/share/native/sun/java2d/loops/GraphicsPrimitiveMgr.h ../../../src/share/native/sun/java2d/loops/Index12Gray.h ../../../src/share/native/sun/java2d/loops/IntArgbBm.h ../../../src/share/native/sun/java2d/loops/IntArgb.h ../../../src/share/native/sun/java2d/loops/IntArgbPre.h ../../../src/share/native/sun/java2d/loops/IntDcm.h ../../../src/share/native/sun/java2d/loops/IntRgb.h ../../../src/share/native/sun/java2d/loops/LineUtils.h ../../../src/share/native/sun/java2d/loops/LoopMacros.h ../../../src/share/native/sun/java2d/loops/ThreeByteBgr.h ../../../src/share/native/sun/java2d/loops/UshortGray.h ../../../src/share/native/sun/java2d/loops/UshortIndexed.h ../../../src/share/native/sun/java2d/pipe/SpanIterator.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/sun/java2d/j2d_md.h
+
+$(OBJDIR)/WGLGraphicsConfig.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_WGLGraphicsConfig.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h ../../../src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h ../../../src/windows/native/sun/java2d/opengl/WGLSurfaceData.h
+
+$(OBJDIR)/WGLSurfaceData.obj:: $(CLASSHDRDIR)/java_awt_image_AffineTransformOp.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLContext.h $(CLASSHDRDIR)/sun_java2d_opengl_OGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_opengl_WGLSurfaceData.h $(CLASSHDRDIR)/sun_java2d_pipe_BufferedContext.h $(CLASSHDRDIR)/sun_java2d_pipe_hw_AccelSurface.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/gdefs.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/glext.h ../../../src/share/native/sun/java2d/opengl/J2D_GL/gl.h ../../../src/share/native/sun/java2d/opengl/OGLContext.h ../../../src/share/native/sun/java2d/opengl/OGLFuncMacros.h ../../../src/share/native/sun/java2d/opengl/OGLFuncs.h ../../../src/share/native/sun/java2d/opengl/OGLRenderQueue.h ../../../src/share/native/sun/java2d/opengl/OGLSurfaceData.h ../../../src/share/native/sun/java2d/SurfaceData.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/gdefs_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/j2d_md.h ../../../src/windows/native/sun/java2d/opengl/J2D_GL/wglext.h ../../../src/windows/native/sun/java2d/opengl/OGLFuncs_md.h ../../../src/windows/native/sun/java2d/opengl/WGLGraphicsConfig.h ../../../src/windows/native/sun/java2d/opengl/WGLSurfaceData.h
+
+$(OBJDIR)/WindowsFlags.obj:: ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/java2d/windows/WindowsFlags.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/stdhdrs.h
+
+$(OBJDIR)/WPrinterJob.obj:: $(CLASSHDRDIR)/sun_awt_windows_WToolkit.h ../../../src/share/javavm/export/classfile_constants.h ../../../src/share/javavm/export/jni.h ../../../src/share/javavm/export/jvm.h ../../../src/share/native/common/jlong.h ../../../src/share/native/common/jni_util.h ../../../src/share/native/sun/awt/debug/debug_assert.h ../../../src/share/native/sun/awt/debug/debug_mem.h ../../../src/share/native/sun/awt/debug/debug_trace.h ../../../src/share/native/sun/awt/debug/debug_util.h ../../../src/share/native/sun/java2d/Trace.h ../../../src/windows/javavm/export/jni_md.h ../../../src/windows/javavm/export/jvm_md.h ../../../src/windows/native/common/jlong_md.h ../../../src/windows/native/sun/windows/alloc.h ../../../src/windows/native/sun/windows/awt_Debug.h ../../../src/windows/native/sun/windows/awt.h ../../../src/windows/native/sun/windows/awtmsg.h ../../../src/windows/native/sun/windows/awt_PrintControl.h ../../../src/windows/native/sun/windows/awt_Toolkit.h ../../../src/windows/native/sun/windows/stdhdrs.h
--- a/jdk/src/share/classes/java/awt/GraphicsEnvironment.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/awt/GraphicsEnvironment.java Wed Feb 17 10:24:30 2010 -0800
@@ -110,7 +110,7 @@
// long t1 = System.currentTimeMillis();
// System.out.println("GE creation took " + (t1-t0)+ "ms.");
if (isHeadless()) {
- localEnv = new HeadlessGraphicsEnvironment(localEnv);
+ ge = new HeadlessGraphicsEnvironment(ge);
}
} catch (ClassNotFoundException e) {
throw new Error("Could not find class: "+nm);
--- a/jdk/src/share/classes/java/beans/DefaultPersistenceDelegate.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/beans/DefaultPersistenceDelegate.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2010 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
@@ -146,6 +146,8 @@
* @param out The code output stream.
* @return An expression whose value is <code>oldInstance</code>.
*
+ * @throws NullPointerException if {@code out} is {@code null}
+ *
* @see #DefaultPersistenceDelegate(String[])
*/
protected Expression instantiate(Object oldInstance, Encoder out) {
@@ -367,6 +369,8 @@
* @param newInstance The instance that is to be modified.
* @param out The stream to which any initialization statements should be written.
*
+ * @throws NullPointerException if {@code out} is {@code null}
+ *
* @see java.beans.Introspector#getBeanInfo
* @see java.beans.PropertyDescriptor
*/
--- a/jdk/src/share/classes/java/beans/Encoder.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/beans/Encoder.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2010 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
@@ -112,54 +112,82 @@
/**
* Returns the persistence delegate for the given type.
- * The persistence delegate is calculated
- * by applying the following of rules in order:
- * <ul>
+ * The persistence delegate is calculated by applying
+ * the following rules in order:
+ * <ol>
+ * <li>
+ * If a persistence delegate is associated with the given type
+ * by using the {@link #setPersistenceDelegate} method
+ * it is returned.
* <li>
- * If the type is an array, an internal persistence
- * delegate is returned which will instantiate an
- * array of the appropriate type and length, initializing
- * each of its elements as if they are properties.
+ * A persistence delegate is then looked up by the name
+ * composed of the the fully qualified name of the given type
+ * and the "PersistenceDelegate" postfix.
+ * For example, a persistence delegate for the {@code Bean} class
+ * should be named {@code BeanPersistenceDelegate}
+ * and located in the same package.
+ * <pre>
+ * public class Bean { ... }
+ * public class BeanPersistenceDelegate { ... }</pre>
+ * The instance of the {@code BeanPersistenceDelegate} class
+ * is returned for the {@code Bean} class.
+ * <li>
+ * If the type is {@code null},
+ * a shared internal persistence delegate is returned
+ * that encodes {@code null} value.
* <li>
- * If the type is a proxy, an internal persistence
- * delegate is returned which will instantiate a
- * new proxy instance using the static
- * "newProxyInstance" method defined in the
- * Proxy class.
+ * If the type is a {@code enum} declaration,
+ * a shared internal persistence delegate is returned
+ * that encodes constants of this enumeration
+ * by their names.
+ * <li>
+ * If the type is a primitive type or the corresponding wrapper,
+ * a shared internal persistence delegate is returned
+ * that encodes values of the given type.
+ * <li>
+ * If the type is an array,
+ * a shared internal persistence delegate is returned
+ * that encodes an array of the appropriate type and length,
+ * and each of its elements as if they are properties.
* <li>
- * If the BeanInfo for this type has a <code>BeanDescriptor</code>
- * which defined a "persistenceDelegate" property, this
- * value is returned.
+ * If the type is a proxy,
+ * a shared internal persistence delegate is returned
+ * that encodes a proxy instance by using
+ * the {@link java.lang.reflect.Proxy#newProxyInstance} method.
* <li>
- * In all other cases the default persistence delegate
- * is returned. The default persistence delegate assumes
- * the type is a <em>JavaBean</em>, implying that it has a default constructor
- * and that its state may be characterized by the matching pairs
- * of "setter" and "getter" methods returned by the Introspector.
+ * If the {@link BeanInfo} for this type has a {@link BeanDescriptor}
+ * which defined a "persistenceDelegate" attribute,
+ * the value of this named attribute is returned.
+ * <li>
+ * In all other cases the default persistence delegate is returned.
+ * The default persistence delegate assumes the type is a <em>JavaBean</em>,
+ * implying that it has a default constructor and that its state
+ * may be characterized by the matching pairs of "setter" and "getter"
+ * methods returned by the {@link Introspector} class.
* The default constructor is the constructor with the greatest number
* of parameters that has the {@link ConstructorProperties} annotation.
- * If none of the constructors have the {@code ConstructorProperties} annotation,
+ * If none of the constructors has the {@code ConstructorProperties} annotation,
* then the nullary constructor (constructor with no parameters) will be used.
- * For example, in the following the nullary constructor
- * for {@code Foo} will be used, while the two parameter constructor
- * for {@code Bar} will be used.
- * <code>
- * public class Foo {
+ * For example, in the following code fragment, the nullary constructor
+ * for the {@code Foo} class will be used,
+ * while the two-parameter constructor
+ * for the {@code Bar} class will be used.
+ * <pre>
+ * public class Foo {
* public Foo() { ... }
* public Foo(int x) { ... }
- * }
- * public class Bar {
+ * }
+ * public class Bar {
* public Bar() { ... }
* @ConstructorProperties({"x"})
* public Bar(int x) { ... }
* @ConstructorProperties({"x", "y"})
* public Bar(int x, int y) { ... }
- * }
- * </code>
- * </ul>
+ * }</pre>
+ * </ol>
*
- * @param type The type of the object.
- * @return The persistence delegate for this type of object.
+ * @param type the class of the objects
+ * @return the persistence delegate for the given type
*
* @see #setPersistenceDelegate
* @see java.beans.Introspector#getBeanInfo
@@ -176,21 +204,18 @@
}
/**
- * Sets the persistence delegate associated with this <code>type</code> to
- * <code>persistenceDelegate</code>.
+ * Associates the specified persistence delegate with the given type.
*
- * @param type The class of objects that <code>persistenceDelegate</code> applies to.
- * @param persistenceDelegate The persistence delegate for instances of <code>type</code>.
+ * @param type the class of objects that the specified persistence delegate applies to
+ * @param delegate the persistence delegate for instances of the given type
*
* @see #getPersistenceDelegate
* @see java.beans.Introspector#getBeanInfo
* @see java.beans.BeanInfo#getBeanDescriptor
*/
- public void setPersistenceDelegate(Class<?> type,
- PersistenceDelegate persistenceDelegate)
- {
+ public void setPersistenceDelegate(Class<?> type, PersistenceDelegate delegate) {
synchronized (this.finder) {
- this.finder.register(type, persistenceDelegate);
+ this.finder.register(type, delegate);
}
}
--- a/jdk/src/share/classes/java/beans/Expression.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/beans/Expression.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2010 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
@@ -51,12 +51,19 @@
private Object value = unbound;
/**
- * Creates a new <code>Statement</code> object with a <code>target</code>,
- * <code>methodName</code> and <code>arguments</code> as per the parameters.
+ * Creates a new {@link Expression} object
+ * for the specified target object to invoke the method
+ * specified by the name and by the array of arguments.
+ * <p>
+ * The {@code target} and the {@code methodName} values should not be {@code null}.
+ * Otherwise an attempt to execute this {@code Expression}
+ * will result in a {@code NullPointerException}.
+ * If the {@code arguments} value is {@code null},
+ * an empty array is used as the value of the {@code arguments} property.
*
- * @param target The target of this expression.
- * @param methodName The methodName of this expression.
- * @param arguments The arguments of this expression. If <code>null</code> then an empty array will be used.
+ * @param target the target object of this expression
+ * @param methodName the name of the method to invoke on the specified target
+ * @param arguments the array of arguments to invoke the specified method
*
* @see #getValue
*/
@@ -66,16 +73,23 @@
}
/**
- * Creates a new <code>Expression</code> object for a method
- * that returns a result. The result will never be calculated
- * however, since this constructor uses the <code>value</code>
- * parameter to set the value property by calling the
- * <code>setValue</code> method.
+ * Creates a new {@link Expression} object with the specified value
+ * for the specified target object to invoke the method
+ * specified by the name and by the array of arguments.
+ * The {@code value} value is used as the value of the {@code value} property,
+ * so the {@link #getValue} method will return it
+ * without executing this {@code Expression}.
+ * <p>
+ * The {@code target} and the {@code methodName} values should not be {@code null}.
+ * Otherwise an attempt to execute this {@code Expression}
+ * will result in a {@code NullPointerException}.
+ * If the {@code arguments} value is {@code null},
+ * an empty array is used as the value of the {@code arguments} property.
*
- * @param value The value of this expression.
- * @param target The target of this expression.
- * @param methodName The methodName of this expression.
- * @param arguments The arguments of this expression. If <code>null</code> then an empty array will be used.
+ * @param value the value of this expression
+ * @param target the target object of this expression
+ * @param methodName the name of the method to invoke on the specified target
+ * @param arguments the array of arguments to invoke the specified method
*
* @see #setValue
*/
--- a/jdk/src/share/classes/java/beans/Introspector.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/beans/Introspector.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1996-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1996-2010 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
@@ -29,6 +29,8 @@
import com.sun.beans.finder.BeanInfoFinder;
import com.sun.beans.finder.ClassFinder;
+import java.lang.ref.Reference;
+import java.lang.ref.SoftReference;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
@@ -39,6 +41,7 @@
import java.util.EventListener;
import java.util.List;
import java.util.TreeMap;
+import java.util.WeakHashMap;
import sun.awt.AppContext;
import sun.reflect.misc.ReflectUtil;
@@ -155,11 +158,11 @@
return (new Introspector(beanClass, null, USE_ALL_BEANINFO)).getBeanInfo();
}
synchronized (BEANINFO_CACHE) {
- WeakCache<Class<?>, BeanInfo> beanInfoCache =
- (WeakCache<Class<?>, BeanInfo>) AppContext.getAppContext().get(BEANINFO_CACHE);
+ Map<Class<?>, BeanInfo> beanInfoCache =
+ (Map<Class<?>, BeanInfo>) AppContext.getAppContext().get(BEANINFO_CACHE);
if (beanInfoCache == null) {
- beanInfoCache = new WeakCache<Class<?>, BeanInfo>();
+ beanInfoCache = new WeakHashMap<Class<?>, BeanInfo>();
AppContext.getAppContext().put(BEANINFO_CACHE, beanInfoCache);
}
BeanInfo beanInfo = beanInfoCache.get(beanClass);
@@ -341,7 +344,7 @@
public static void flushCaches() {
synchronized (BEANINFO_CACHE) {
- WeakCache beanInfoCache = (WeakCache) AppContext.getAppContext().get(BEANINFO_CACHE);
+ Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
if (beanInfoCache != null) {
beanInfoCache.clear();
}
@@ -369,7 +372,7 @@
throw new NullPointerException();
}
synchronized (BEANINFO_CACHE) {
- WeakCache beanInfoCache = (WeakCache) AppContext.getAppContext().get(BEANINFO_CACHE);
+ Map beanInfoCache = (Map) AppContext.getAppContext().get(BEANINFO_CACHE);
if (beanInfoCache != null) {
beanInfoCache.put(clz, null);
}
@@ -1458,7 +1461,7 @@
private PropertyDescriptor[] properties;
private int defaultProperty;
private MethodDescriptor[] methods;
- private BeanInfo targetBeanInfo;
+ private final Reference<BeanInfo> targetBeanInfoRef;
public GenericBeanInfo(BeanDescriptor beanDescriptor,
EventSetDescriptor[] events, int defaultEvent,
@@ -1470,7 +1473,7 @@
this.properties = properties;
this.defaultProperty = defaultProperty;
this.methods = methods;
- this.targetBeanInfo = targetBeanInfo;
+ this.targetBeanInfoRef = new SoftReference<BeanInfo>(targetBeanInfo);
}
/**
@@ -1509,7 +1512,7 @@
methods[i] = new MethodDescriptor(old.methods[i]);
}
}
- targetBeanInfo = old.targetBeanInfo;
+ this.targetBeanInfoRef = old.targetBeanInfoRef;
}
public PropertyDescriptor[] getPropertyDescriptors() {
@@ -1537,6 +1540,7 @@
}
public java.awt.Image getIcon(int iconKind) {
+ BeanInfo targetBeanInfo = this.targetBeanInfoRef.get();
if (targetBeanInfo != null) {
return targetBeanInfo.getIcon(iconKind);
}
--- a/jdk/src/share/classes/java/beans/PersistenceDelegate.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/beans/PersistenceDelegate.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2010 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
@@ -105,6 +105,8 @@
*
* @param oldInstance The instance that will be created by this expression.
* @param out The stream to which this expression will be written.
+ *
+ * @throws NullPointerException if {@code out} is {@code null}
*/
public void writeObject(Object oldInstance, Encoder out) {
Object newInstance = out.get(oldInstance);
@@ -158,6 +160,8 @@
* @param oldInstance The instance that will be created by this expression.
* @param out The stream to which this expression will be written.
* @return An expression whose value is <code>oldInstance</code>.
+ *
+ * @throws NullPointerException if {@code out} is {@code null}
*/
protected abstract Expression instantiate(Object oldInstance, Encoder out);
@@ -196,6 +200,8 @@
* @param oldInstance The instance to be copied.
* @param newInstance The instance that is to be modified.
* @param out The stream to which any initialization statements should be written.
+ *
+ * @throws NullPointerException if {@code out} is {@code null}
*/
protected void initialize(Class<?> type,
Object oldInstance, Object newInstance,
--- a/jdk/src/share/classes/java/beans/Statement.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/beans/Statement.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2010 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
@@ -69,13 +69,19 @@
ClassLoader loader;
/**
- * Creates a new <code>Statement</code> object with a <code>target</code>,
- * <code>methodName</code> and <code>arguments</code> as per the parameters.
+ * Creates a new {@link Statement} object
+ * for the specified target object to invoke the method
+ * specified by the name and by the array of arguments.
+ * <p>
+ * The {@code target} and the {@code methodName} values should not be {@code null}.
+ * Otherwise an attempt to execute this {@code Expression}
+ * will result in a {@code NullPointerException}.
+ * If the {@code arguments} value is {@code null},
+ * an empty array is used as the value of the {@code arguments} property.
*
- * @param target The target of this statement.
- * @param methodName The methodName of this statement.
- * @param arguments The arguments of this statement. If <code>null</code> then an empty array will be used.
- *
+ * @param target the target object of this statement
+ * @param methodName the name of the method to invoke on the specified target
+ * @param arguments the array of arguments to invoke the specified method
*/
@ConstructorProperties({"target", "methodName", "arguments"})
public Statement(Object target, String methodName, Object[] arguments) {
@@ -85,27 +91,36 @@
}
/**
- * Returns the target of this statement.
+ * Returns the target object of this statement.
+ * If this method returns {@code null},
+ * the {@link #execute} method
+ * throws a {@code NullPointerException}.
*
- * @return The target of this statement.
+ * @return the target object of this statement
*/
public Object getTarget() {
return target;
}
/**
- * Returns the name of the method.
+ * Returns the name of the method to invoke.
+ * If this method returns {@code null},
+ * the {@link #execute} method
+ * throws a {@code NullPointerException}.
*
- * @return The name of the method.
+ * @return the name of the method
*/
public String getMethodName() {
return methodName;
}
/**
- * Returns the arguments of this statement.
+ * Returns the arguments for the method to invoke.
+ * The number of arguments and their types
+ * must match the method being called.
+ * {@code null} can be used as a synonym of an empty array.
*
- * @return the arguments of this statement.
+ * @return the array of arguments
*/
public Object[] getArguments() {
return arguments;
@@ -154,6 +169,9 @@
}
Object[] arguments = getArguments();
+ if (arguments == null) {
+ arguments = emptyArray;
+ }
// Class.forName() won't load classes outside
// of core from a class inside core. Special
// case this method.
@@ -285,7 +303,9 @@
Object target = getTarget();
String methodName = getMethodName();
Object[] arguments = getArguments();
-
+ if (arguments == null) {
+ arguments = emptyArray;
+ }
StringBuffer result = new StringBuffer(instanceName(target) + "." + methodName + "(");
int n = arguments.length;
for(int i = 0; i < n; i++) {
--- a/jdk/src/share/classes/java/text/CollationElementIterator.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/text/CollationElementIterator.java Wed Feb 17 10:24:30 2010 -0800
@@ -232,7 +232,7 @@
buffer = makeReorderedBuffer(consonant, value, buffer, true);
value = buffer[0];
expIndex = 1;
- } else {
+ } else if (consonant != NormalizerBase.DONE) {
text.previous();
}
}
@@ -242,7 +242,7 @@
buffer = makeReorderedBuffer(consonant, value, buffer, true);
value = buffer[0];
expIndex = 1;
- } else {
+ } else if (consonant != NormalizerBase.DONE) {
text.previous();
}
}
--- a/jdk/src/share/classes/java/text/RuleBasedBreakIterator.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/text/RuleBasedBreakIterator.java Wed Feb 17 10:24:30 2010 -0800
@@ -621,6 +621,8 @@
return handleNext();
}
+ private int cachedLastKnownBreak = BreakIterator.DONE;
+
/**
* Advances the iterator backwards, to the last boundary preceding this one.
* @return The position of the last boundary position preceding this one.
@@ -638,8 +640,16 @@
// the current position), but not necessarily the last one before
// where we started
int start = current();
- getPrevious();
- int lastResult = handlePrevious();
+ int lastResult = cachedLastKnownBreak;
+ if (lastResult >= start || lastResult <= BreakIterator.DONE) {
+ getPrevious();
+ lastResult = handlePrevious();
+ } else {
+ //it might be better to check if handlePrevious() give us closer
+ //safe value but handlePrevious() is slow too
+ //So, this has to be done carefully
+ text.setIndex(lastResult);
+ }
int result = lastResult;
// iterate forward from the known break position until we pass our
@@ -653,6 +663,7 @@
// set the current iteration position to be the last break position
// before where we started, and then return that value
text.setIndex(lastResult);
+ cachedLastKnownBreak = lastResult;
return lastResult;
}
@@ -757,7 +768,8 @@
// then we can just use next() to get our return value
text.setIndex(offset);
if (offset == text.getBeginIndex()) {
- return handleNext();
+ cachedLastKnownBreak = handleNext();
+ return cachedLastKnownBreak;
}
// otherwise, we have to sync up first. Use handlePrevious() to back
@@ -767,10 +779,19 @@
// position at or before our starting position. Advance forward
// from here until we've passed the starting position. The position
// we stop on will be the first break position after the specified one.
- int result = handlePrevious();
+ int result = cachedLastKnownBreak;
+ if (result >= offset || result <= BreakIterator.DONE) {
+ result = handlePrevious();
+ } else {
+ //it might be better to check if handlePrevious() give us closer
+ //safe value but handlePrevious() is slow too
+ //So, this has to be done carefully
+ text.setIndex(result);
+ }
while (result != BreakIterator.DONE && result <= offset) {
result = handleNext();
}
+ cachedLastKnownBreak = result;
return result;
}
@@ -865,6 +886,8 @@
text = new SafeCharIterator(newText);
}
text.first();
+
+ cachedLastKnownBreak = BreakIterator.DONE;
}
--- a/jdk/src/share/classes/java/util/Date.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/java/util/Date.java Wed Feb 17 10:24:30 2010 -0800
@@ -953,7 +953,7 @@
* without affecting its internal state.
*/
static final long getMillisOf(Date date) {
- if (date.cdate == null) {
+ if (date.cdate == null || date.cdate.isNormalized()) {
return date.fastTime;
}
BaseCalendar.Date d = (BaseCalendar.Date) date.cdate.clone();
--- a/jdk/src/share/classes/javax/swing/MultiUIDefaults.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/MultiUIDefaults.java Wed Feb 17 10:24:30 2010 -0800
@@ -27,6 +27,7 @@
import java.util.Enumeration;
import java.util.HashSet;
+import java.util.Iterator;
import java.util.Locale;
import java.util.Map.Entry;
import java.util.Set;
@@ -89,11 +90,7 @@
@Override
public int size() {
- int n = super.size();
- for (UIDefaults table : tables) {
- n += (table != null) ? table.size() : 0;
- }
- return n;
+ return entrySet().size();
}
@Override
@@ -104,40 +101,26 @@
@Override
public Enumeration<Object> keys()
{
- Enumeration[] enums = new Enumeration[1 + tables.length];
- enums[0] = super.keys();
- for(int i = 0; i < tables.length; i++) {
- UIDefaults table = tables[i];
- if (table != null) {
- enums[i + 1] = table.keys();
- }
- }
- return new MultiUIDefaultsEnumerator(enums);
+ return new MultiUIDefaultsEnumerator(
+ MultiUIDefaultsEnumerator.Type.KEYS, entrySet());
}
@Override
public Enumeration<Object> elements()
{
- Enumeration[] enums = new Enumeration[1 + tables.length];
- enums[0] = super.elements();
- for(int i = 0; i < tables.length; i++) {
- UIDefaults table = tables[i];
- if (table != null) {
- enums[i + 1] = table.elements();
- }
- }
- return new MultiUIDefaultsEnumerator(enums);
+ return new MultiUIDefaultsEnumerator(
+ MultiUIDefaultsEnumerator.Type.ELEMENTS, entrySet());
}
@Override
public Set<Entry<Object, Object>> entrySet() {
Set<Entry<Object, Object>> set = new HashSet<Entry<Object, Object>>();
- if (tables == null) return set;
- for (UIDefaults table : tables) {
- if (table != null) {
- set.addAll(table.entrySet());
+ for (int i = tables.length - 1; i >= 0; i--) {
+ if (tables[i] != null) {
+ set.addAll(tables[i].entrySet());
}
}
+ set.addAll(super.entrySet());
return set;
}
@@ -152,50 +135,46 @@
private static class MultiUIDefaultsEnumerator implements Enumeration<Object>
{
- Enumeration[] enums;
- int n = 0;
+ public static enum Type { KEYS, ELEMENTS };
+ private Iterator<Entry<Object, Object>> iterator;
+ private Type type;
- MultiUIDefaultsEnumerator(Enumeration[] enums) {
- this.enums = enums;
+ MultiUIDefaultsEnumerator(Type type, Set<Entry<Object, Object>> entries) {
+ this.type = type;
+ this.iterator = entries.iterator();
}
public boolean hasMoreElements() {
- for(int i = n; i < enums.length; i++) {
- Enumeration e = enums[i];
- if ((e != null) && (e.hasMoreElements())) {
- return true;
- }
- }
- return false;
+ return iterator.hasNext();
}
public Object nextElement() {
- for(; n < enums.length; n++) {
- Enumeration e = enums[n];
- if ((e != null) && (e.hasMoreElements())) {
- return e.nextElement();
- }
+ switch (type) {
+ case KEYS: return iterator.next().getKey();
+ case ELEMENTS: return iterator.next().getValue();
+ default: return null;
}
- return null;
}
}
@Override
public Object remove(Object key)
{
- Object value = super.remove(key);
- if (value != null) {
- return value;
+ Object value = null;
+ for (int i = tables.length - 1; i >= 0; i--) {
+ if (tables[i] != null) {
+ Object v = tables[i].remove(key);
+ if (v != null) {
+ value = v;
+ }
+ }
+ }
+ Object v = super.remove(key);
+ if (v != null) {
+ value = v;
}
- for (UIDefaults table : tables) {
- value = (table != null) ? table.remove(key) : null;
- if (value != null) {
- return value;
- }
- }
-
- return null;
+ return value;
}
@Override
--- a/jdk/src/share/classes/javax/swing/TransferHandler.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/TransferHandler.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2009 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
@@ -627,6 +627,69 @@
this(null);
}
+
+ /**
+ * image for the {@code startDrag} method
+ *
+ * @see java.awt.dnd.DragGestureEvent#startDrag(Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl)
+ */
+ private Image dragImage;
+
+ /**
+ * anchor offset for the {@code startDrag} method
+ *
+ * @see java.awt.dnd.DragGestureEvent#startDrag(Cursor dragCursor, Image dragImage, Point imageOffset, Transferable transferable, DragSourceListener dsl)
+ */
+ private Point dragImageOffset;
+
+ /**
+ * Sets the drag image parameter. The image has to be prepared
+ * for rendering by the moment of the call. The image is stored
+ * by reference because of some performance reasons.
+ *
+ * @param img an image to drag
+ */
+ public void setDragImage(Image img) {
+ dragImage = img;
+ }
+
+ /**
+ * Returns the drag image. If there is no image to drag,
+ * the returned value is {@code null}.
+ *
+ * @return the reference to the drag image
+ */
+ public Image getDragImage() {
+ return dragImage;
+ }
+
+ /**
+ * Sets an anchor offset for the image to drag.
+ * It can not be {@code null}.
+ *
+ * @param p a {@code Point} object that corresponds
+ * to coordinates of an anchor offset of the image
+ * relative to the upper left corner of the image
+ */
+ public void setDragImageOffset(Point p) {
+ dragImageOffset = new Point(p);
+ }
+
+ /**
+ * Returns an anchor offset for the image to drag.
+ *
+ * @return a {@code Point} object that corresponds
+ * to coordinates of an anchor offset of the image
+ * relative to the upper left corner of the image.
+ * The point {@code (0,0)} returns by default.
+ */
+ public Point getDragImageOffset() {
+ if (dragImageOffset == null) {
+ return new Point(0,0);
+ }
+ return new Point(dragImageOffset);
+ }
+
/**
* Causes the Swing drag support to be initiated. This is called by
* the various UI implementations in the <code>javax.swing.plaf.basic</code>
@@ -1522,7 +1585,12 @@
scrolls = c.getAutoscrolls();
c.setAutoscrolls(false);
try {
- dge.startDrag(null, t, this);
+ Image im = th.getDragImage();
+ if (im == null) {
+ dge.startDrag(null, t, this);
+ } else {
+ dge.startDrag(null, im, th.getDragImageOffset(), t, this);
+ }
return;
} catch (RuntimeException re) {
c.setAutoscrolls(scrolls);
--- a/jdk/src/share/classes/javax/swing/plaf/nimbus/Defaults.template Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/Defaults.template Wed Feb 17 10:24:30 2010 -0800
@@ -90,6 +90,10 @@
*/
private Map<String, Region> registeredRegions =
new HashMap<String, Region>();
+
+ private Map<JComponent, Map<Region, SynthStyle>> overridesCache =
+ new WeakHashMap<JComponent, Map<Region, SynthStyle>>();
+
/**
* Our fallback style to avoid NPEs if the proper style cannot be found in
* this class. Not sure if relying on DefaultSynthStyle is the best choice.
@@ -251,7 +255,11 @@
}
//return the style, if found, or the default style if not found
- return foundStyle == null ? defaultStyle : foundStyle.getStyle(comp);
+ return foundStyle == null ? defaultStyle : foundStyle.getStyle(comp, r);
+ }
+
+ public void clearOverridesCache(JComponent c) {
+ overridesCache.remove(c);
}
/*
@@ -457,15 +465,6 @@
* Cached shared style.
*/
private NimbusStyle style;
- /**
- * A weakly referenced hash map such that if the reference JComponent
- * key is garbage collected then the entry is removed from the map.
- * This cache exists so that when a JComponent has nimbus overrides
- * in its client map, a unique style will be created and returned
- * for that JComponent instance, always. In such a situation each
- * JComponent instance must have its own instance of NimbusStyle.
- */
- private WeakHashMap<JComponent, WeakReference<NimbusStyle>> overridesCache;
/**
* Create a new LazyStyle.
@@ -513,17 +512,21 @@
* Gets the style. Creates it if necessary.
* @return the style
*/
- SynthStyle getStyle(JComponent c) {
+ SynthStyle getStyle(JComponent c, Region r) {
// if the component has overrides, it gets its own unique style
// instead of the shared style.
if (c.getClientProperty("Nimbus.Overrides") != null) {
- if (overridesCache == null)
- overridesCache = new WeakHashMap<JComponent, WeakReference<NimbusStyle>>();
- WeakReference<NimbusStyle> ref = overridesCache.get(c);
- NimbusStyle s = ref == null ? null : ref.get();
+ Map<Region, SynthStyle> map = overridesCache.get(c);
+ SynthStyle s = null;
+ if (map == null) {
+ map = new HashMap<Region, SynthStyle>();
+ overridesCache.put(c, map);
+ } else {
+ s = map.get(r);
+ }
if (s == null) {
s = new NimbusStyle(prefix, c);
- overridesCache.put(c, new WeakReference<NimbusStyle>(s));
+ map.put(r, s);
}
return s;
}
--- a/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/nimbus/NimbusLookAndFeel.java Wed Feb 17 10:24:30 2010 -0800
@@ -280,11 +280,15 @@
protected boolean shouldUpdateStyleOnEvent(PropertyChangeEvent ev) {
String eName = ev.getPropertyName();
- // Always update when overrides or size variant change
- if ("Nimbus.Overrides" == eName ||
+ // These properties affect style cached inside NimbusDefaults (6860433)
+ if ("name" == eName ||
+ "ancestor" == eName ||
+ "Nimbus.Overrides" == eName ||
"Nimbus.Overrides.InheritDefaults" == eName ||
"JComponent.sizeVariant" == eName) {
+ JComponent c = (JComponent) ev.getSource();
+ defaults.clearOverridesCache(c);
return true;
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthButtonUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -237,7 +237,16 @@
// ********************************
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -250,7 +259,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -264,7 +279,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
AbstractButton b = (AbstractButton)context.getComponent();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthColorChooserUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthColorChooserUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -137,7 +137,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -151,7 +160,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -166,7 +181,8 @@
* This implementation does not perform any actions.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthComboBoxUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -305,7 +305,16 @@
// begin ComponentUI Implementation
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -319,7 +328,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -333,7 +348,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
hasFocus = comboBox.hasFocus();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopIconUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -152,7 +152,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -166,7 +175,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -180,7 +195,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthDesktopPaneUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -439,7 +439,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -453,7 +462,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -467,7 +482,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthEditorPaneUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -148,7 +148,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -164,7 +173,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
super.paint(g, getComponent());
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthInternalFrameUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -194,7 +194,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -208,7 +217,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -222,7 +237,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthLabelUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -156,12 +156,16 @@
}
/**
- * Notifies this UI delegate that it's time to paint the specified
- * component. This method is invoked by <code>JComponent</code>
- * when the specified component is being painted.
- */
- /**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -175,7 +179,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -189,7 +199,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
JLabel label = (JLabel)context.getComponent();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthListUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -57,7 +57,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint
*/
@Override
public void update(Graphics g, JComponent c) {
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuBarUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -125,7 +125,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -139,7 +148,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -153,7 +168,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuItemUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuItemUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -227,7 +227,16 @@
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -240,7 +249,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -254,7 +269,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
SynthContext accContext = getContext(menuItem,
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthMenuUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -227,7 +227,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -241,7 +250,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -255,7 +270,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
SynthContext accContext = getContext(menuItem,
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthOptionPaneUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -149,7 +149,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -163,7 +172,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -177,7 +192,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPanelUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPanelUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -136,7 +136,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -150,7 +159,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -164,7 +179,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
// do actual painting
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthPopupMenuUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -132,7 +132,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -146,7 +155,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -160,7 +175,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthProgressBarUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -193,7 +193,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -208,7 +217,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -222,7 +237,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
JProgressBar pBar = (JProgressBar)context.getComponent();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthRootPaneUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -102,7 +102,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -116,7 +125,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -130,7 +145,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollBarUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -222,7 +222,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -237,7 +246,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -251,7 +266,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
SynthContext subcontext = getContext(scrollbar,
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthScrollPaneUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -64,7 +64,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -78,7 +87,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -92,7 +107,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
Border vpBorder = scrollpane.getViewportBorder();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSeparatorUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSeparatorUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -135,7 +135,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -151,7 +160,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -165,7 +180,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
JSeparator separator = (JSeparator)context.getComponent();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSliderUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSliderUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -788,7 +788,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -802,7 +811,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -815,7 +830,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
recalculateIfInsetsChanged();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSpinnerUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -283,7 +283,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -298,7 +307,13 @@
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -312,7 +327,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthSplitPaneUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -269,7 +269,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -283,7 +292,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -297,7 +312,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
// This is done to update package private variables in
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTabbedPaneUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -92,8 +92,8 @@
private SynthStyle tabAreaStyle;
private SynthStyle tabContentStyle;
- private Rectangle textRect;
- private Rectangle iconRect;
+ private Rectangle textRect = new Rectangle();
+ private Rectangle iconRect = new Rectangle();
private Rectangle tabAreaBounds = new Rectangle();
@@ -115,11 +115,6 @@
return new SynthTabbedPaneUI();
}
- private SynthTabbedPaneUI() {
- textRect = new Rectangle();
- iconRect = new Rectangle();
- }
-
private boolean scrollableTabLayoutEnabled() {
return (tabPane.getTabLayoutPolicy() == JTabbedPane.SCROLL_TAB_LAYOUT);
}
@@ -362,7 +357,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -409,7 +413,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -423,7 +433,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
int selectedIndex = tabPane.getSelectedIndex();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableHeaderUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -123,7 +123,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -137,7 +146,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -151,7 +166,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
super.paint(g, context.getComponent());
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTableUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -256,7 +256,16 @@
//
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -279,7 +288,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -293,7 +308,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
Rectangle clip = g.getClipBounds();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTextAreaUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTextAreaUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -123,7 +123,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -140,7 +149,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
super.paint(g, getComponent());
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTextFieldUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTextFieldUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -161,7 +161,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -182,7 +191,8 @@
* model to potentially be updated asynchronously.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
super.paint(g, getComponent());
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolBarUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -198,7 +198,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -213,7 +222,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -258,7 +273,8 @@
* Paints the toolbar.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
if (handleIcon != null && toolBar.isFloatable()) {
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthToolTipUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -121,7 +121,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -144,7 +153,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -158,7 +173,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
JToolTip tip = (JToolTip)context.getComponent();
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthTreeUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -250,7 +250,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -273,7 +282,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -287,7 +302,8 @@
* Paints the specified component.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
paintContext = context;
--- a/jdk/src/share/classes/javax/swing/plaf/synth/SynthViewportUI.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/javax/swing/plaf/synth/SynthViewportUI.java Wed Feb 17 10:24:30 2010 -0800
@@ -150,7 +150,16 @@
}
/**
- * @inheritDoc
+ * Notifies this UI delegate to repaint the specified component.
+ * This method paints the component background, then calls
+ * the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * <p>In general, this method does not need to be overridden by subclasses.
+ * All Look and Feel rendering code should reside in the {@code paint} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void update(Graphics g, JComponent c) {
@@ -174,7 +183,13 @@
}
/**
- * @inheritDoc
+ * Paints the specified component according to the Look and Feel.
+ * <p>This method is not used by Synth Look and Feel.
+ * Painting is handled by the {@link #paint(SynthContext,Graphics)} method.
+ *
+ * @param g the {@code Graphics} object used for painting
+ * @param c the component being painted
+ * @see #paint(SynthContext,Graphics)
*/
@Override
public void paint(Graphics g, JComponent c) {
@@ -188,7 +203,8 @@
* Paints the specified component. This implementation does nothing.
*
* @param context context for the component being painted
- * @param g {@code Graphics} object used for painting
+ * @param g the {@code Graphics} object used for painting
+ * @see #update(Graphics,JComponent)
*/
protected void paint(SynthContext context, Graphics g) {
}
--- a/jdk/src/share/classes/sun/awt/ExtendedKeyCodes.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/sun/awt/ExtendedKeyCodes.java Wed Feb 17 10:24:30 2010 -0800
@@ -13,7 +13,7 @@
*/
// Keycodes declared in KeyEvent.java with corresponding Unicode values.
private final static HashMap<Integer, Integer> regularKeyCodesMap =
- new HashMap<Integer,Integer>(122, 1.0f);
+ new HashMap<Integer,Integer>(83, 1.0f);
// Keycodes derived from Unicode values. Here should be collected codes
// for characters appearing on the primary layer of at least one
@@ -22,7 +22,6 @@
private final static HashSet<Integer> extendedKeyCodesSet =
new HashSet<Integer>(501, 1.0f);
final public static int getExtendedKeyCodeForChar( int c ) {
- int rc = KeyEvent.VK_UNDEFINED;
int uc = Character.toUpperCase( c );
int lc = Character.toLowerCase( c );
if (regularKeyCodesMap.containsKey( c )) {
@@ -38,22 +37,25 @@
}else if (extendedKeyCodesSet.contains( lc )) {
return lc;
}
- return rc;
+ return KeyEvent.VK_UNDEFINED;
}
static {
- regularKeyCodesMap.put(0x0a, KeyEvent.VK_ENTER);
regularKeyCodesMap.put(0x08, KeyEvent.VK_BACK_SPACE);
regularKeyCodesMap.put(0x09, KeyEvent.VK_TAB);
+ regularKeyCodesMap.put(0x0a, KeyEvent.VK_ENTER);
regularKeyCodesMap.put(0x1B, KeyEvent.VK_ESCAPE);
+ regularKeyCodesMap.put(0x20AC, KeyEvent.VK_EURO_SIGN);
regularKeyCodesMap.put(0x20, KeyEvent.VK_SPACE);
- regularKeyCodesMap.put(0x21, KeyEvent.VK_PAGE_UP);
- regularKeyCodesMap.put(0x22, KeyEvent.VK_PAGE_DOWN);
- regularKeyCodesMap.put(0x23, KeyEvent.VK_END);
- regularKeyCodesMap.put(0x24, KeyEvent.VK_HOME);
- regularKeyCodesMap.put(0x25, KeyEvent.VK_LEFT);
- regularKeyCodesMap.put(0x26, KeyEvent.VK_UP);
- regularKeyCodesMap.put(0x27, KeyEvent.VK_RIGHT);
- regularKeyCodesMap.put(0x28, KeyEvent.VK_DOWN);
+ regularKeyCodesMap.put(0x21, KeyEvent.VK_EXCLAMATION_MARK);
+ regularKeyCodesMap.put(0x22, KeyEvent.VK_QUOTEDBL);
+ regularKeyCodesMap.put(0x23, KeyEvent.VK_NUMBER_SIGN);
+ regularKeyCodesMap.put(0x24, KeyEvent.VK_DOLLAR);
+ regularKeyCodesMap.put(0x26, KeyEvent.VK_AMPERSAND);
+ regularKeyCodesMap.put(0x27, KeyEvent.VK_QUOTE);
+ regularKeyCodesMap.put(0x28, KeyEvent.VK_LEFT_PARENTHESIS);
+ regularKeyCodesMap.put(0x29, KeyEvent.VK_RIGHT_PARENTHESIS);
+ regularKeyCodesMap.put(0x2A, KeyEvent.VK_ASTERISK);
+ regularKeyCodesMap.put(0x2B, KeyEvent.VK_PLUS);
regularKeyCodesMap.put(0x2C, KeyEvent.VK_COMMA);
regularKeyCodesMap.put(0x2D, KeyEvent.VK_MINUS);
regularKeyCodesMap.put(0x2E, KeyEvent.VK_PERIOD);
@@ -68,102 +70,59 @@
regularKeyCodesMap.put(0x37, KeyEvent.VK_7);
regularKeyCodesMap.put(0x38, KeyEvent.VK_8);
regularKeyCodesMap.put(0x39, KeyEvent.VK_9);
+ regularKeyCodesMap.put(0x3A, KeyEvent.VK_COLON);
regularKeyCodesMap.put(0x3B, KeyEvent.VK_SEMICOLON);
+ regularKeyCodesMap.put(0x3C, KeyEvent.VK_LESS);
regularKeyCodesMap.put(0x3D, KeyEvent.VK_EQUALS);
+ regularKeyCodesMap.put(0x3E, KeyEvent.VK_GREATER);
+ regularKeyCodesMap.put(0x40, KeyEvent.VK_AT);
regularKeyCodesMap.put(0x41, KeyEvent.VK_A);
- regularKeyCodesMap.put(0x61, KeyEvent.VK_A);
regularKeyCodesMap.put(0x42, KeyEvent.VK_B);
- regularKeyCodesMap.put(0x62, KeyEvent.VK_B);
regularKeyCodesMap.put(0x43, KeyEvent.VK_C);
- regularKeyCodesMap.put(0x63, KeyEvent.VK_C);
regularKeyCodesMap.put(0x44, KeyEvent.VK_D);
- regularKeyCodesMap.put(0x64, KeyEvent.VK_D);
regularKeyCodesMap.put(0x45, KeyEvent.VK_E);
- regularKeyCodesMap.put(0x65, KeyEvent.VK_E);
regularKeyCodesMap.put(0x46, KeyEvent.VK_F);
- regularKeyCodesMap.put(0x66, KeyEvent.VK_F);
regularKeyCodesMap.put(0x47, KeyEvent.VK_G);
- regularKeyCodesMap.put(0x67, KeyEvent.VK_G);
regularKeyCodesMap.put(0x48, KeyEvent.VK_H);
- regularKeyCodesMap.put(0x68, KeyEvent.VK_H);
regularKeyCodesMap.put(0x49, KeyEvent.VK_I);
- regularKeyCodesMap.put(0x69, KeyEvent.VK_I);
regularKeyCodesMap.put(0x4A, KeyEvent.VK_J);
- regularKeyCodesMap.put(0x6A, KeyEvent.VK_J);
regularKeyCodesMap.put(0x4B, KeyEvent.VK_K);
- regularKeyCodesMap.put(0x6B, KeyEvent.VK_K);
regularKeyCodesMap.put(0x4C, KeyEvent.VK_L);
- regularKeyCodesMap.put(0x6C, KeyEvent.VK_L);
regularKeyCodesMap.put(0x4D, KeyEvent.VK_M);
- regularKeyCodesMap.put(0x6D, KeyEvent.VK_M);
regularKeyCodesMap.put(0x4E, KeyEvent.VK_N);
- regularKeyCodesMap.put(0x6E, KeyEvent.VK_N);
regularKeyCodesMap.put(0x4F, KeyEvent.VK_O);
- regularKeyCodesMap.put(0x6F, KeyEvent.VK_O);
regularKeyCodesMap.put(0x50, KeyEvent.VK_P);
- regularKeyCodesMap.put(0x70, KeyEvent.VK_P);
regularKeyCodesMap.put(0x51, KeyEvent.VK_Q);
- regularKeyCodesMap.put(0x71, KeyEvent.VK_Q);
regularKeyCodesMap.put(0x52, KeyEvent.VK_R);
- regularKeyCodesMap.put(0x72, KeyEvent.VK_R);
regularKeyCodesMap.put(0x53, KeyEvent.VK_S);
- regularKeyCodesMap.put(0x73, KeyEvent.VK_S);
regularKeyCodesMap.put(0x54, KeyEvent.VK_T);
- regularKeyCodesMap.put(0x74, KeyEvent.VK_T);
regularKeyCodesMap.put(0x55, KeyEvent.VK_U);
- regularKeyCodesMap.put(0x75, KeyEvent.VK_U);
regularKeyCodesMap.put(0x56, KeyEvent.VK_V);
- regularKeyCodesMap.put(0x76, KeyEvent.VK_V);
regularKeyCodesMap.put(0x57, KeyEvent.VK_W);
- regularKeyCodesMap.put(0x77, KeyEvent.VK_W);
regularKeyCodesMap.put(0x58, KeyEvent.VK_X);
- regularKeyCodesMap.put(0x78, KeyEvent.VK_X);
regularKeyCodesMap.put(0x59, KeyEvent.VK_Y);
- regularKeyCodesMap.put(0x79, KeyEvent.VK_Y);
regularKeyCodesMap.put(0x5A, KeyEvent.VK_Z);
- regularKeyCodesMap.put(0x7A, KeyEvent.VK_Z);
regularKeyCodesMap.put(0x5B, KeyEvent.VK_OPEN_BRACKET);
regularKeyCodesMap.put(0x5C, KeyEvent.VK_BACK_SLASH);
regularKeyCodesMap.put(0x5D, KeyEvent.VK_CLOSE_BRACKET);
-// regularKeyCodesMap.put(0x60, KeyEvent.VK_NUMPAD0);
-// regularKeyCodesMap.put(0x61, KeyEvent.VK_NUMPAD1);
-// regularKeyCodesMap.put(0x62, KeyEvent.VK_NUMPAD2);
-// regularKeyCodesMap.put(0x63, KeyEvent.VK_NUMPAD3);
-// regularKeyCodesMap.put(0x64, KeyEvent.VK_NUMPAD4);
-// regularKeyCodesMap.put(0x65, KeyEvent.VK_NUMPAD5);
-// regularKeyCodesMap.put(0x66, KeyEvent.VK_NUMPAD6);
-// regularKeyCodesMap.put(0x67, KeyEvent.VK_NUMPAD7);
-// regularKeyCodesMap.put(0x68, KeyEvent.VK_NUMPAD8);
-// regularKeyCodesMap.put(0x69, KeyEvent.VK_NUMPAD9);
- regularKeyCodesMap.put(0x6A, KeyEvent.VK_MULTIPLY);
- regularKeyCodesMap.put(0x6B, KeyEvent.VK_ADD);
- regularKeyCodesMap.put(0x6C, KeyEvent.VK_SEPARATER);
- regularKeyCodesMap.put(0x6D, KeyEvent.VK_SUBTRACT);
- regularKeyCodesMap.put(0x6E, KeyEvent.VK_DECIMAL);
- regularKeyCodesMap.put(0x6F, KeyEvent.VK_DIVIDE);
- regularKeyCodesMap.put(0x7F, KeyEvent.VK_DELETE);
- regularKeyCodesMap.put(0xC0, KeyEvent.VK_BACK_QUOTE);
- regularKeyCodesMap.put(0xDE, KeyEvent.VK_QUOTE);
- regularKeyCodesMap.put(0x26, KeyEvent.VK_AMPERSAND);
- regularKeyCodesMap.put(0x2A, KeyEvent.VK_ASTERISK);
- regularKeyCodesMap.put(0x22, KeyEvent.VK_QUOTEDBL);
- regularKeyCodesMap.put(0x3C, KeyEvent.VK_LESS);
- regularKeyCodesMap.put(0x3E, KeyEvent.VK_GREATER);
+ regularKeyCodesMap.put(0x5E, KeyEvent.VK_CIRCUMFLEX);
+ regularKeyCodesMap.put(0x5F, KeyEvent.VK_UNDERSCORE);
+ regularKeyCodesMap.put(0x60, KeyEvent.VK_BACK_QUOTE);
+ regularKeyCodesMap.put(0x70, KeyEvent.VK_P);
+ regularKeyCodesMap.put(0x71, KeyEvent.VK_Q);
+ regularKeyCodesMap.put(0x72, KeyEvent.VK_R);
+ regularKeyCodesMap.put(0x73, KeyEvent.VK_S);
+ regularKeyCodesMap.put(0x74, KeyEvent.VK_T);
+ regularKeyCodesMap.put(0x75, KeyEvent.VK_U);
+ regularKeyCodesMap.put(0x76, KeyEvent.VK_V);
+ regularKeyCodesMap.put(0x77, KeyEvent.VK_W);
+ regularKeyCodesMap.put(0x78, KeyEvent.VK_X);
+ regularKeyCodesMap.put(0x79, KeyEvent.VK_Y);
+ regularKeyCodesMap.put(0x7A, KeyEvent.VK_Z);
regularKeyCodesMap.put(0x7B, KeyEvent.VK_BRACELEFT);
regularKeyCodesMap.put(0x7D, KeyEvent.VK_BRACERIGHT);
- regularKeyCodesMap.put(0x40, KeyEvent.VK_AT);
- regularKeyCodesMap.put(0x3A, KeyEvent.VK_COLON);
- regularKeyCodesMap.put(0x5E, KeyEvent.VK_CIRCUMFLEX);
- regularKeyCodesMap.put(0x24, KeyEvent.VK_DOLLAR);
- regularKeyCodesMap.put(0x20AC, KeyEvent.VK_EURO_SIGN);
- regularKeyCodesMap.put(0x21, KeyEvent.VK_EXCLAMATION_MARK);
+ regularKeyCodesMap.put(0x7F, KeyEvent.VK_DELETE);
regularKeyCodesMap.put(0xA1, KeyEvent.VK_INVERTED_EXCLAMATION_MARK);
- regularKeyCodesMap.put(0x28, KeyEvent.VK_LEFT_PARENTHESIS);
- regularKeyCodesMap.put(0x23, KeyEvent.VK_NUMBER_SIGN);
- regularKeyCodesMap.put(0x2B, KeyEvent.VK_PLUS);
- regularKeyCodesMap.put(0x29, KeyEvent.VK_RIGHT_PARENTHESIS);
- regularKeyCodesMap.put(0x5F, KeyEvent.VK_UNDERSCORE);
-
extendedKeyCodesSet.add(0x01000000+0x0060);
extendedKeyCodesSet.add(0x01000000+0x007C);
--- a/jdk/src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/sun/awt/dnd/SunDragSourceContextPeer.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2009 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
@@ -67,6 +67,8 @@
private DragGestureEvent trigger;
private Component component;
private Cursor cursor;
+ private Image dragImage;
+ private Point dragImageOffset;
private long nativeCtxt;
private DragSourceContext dragSourceContext;
private int sourceActions;
@@ -120,6 +122,8 @@
dragSourceContext = dsc;
cursor = c;
sourceActions = getDragSourceContext().getSourceActions();
+ dragImage = di;
+ dragImageOffset = p;
Transferable transferable = getDragSourceContext().getTransferable();
SortedMap formatMap = DataTransferer.getInstance().getFormatsForTransferable
@@ -169,6 +173,31 @@
}
/**
+ * Returns the drag image. If there is no image to drag,
+ * the returned value is {@code null}
+ *
+ * @return the reference to the drag image
+ */
+ public Image getDragImage() {
+ return dragImage;
+ }
+
+ /**
+ * Returns an anchor offset for the image to drag.
+ *
+ * @return a {@code Point} object that corresponds
+ * to coordinates of an anchor offset of the image
+ * relative to the upper left corner of the image.
+ * The point {@code (0,0)} returns by default.
+ */
+ public Point getDragImageOffset() {
+ if (dragImageOffset == null) {
+ return new Point(0,0);
+ }
+ return new Point(dragImageOffset);
+ }
+
+ /**
* downcall into native code
*/
@@ -317,6 +346,8 @@
startSecondaryEventLoop();
setNativeContext(0);
+ dragImage = null;
+ dragImageOffset = null;
}
public static void setDragDropInProgress(boolean b)
--- a/jdk/src/share/classes/sun/font/FontManagerFactory.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/sun/font/FontManagerFactory.java Wed Feb 17 10:24:30 2010 -0800
@@ -68,38 +68,34 @@
return instance;
}
- String fmClassName = AccessController.doPrivileged(
- new GetPropertyAction("sun.font.fontmanager",
- DEFAULT_CLASS));
-
- try {
- @SuppressWarnings("unchecked")
- ClassLoader cl = (ClassLoader)
- AccessController.doPrivileged(new PrivilegedAction() {
- public Object run() {
- return ClassLoader.getSystemClassLoader();
- }
- });
+ AccessController.doPrivileged(new PrivilegedAction() {
- @SuppressWarnings("unchecked")
- Class fmClass = Class.forName(fmClassName, true, cl);
- instance = (FontManager) fmClass.newInstance();
-
- } catch (ClassNotFoundException ex) {
- InternalError err = new InternalError();
- err.initCause(ex);
- throw err;
+ public Object run() {
+ try {
+ String fmClassName =
+ System.getProperty("sun.font.fontmanager",
+ DEFAULT_CLASS);
+ ClassLoader cl = ClassLoader.getSystemClassLoader();
+ Class fmClass = Class.forName(fmClassName, true, cl);
+ instance = (FontManager) fmClass.newInstance();
+ } catch (ClassNotFoundException ex) {
+ InternalError err = new InternalError();
+ err.initCause(ex);
+ throw err;
- } catch (InstantiationException ex) {
- InternalError err = new InternalError();
- err.initCause(ex);
- throw err;
+ } catch (InstantiationException ex) {
+ InternalError err = new InternalError();
+ err.initCause(ex);
+ throw err;
- } catch (IllegalAccessException ex) {
- InternalError err = new InternalError();
- err.initCause(ex);
- throw err;
- }
+ } catch (IllegalAccessException ex) {
+ InternalError err = new InternalError();
+ err.initCause(ex);
+ throw err;
+ }
+ return null;
+ }
+ });
return instance;
}
--- a/jdk/src/share/classes/sun/font/FontUtilities.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/sun/font/FontUtilities.java Wed Feb 17 10:24:30 2010 -0800
@@ -32,9 +32,9 @@
import java.io.InputStreamReader;
import java.security.AccessController;
+import java.security.PrivilegedAction;
import javax.swing.plaf.FontUIResource;
-import sun.security.action.GetPropertyAction;
import sun.util.logging.PlatformLogger;
/**
@@ -42,79 +42,82 @@
*/
public final class FontUtilities {
- public static final boolean isSolaris;
+ public static boolean isSolaris;
- public static final boolean isLinux;
+ public static boolean isLinux;
- public static final boolean isSolaris8;
+ public static boolean isSolaris8;
- public static final boolean isSolaris9;
+ public static boolean isSolaris9;
- public static final boolean isOpenSolaris;
+ public static boolean isOpenSolaris;
- public static final boolean useT2K;
+ public static boolean useT2K;
- public static final boolean isWindows;
+ public static boolean isWindows;
- public static final boolean isOpenJDK;
+ public static boolean isOpenJDK;
static final String LUCIDA_FILE_NAME = "LucidaSansRegular.ttf";
// This static initializer block figures out the OS constants.
static {
- String osName = AccessController.doPrivileged(
- new GetPropertyAction("os.name", "unknownOS"));
- isSolaris = osName.startsWith("SunOS");
+ AccessController.doPrivileged(new PrivilegedAction () {
+ public Object run() {
+ String osName = System.getProperty("os.name", "unknownOS");
+ isSolaris = osName.startsWith("SunOS");
- isLinux = osName.startsWith("Linux");
+ isLinux = osName.startsWith("Linux");
- String t2kStr = AccessController.doPrivileged(
- new GetPropertyAction("sun.java2d.font.scaler"));
- if (t2kStr != null) {
- useT2K = "t2k".equals(t2kStr);
- } else {
- useT2K = false;
- }
- if (isSolaris) {
- String version = AccessController.doPrivileged(
- new GetPropertyAction("os.version", "0.0"));
- isSolaris8 = version.startsWith("5.8");
- isSolaris9 = version.startsWith("5.9");
- float ver = Float.parseFloat(version);
- if (ver > 5.10f) {
- File f = new File("/etc/release");
- String line = null;
- try {
- FileInputStream fis = new FileInputStream(f);
- InputStreamReader isr = new InputStreamReader(
+ String t2kStr = System.getProperty("sun.java2d.font.scaler");
+ if (t2kStr != null) {
+ useT2K = "t2k".equals(t2kStr);
+ } else {
+ useT2K = false;
+ }
+ if (isSolaris) {
+ String version = System.getProperty("os.version", "0.0");
+ isSolaris8 = version.startsWith("5.8");
+ isSolaris9 = version.startsWith("5.9");
+ float ver = Float.parseFloat(version);
+ if (ver > 5.10f) {
+ File f = new File("/etc/release");
+ String line = null;
+ try {
+ FileInputStream fis = new FileInputStream(f);
+ InputStreamReader isr = new InputStreamReader(
fis, "ISO-8859-1");
- BufferedReader br = new BufferedReader(isr);
- line = br.readLine();
- fis.close();
- } catch (Exception ex) {
- // Nothing to do here.
- }
- if (line != null && line.indexOf("OpenSolaris") >= 0) {
- isOpenSolaris = true;
+ BufferedReader br = new BufferedReader(isr);
+ line = br.readLine();
+ fis.close();
+ } catch (Exception ex) {
+ // Nothing to do here.
+ }
+ if (line != null && line.indexOf("OpenSolaris") >= 0) {
+ isOpenSolaris = true;
+ } else {
+ isOpenSolaris = false;
+ }
+ } else {
+ isOpenSolaris = false;
+ }
} else {
+ isSolaris8 = false;
+ isSolaris9 = false;
isOpenSolaris = false;
}
- } else {
- isOpenSolaris= false;
+ isWindows = osName.startsWith("Windows");
+ String jreLibDirName = System.getProperty("java.home", "")
+ + File.separator + "lib";
+ String jreFontDirName =
+ jreLibDirName + File.separator + "fonts";
+ File lucidaFile = new File(jreFontDirName + File.separator
+ + LUCIDA_FILE_NAME);
+ isOpenJDK = !lucidaFile.exists();
+ return null;
}
- } else {
- isSolaris8 = false;
- isSolaris9 = false;
- isOpenSolaris = false;
- }
- isWindows = osName.startsWith("Windows");
- String jreLibDirName = AccessController.doPrivileged(
- new GetPropertyAction("java.home","")) + File.separator + "lib";
- String jreFontDirName = jreLibDirName + File.separator + "fonts";
- File lucidaFile =
- new File(jreFontDirName + File.separator + LUCIDA_FILE_NAME);
- isOpenJDK = !lucidaFile.exists();
+ });
}
/**
--- a/jdk/src/share/classes/sun/util/logging/PlatformLogger.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/share/classes/sun/util/logging/PlatformLogger.java Wed Feb 17 10:24:30 2010 -0800
@@ -535,6 +535,10 @@
}
void doLog(int level, String msg, Object... params) {
+ int paramsNumber = (params != null) ? params.length : 0;
+ for (int i = 0; i < paramsNumber; i++) {
+ params[i] = String.valueOf(params[i]);
+ }
LoggingSupport.log(javaLogger, levelObjects.get(level), msg, params);
}
--- a/jdk/src/solaris/classes/sun/awt/X11/InfoWindow.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/solaris/classes/sun/awt/X11/InfoWindow.java Wed Feb 17 10:24:30 2010 -0800
@@ -189,21 +189,22 @@
* WARNING: this method is executed on Toolkit thread!
*/
private void display() {
- String tooltipString = liveArguments.getTooltipString();
- if (tooltipString == null) {
- return;
- } else if (tooltipString.length() > TOOLTIP_MAX_LENGTH) {
- textLabel.setText(tooltipString.substring(0, TOOLTIP_MAX_LENGTH));
- } else {
- textLabel.setText(tooltipString);
- }
-
// Execute on EDT to avoid deadlock (see 6280857).
SunToolkit.executeOnEventHandlerThread(target, new Runnable() {
public void run() {
if (liveArguments.isDisposed()) {
return;
}
+
+ String tooltipString = liveArguments.getTooltipString();
+ if (tooltipString == null) {
+ return;
+ } else if (tooltipString.length() > TOOLTIP_MAX_LENGTH) {
+ textLabel.setText(tooltipString.substring(0, TOOLTIP_MAX_LENGTH));
+ } else {
+ textLabel.setText(tooltipString);
+ }
+
Point pointer = (Point)AccessController.doPrivileged(new PrivilegedAction() {
public Object run() {
if (!isPointerOverTrayIcon(liveArguments.getBounds())) {
--- a/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/solaris/classes/sun/awt/X11/XWindowPeer.java Wed Feb 17 10:24:30 2010 -0800
@@ -2144,9 +2144,11 @@
// Outside this toplevel hierarchy
// According to the specification of UngrabEvent, post it
// when press occurs outside of the window and not on its owned windows
- grabLog.fine("Generating UngrabEvent on {0} because not inside of shell", this);
- postEventToEventQueue(new sun.awt.UngrabEvent(getEventSource()));
- return;
+ if (xbe.get_type() == XConstants.ButtonPress) {
+ grabLog.fine("Generating UngrabEvent on {0} because not inside of shell", this);
+ postEventToEventQueue(new sun.awt.UngrabEvent(getEventSource()));
+ return;
+ }
}
// First, get the toplevel
XWindowPeer toplevel = target.getToplevelXWindow();
--- a/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/classes/sun/awt/windows/WDataTransferer.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2000-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2000-2009 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
@@ -56,6 +56,7 @@
import java.io.InputStreamReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
+import java.io.File;
import java.net.URL;
@@ -130,6 +131,10 @@
public static final long CF_PNG = registerClipboardFormat("PNG");
public static final long CF_JFIF = registerClipboardFormat("JFIF");
+ public static final long CF_FILEGROUPDESCRIPTORW = registerClipboardFormat("FileGroupDescriptorW");
+ public static final long CF_FILEGROUPDESCRIPTORA = registerClipboardFormat("FileGroupDescriptor");
+ //CF_FILECONTENTS supported as mandatory associated clipboard
+
private static final Long L_CF_LOCALE = (Long)
predefinedClipboardNameMap.get(predefinedClipboardNames[CF_LOCALE]);
@@ -203,6 +208,30 @@
str = new HTMLCodec(str, EHTMLReadMode.HTML_READ_SELECTION);
}
+ if (format == CF_FILEGROUPDESCRIPTORA || format == CF_FILEGROUPDESCRIPTORW) {
+ if (null != str ) {
+ str.close();
+ }
+ if (bytes == null || !DataFlavor.javaFileListFlavor.equals(flavor)) {
+ throw new IOException("data translation failed");
+ }
+ String st = new String(bytes, 0, bytes.length, "UTF-16LE");
+ String[] filenames = st.split("\0");
+ if( 0 == filenames.length ){
+ return null;
+ }
+
+ // Convert the strings to File objects
+ File[] files = new File[filenames.length];
+ for (int i = 0; i < filenames.length; ++i) {
+ files[i] = new File(filenames[i]);
+ //They are temp-files from memory Stream, so they have to be removed on exit
+ files[i].deleteOnExit();
+ }
+ // Turn the list of Files into a List and return
+ return Arrays.asList(files);
+ }
+
if (format == CFSTR_INETURL &&
URL.class.equals(flavor.getRepresentationClass()))
{
@@ -233,7 +262,7 @@
}
public boolean isFileFormat(long format) {
- return format == CF_HDROP;
+ return format == CF_HDROP || format == CF_FILEGROUPDESCRIPTORA || format == CF_FILEGROUPDESCRIPTORW;
}
protected Long getFormatForNativeAsLong(String str) {
--- a/jdk/src/windows/classes/sun/awt/windows/WDragSourceContextPeer.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/classes/sun/awt/windows/WDragSourceContextPeer.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 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
@@ -27,6 +27,10 @@
import java.awt.Component;
import java.awt.Cursor;
+import java.awt.Image;
+import java.awt.Point;
+import java.awt.image.BufferedImage;
+import java.awt.image.DataBufferInt;
import java.awt.datatransfer.Transferable;
@@ -88,11 +92,56 @@
throw new InvalidDnDOperationException("failed to create native peer");
}
+ int[] imageData = null;
+ Point op = null;
+
+ Image im = getDragImage();
+ int imageWidth = -1;
+ int imageHeight = -1;
+ if (im != null) {
+ //image is ready (partial images are ok)
+ try{
+ imageWidth = im.getWidth(null);
+ imageHeight = im.getHeight(null);
+ if (imageWidth < 0 || imageHeight < 0) {
+ throw new InvalidDnDOperationException("drag image is not ready");
+ }
+ //We could get an exception from user code here.
+ //"im" and "dragImageOffset" are user-defined objects
+ op = getDragImageOffset(); //op could not be null here
+ BufferedImage bi = new BufferedImage(
+ imageWidth,
+ imageHeight,
+ BufferedImage.TYPE_INT_ARGB);
+ bi.getGraphics().drawImage(im, 0, 0, null);
+
+ //we can get out-of-memory here
+ imageData = ((DataBufferInt)bi.getData().getDataBuffer()).getData();
+ } catch (Throwable ex) {
+ throw new InvalidDnDOperationException("drag image creation problem: " + ex.getMessage());
+ }
+ }
+
+ //We shouldn't have user-level exceptions since now.
+ //Any exception leads to corrupted D'n'D state.
setNativeContext(nativeCtxtLocal);
-
WDropTargetContextPeer.setCurrentJVMLocalSourceTransferable(trans);
- doDragDrop(getNativeContext(), getCursor());
+ if (imageData != null) {
+ doDragDrop(
+ getNativeContext(),
+ getCursor(),
+ imageData,
+ imageWidth, imageHeight,
+ op.x, op.y);
+ } else {
+ doDragDrop(
+ getNativeContext(),
+ getCursor(),
+ null,
+ -1, -1,
+ 0, 0);
+ }
}
/**
@@ -110,7 +159,12 @@
* downcall into native code
*/
- native void doDragDrop(long nativeCtxt, Cursor cursor);
+ native void doDragDrop(
+ long nativeCtxt,
+ Cursor cursor,
+ int[] imageData,
+ int imgWidth, int imgHight,
+ int offsetX, int offsetY);
protected native void setNativeCursor(long nativeCtxt, Cursor c, int cType);
--- a/jdk/src/windows/classes/sun/awt/windows/WToolkit.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/classes/sun/awt/windows/WToolkit.java Wed Feb 17 10:24:30 2010 -0800
@@ -895,6 +895,8 @@
Integer.valueOf(50));
desktopProperties.put("DnD.Autoscroll.interval",
Integer.valueOf(50));
+ desktopProperties.put("DnD.isDragImageSupported",
+ Boolean.TRUE);
desktopProperties.put("Shell.shellFolderManager",
"sun.awt.shell.Win32ShellFolderManager2");
}
--- a/jdk/src/windows/lib/flavormap.properties Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/lib/flavormap.properties Wed Feb 17 10:24:30 2010 -0800
@@ -73,3 +73,5 @@
UniformResourceLocator=application/x-java-url;class=java.net.URL
UniformResourceLocator=text/uri-list;eoln="\r\n";terminators=1
UniformResourceLocator=text/plain;eoln="\r\n";terminators=1
+FileGroupDescriptorW=application/x-java-file-list;class=java.util.List
+FileGroupDescriptor=application/x-java-file-list;class=java.util.List
--- a/jdk/src/windows/native/sun/windows/awt.h Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awt.h Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1996-2009 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
@@ -233,4 +233,122 @@
#define CHECK_ISNOT_TOOLKIT_THREAD()
#endif
+
+struct EnvHolder
+{
+ JavaVM *m_pVM;
+ JNIEnv *m_env;
+ bool m_isOwner;
+ EnvHolder(
+ JavaVM *pVM,
+ LPCSTR name = "COM holder",
+ jint ver = JNI_VERSION_1_2)
+ : m_pVM(pVM),
+ m_env((JNIEnv *)JNU_GetEnv(pVM, ver)),
+ m_isOwner(false)
+ {
+ if (NULL == m_env) {
+ JavaVMAttachArgs attachArgs;
+ attachArgs.version = ver;
+ attachArgs.name = const_cast<char *>(name);
+ attachArgs.group = NULL;
+ jint status = m_pVM->AttachCurrentThread(
+ (void**)&m_env,
+ &attachArgs);
+ m_isOwner = (NULL!=m_env);
+ }
+ }
+ ~EnvHolder() {
+ if (m_isOwner) {
+ m_pVM->DetachCurrentThread();
+ }
+ }
+ operator bool() const { return NULL!=m_env; }
+ bool operator !() const { return NULL==m_env; }
+ operator JNIEnv*() const { return m_env; }
+ JNIEnv* operator ->() const { return m_env; }
+};
+
+template <class T>
+class JLocalRef {
+ JNIEnv* m_env;
+ T m_localJRef;
+
+public:
+ JLocalRef(JNIEnv* env, T localJRef = NULL)
+ : m_env(env),
+ m_localJRef(localJRef)
+ {}
+ T Detach() {
+ T ret = m_localJRef;
+ m_localJRef = NULL;
+ return ret;
+ }
+ void Attach(T newValue) {
+ if (m_localJRef) {
+ m_env->DeleteLocalRef((jobject)m_localJRef);
+ }
+ m_localJRef = newValue;
+ }
+
+ operator T() { return m_localJRef; }
+ operator bool() { return NULL!=m_localJRef; }
+ bool operator !() { return NULL==m_localJRef; }
+
+ ~JLocalRef() {
+ if (m_localJRef) {
+ m_env->DeleteLocalRef((jobject)m_localJRef);
+ }
+ }
+};
+
+typedef JLocalRef<jobject> JLObject;
+typedef JLocalRef<jstring> JLString;
+typedef JLocalRef<jclass> JLClass;
+
+/*
+ * Class to encapsulate the extraction of the java string contents
+ * into a buffer and the cleanup of the buffer
+ */
+ class JavaStringBuffer
+{
+protected:
+ LPWSTR m_pStr;
+ jsize m_dwSize;
+
+public:
+ JavaStringBuffer(jsize cbTCharCount) {
+ m_dwSize = cbTCharCount;
+ m_pStr = (LPWSTR)safe_Malloc( (m_dwSize+1)*sizeof(WCHAR) );
+ }
+
+ JavaStringBuffer(JNIEnv *env, jstring text) {
+ if (NULL == text) {
+ m_pStr = L"";
+ m_dwSize = 0;
+ } else {
+ m_dwSize = env->GetStringLength(text);
+ m_pStr = (LPWSTR)safe_Malloc( (m_dwSize+1)*sizeof(WCHAR) );
+ env->GetStringRegion(text, 0, m_dwSize, reinterpret_cast<jchar *>(m_pStr));
+ m_pStr[m_dwSize] = 0;
+ }
+ }
+
+
+ ~JavaStringBuffer() {
+ free(m_pStr);
+ }
+
+ void Resize(jsize cbTCharCount) {
+ m_dwSize = cbTCharCount;
+ m_pStr = (LPWSTR)safe_Realloc(m_pStr, (m_dwSize+1)*sizeof(WCHAR) );
+ }
+ //we are in UNICODE now, so LPWSTR:=:LPTSTR
+ operator LPWSTR() { return m_pStr; }
+ operator LPARAM() { return (LPARAM)m_pStr; }
+ void *GetData() { return (void *)m_pStr; }
+ jsize GetSize() { return m_dwSize; }
+};
+
+
#endif /* _AWT_H_ */
--- a/jdk/src/windows/native/sun/windows/awt_Component.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awt_Component.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -378,7 +378,9 @@
TRY;
AwtComponent * self = AwtComponent::GetComponentImpl(hWnd);
- if (self == NULL || self->GetHWnd() != hWnd) {
+ if (self == NULL || self->GetHWnd() != hWnd ||
+ message == WM_UNDOCUMENTED_CLIENTSHUTDOWN) // handle log-off gracefully
+ {
return ComCtl32Util::GetInstance().DefWindowProc(NULL, hWnd, message, wParam, lParam);
} else {
return self->WindowProc(message, wParam, lParam);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/windows/native/sun/windows/awt_DCHolder.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,107 @@
+/*
+ * Copyright 2009 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.
+ */
+
+#include "awt.h"
+#include "awt_ole.h"
+#include "awt_DCHolder.h" // main symbols
+
+
+////////////////////////
+// struct DCHolder
+
+DCHolder::DCHolder()
+: m_hMemoryDC(NULL),
+ m_iWidth(0),
+ m_iHeight(0),
+ m_bForImage(FALSE),
+ m_hBitmap(NULL),
+ m_hOldBitmap(NULL),
+ m_pPoints(NULL)
+{}
+
+void DCHolder::Create(
+ HDC hRelDC,
+ int iWidth,
+ int iHeght,
+ BOOL bForImage
+){
+ OLE_DECL
+ m_iWidth = iWidth;
+ m_iHeight = iHeght;
+ m_bForImage = bForImage;
+ m_hMemoryDC = ::CreateCompatibleDC(hRelDC);
+ //NB: can not throw an error in non-safe stack!!! Just conversion and logging!
+ //OLE_WINERROR2HR just set OLE_HR without any throw!
+ if (!m_hMemoryDC) {
+ OLE_THROW_LASTERROR(_T("CreateCompatibleDC"))
+ }
+ m_hBitmap = m_bForImage
+ ? CreateJavaContextBitmap(hRelDC, m_iWidth, m_iHeight, &m_pPoints)
+ : ::CreateCompatibleBitmap(hRelDC, m_iWidth, m_iHeight);
+ if (!m_hBitmap) {
+ OLE_THROW_LASTERROR(_T("CreateCompatibleBitmap"))
+ }
+ m_hOldBitmap = (HBITMAP)::SelectObject(m_hMemoryDC, m_hBitmap);
+ if (!m_hOldBitmap) {
+ OLE_THROW_LASTERROR(_T("SelectBMObject"))
+ }
+}
+
+DCHolder::~DCHolder(){
+ if (m_hOldBitmap) {
+ ::SelectObject(m_hMemoryDC, m_hOldBitmap);
+ }
+ if (m_hBitmap) {
+ ::DeleteObject(m_hBitmap);
+ }
+ if (m_hMemoryDC) {
+ ::DeleteDC(m_hMemoryDC);
+ }
+};
+
+
+HBITMAP DCHolder::CreateJavaContextBitmap(
+ HDC hdc,
+ int iWidth,
+ int iHeight,
+ void **ppPoints)
+{
+ BITMAPINFO bitmapInfo = {0};
+ bitmapInfo.bmiHeader.biWidth = iWidth;
+ bitmapInfo.bmiHeader.biHeight = -iHeight;
+ bitmapInfo.bmiHeader.biPlanes = 1;
+ bitmapInfo.bmiHeader.biBitCount = 32;
+ bitmapInfo.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+ bitmapInfo.bmiHeader.biCompression = BI_RGB;
+
+ return ::CreateDIBSection(
+ hdc,
+ (BITMAPINFO *)&bitmapInfo,
+ DIB_RGB_COLORS,
+ (void **)ppPoints,
+ NULL,
+ 0
+ );
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/windows/native/sun/windows/awt_DCHolder.h Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,72 @@
+/*
+ * Copyright 2009 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.
+ */
+
+#ifndef _AWT_DCHolder_H
+#define _AWT_DCHolder_H
+
+struct DCHolder
+{
+ HDC m_hMemoryDC;
+ int m_iWidth;
+ int m_iHeight;
+ BOOL m_bForImage;
+ HBITMAP m_hBitmap;
+ HBITMAP m_hOldBitmap;
+ void *m_pPoints;
+
+ DCHolder();
+ ~DCHolder();
+
+ void Create(
+ HDC hRelDC,
+ int iWidth,
+ int iHeght,
+ BOOL bForImage);
+
+ operator HDC()
+ {
+ if (NULL == m_hOldBitmap && NULL != m_hBitmap) {
+ m_hOldBitmap = (HBITMAP)::SelectObject(m_hMemoryDC, m_hBitmap);
+ }
+ return m_hMemoryDC;
+ }
+
+ operator HBITMAP()
+ {
+ if (NULL != m_hOldBitmap) {
+ m_hBitmap = (HBITMAP)::SelectObject(m_hMemoryDC, m_hOldBitmap);
+ m_hOldBitmap = NULL;
+ }
+ return m_hBitmap;
+ }
+
+ static HBITMAP CreateJavaContextBitmap(
+ HDC hdc,
+ int iWidth,
+ int iHeight,
+ void **ppPoints);
+};
+
+#endif //_AWT_DCHolder_H
--- a/jdk/src/windows/native/sun/windows/awt_DnDDS.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awt_DnDDS.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 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
@@ -23,7 +23,30 @@
* have any questions.
*/
-#include "awt.h"
+#pragma push_macro("bad_alloc")
+//"bad_alloc" would be introduced in STL as "std::zbad_alloc" and discarded by linker
+//by this action we avoid the conflict with AWT implementation of "bad_alloc"
+//we need <new> inclusion for STL "new" oprators set.
+#define bad_alloc zbad_alloc
+#include <new>
+#pragma pop_macro("bad_alloc")
+//"bad_alloc" is undefined from here
+
+//we need to include any STL container before <awt.h> inclusion due to
+//"new" re-redefinition that is in conflict with in-place new allocator
+//applied in STL.
+#if defined(_DEBUG) || defined(DEBUG)
+ //forward declaration of "new" operator from <awt.h>
+ extern void * operator new(size_t size, const char * filename, int linenumber);
+ //"new" operator definition that is consistent with re-defined
+ //in <awt.h> "delete" operator
+ void * operator new(size_t size) {return operator new(size, "stl", 1);}
+#endif
+#include <map>
+
+#include <awt.h>
+#include <shlobj.h>
+
#include "jlong.h"
#include "awt_DataTransferer.h"
#include "awt_DnDDS.h"
@@ -37,8 +60,14 @@
#include "sun_awt_dnd_SunDragSourceContextPeer.h"
#include "sun_awt_windows_WDragSourceContextPeer.h"
-#include <memory.h>
-#include <shlobj.h>
+#include "awt_ole.h"
+#include "awt_DCHolder.h"
+
+bool operator < (const FORMATETC &fr, const FORMATETC &fl) {
+ return memcmp(&fr, &fl, sizeof(FORMATETC)) < 0;
+}
+
+typedef std::map<FORMATETC, STGMEDIUM> CDataMap;
#define GALLOCFLG (GMEM_DDESHARE | GMEM_MOVEABLE | GMEM_ZEROINIT)
#define JAVA_BUTTON_MASK (java_awt_event_InputEvent_BUTTON1_DOWN_MASK | \
@@ -50,19 +79,155 @@
jint __cdecl convertDROPEFFECTToActions(DWORD effects);
}
+class PictureDragHelper
+{
+private:
+ static CDataMap st;
+ static IDragSourceHelper *pHelper;
+public:
+ static HRESULT Create(
+ JNIEnv* env,
+ jintArray imageData,
+ int imageWidth,
+ int imageHeight,
+ int anchorX,
+ int anchorY,
+ IDataObject *pIDataObject)
+ {
+ if (NULL == imageData) {
+ return S_FALSE;
+ }
+ OLE_TRY
+ OLE_HRT( CoCreateInstance(
+ CLSID_DragDropHelper,
+ NULL,
+ CLSCTX_ALL,
+ IID_IDragSourceHelper,
+ (LPVOID*)&pHelper))
+
+ jintArray ia = imageData;
+ jsize iPointCoint = env->GetArrayLength(ia);
+
+ DCHolder ph;
+ ph.Create(NULL, imageWidth, imageHeight, TRUE);
+ env->GetIntArrayRegion(ia, 0, iPointCoint, (jint*)ph.m_pPoints);
+
+ SHDRAGIMAGE sdi;
+ sdi.sizeDragImage.cx = imageWidth;
+ sdi.sizeDragImage.cy = imageHeight;
+ sdi.ptOffset.x = anchorX;
+ sdi.ptOffset.y = anchorY;
+ sdi.crColorKey = 0xFFFFFFFF;
+ sdi.hbmpDragImage = ph;
+
+ // this call assures that the bitmap will be dragged around
+ OLE_HR = pHelper->InitializeFromBitmap(
+ &sdi,
+ pIDataObject
+ );
+ // in case of an error we need to destroy the image, else the helper object takes ownership
+ if (FAILED(OLE_HR)) {
+ DeleteObject(sdi.hbmpDragImage);
+ }
+ OLE_CATCH
+ OLE_RETURN_HR
+ }
+
+ static void Destroy()
+ {
+ if (NULL!=pHelper) {
+ CleanFormatMap();
+ pHelper->Release();
+ pHelper = NULL;
+ }
+ }
+
+ static void CleanFormatMap()
+ {
+ for (CDataMap::iterator i = st.begin(); st.end() != i; i = st.erase(i)) {
+ ::ReleaseStgMedium(&i->second);
+ }
+ }
+ static void SetData(const FORMATETC &format, const STGMEDIUM &medium)
+ {
+ CDataMap::iterator i = st.find(format);
+ if (st.end() != i) {
+ ::ReleaseStgMedium(&i->second);
+ i->second = medium;
+ } else {
+ st[format] = medium;
+ }
+ }
+ static const FORMATETC *FindFormat(const FORMATETC &format)
+ {
+ static FORMATETC fm = {0};
+ CDataMap::iterator i = st.find(format);
+ if (st.end() != i) {
+ return &i->first;
+ }
+ for (i = st.begin(); st.end() != i; ++i) {
+ if (i->first.cfFormat==format.cfFormat) {
+ return &i->first;
+ }
+ }
+ return NULL;
+ }
+ static STGMEDIUM *FindData(const FORMATETC &format)
+ {
+ CDataMap::iterator i = st.find(format);
+ if (st.end() != i) {
+ return &i->second;
+ }
+ for (i = st.begin(); st.end() != i; ++i) {
+ const FORMATETC &f = i->first;
+ if (f.cfFormat==format.cfFormat && (f.tymed == (f.tymed & format.tymed))) {
+ return &i->second;
+ }
+ }
+ return NULL;
+ }
+};
+
+
+CDataMap PictureDragHelper::st;
+IDragSourceHelper *PictureDragHelper::pHelper = NULL;
+
+extern const CLIPFORMAT CF_PERFORMEDDROPEFFECT = ::RegisterClipboardFormat(CFSTR_PERFORMEDDROPEFFECT);
+extern const CLIPFORMAT CF_FILEGROUPDESCRIPTORW = ::RegisterClipboardFormat(CFSTR_FILEDESCRIPTORW);
+extern const CLIPFORMAT CF_FILEGROUPDESCRIPTORA = ::RegisterClipboardFormat(CFSTR_FILEDESCRIPTORA);
+extern const CLIPFORMAT CF_FILECONTENTS = ::RegisterClipboardFormat(CFSTR_FILECONTENTS);
+
typedef struct {
AwtDragSource* dragSource;
jobject cursor;
+ jintArray imageData;
+ jint imageWidth;
+ jint imageHeight;
+ jint x;
+ jint y;
} StartDragRec;
/**
* StartDrag
*/
-void AwtDragSource::StartDrag(AwtDragSource* self, jobject cursor) {
+void AwtDragSource::StartDrag(
+ AwtDragSource* self,
+ jobject cursor,
+ jintArray imageData,
+ jint imageWidth,
+ jint imageHeight,
+ jint x,
+ jint y)
+{
StartDragRec* sdrp = new StartDragRec;
sdrp->dragSource = self;
+ sdrp->imageData = imageData;
sdrp->cursor = cursor;
+ sdrp->imageWidth = imageWidth;
+ sdrp->imageHeight = imageHeight;
+ sdrp->x = x;
+ sdrp->y = y;
AwtToolkit::GetInstance().WaitForSingleObject(self->m_mutex);
@@ -82,6 +247,17 @@
JNIEnv* env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
jobject peer = env->NewLocalRef(dragSource->GetPeer());
+ if (sdrp->imageData) {
+ PictureDragHelper::Create(
+ env,
+ sdrp->imageData,
+ sdrp->imageWidth,
+ sdrp->imageHeight,
+ sdrp->x,
+ sdrp->y,
+ (IDataObject*)dragSource);
+ env->DeleteGlobalRef(sdrp->imageData);
+ }
dragSource->SetCursor(sdrp->cursor);
env->DeleteGlobalRef(sdrp->cursor);
delete sdrp;
@@ -116,6 +292,7 @@
DASSERT(AwtDropTarget::IsCurrentDnDDataObject(dragSource));
AwtDropTarget::SetCurrentDnDDataObject(NULL);
+ PictureDragHelper::Destroy();
dragSource->Release();
}
@@ -268,7 +445,10 @@
idx++;
// now make a copy, but with a TYMED of HGLOBAL
- memcpy(m_types + idx, m_types + idx - 1, sizeof(FORMATETC));
+ m_types[idx] = m_types[idx-1];
+ m_types[idx].tymed = TYMED_HGLOBAL;
+ idx++;
+ break;
case CF_HDROP:
m_types[idx].tymed = TYMED_HGLOBAL;
idx++;
@@ -348,6 +528,14 @@
FORMATETC *cacheEnt) {
TRY;
+ const FORMATETC *pFormat = PictureDragHelper::FindFormat(*pFormatEtcIn);
+ if (NULL != pFormat) {
+ if (NULL != cacheEnt) {
+ *cacheEnt = *pFormat;
+ }
+ return S_OK;
+ }
+
if ((pFormatEtcIn->tymed & (TYMED_HGLOBAL | TYMED_ISTREAM | TYMED_ENHMF |
TYMED_MFPICT)) == 0) {
return DV_E_TYMED;
@@ -357,8 +545,7 @@
return DV_E_DVASPECT;
}
- FORMATETC tmp;
- memcpy(&tmp, pFormatEtcIn, sizeof(FORMATETC));
+ FORMATETC tmp = *pFormatEtcIn;
static const DWORD supportedTymeds[] =
{ TYMED_ISTREAM, TYMED_HGLOBAL, TYMED_ENHMF, TYMED_MFPICT };
@@ -367,22 +554,22 @@
for (int i = 0; i < nSupportedTymeds; i++) {
/*
* Fix for BugTraq Id 4426805.
- * Match only if the tymed is supported by the requestor.
+ * Match only if the tymed is supported by the requester.
*/
if ((pFormatEtcIn->tymed & supportedTymeds[i]) == 0) {
continue;
}
tmp.tymed = supportedTymeds[i];
- FORMATETC *cp = (FORMATETC *)bsearch((const void *)&tmp,
+ pFormat = (const FORMATETC *)bsearch((const void *)&tmp,
(const void *)m_types,
(size_t) m_ntypes,
(size_t) sizeof(FORMATETC),
_compar
);
- if (cp != (FORMATETC *)NULL) {
+ if (NULL != pFormat) {
if (cacheEnt != (FORMATETC *)NULL) {
- memcpy(cacheEnt, cp, sizeof(FORMATETC));
+ *cacheEnt = *pFormat;
}
return S_OK;
}
@@ -481,7 +668,7 @@
//CR 6480706 - MS Bug on hold
HCURSOR hNeedCursor;
- if(
+ if (
m_bRestoreNodropCustomCursor &&
m_cursor != NULL &&
(hNeedCursor = m_cursor->GetHCursor()) != ::GetCursor() )
@@ -579,6 +766,19 @@
HRESULT __stdcall AwtDragSource::GetData(FORMATETC __RPC_FAR *pFormatEtc,
STGMEDIUM __RPC_FAR *pmedium) {
TRY;
+ STGMEDIUM *pPicMedia = PictureDragHelper::FindData(*pFormatEtc);
+ if (NULL != pPicMedia) {
+ *pmedium = *pPicMedia;
+ //return outside, so AddRef the instance of pstm or hGlobal!
+ if (pmedium->tymed == TYMED_ISTREAM) {
+ pmedium->pstm->AddRef();
+ pmedium->pUnkForRelease = (IUnknown *)NULL;
+ } else if (pmedium->tymed == TYMED_HGLOBAL) {
+ AddRef();
+ pmedium->pUnkForRelease = (IDropSource *)this;
+ }
+ return S_OK;
+ }
HRESULT res = GetProcessId(pFormatEtc, pmedium);
if (res == S_OK) {
@@ -870,8 +1070,6 @@
*/
HRESULT __stdcall AwtDragSource::SetData(FORMATETC __RPC_FAR *pFormatEtc, STGMEDIUM __RPC_FAR *pmedium, BOOL fRelease) {
- static CLIPFORMAT CF_PERFORMEDDROPEFFECT = ::RegisterClipboardFormat(CFSTR_PERFORMEDDROPEFFECT);
-
if (pFormatEtc->cfFormat == CF_PERFORMEDDROPEFFECT && pmedium->tymed == TYMED_HGLOBAL) {
m_dwPerformedDropEffect = *(DWORD*)::GlobalLock(pmedium->hGlobal);
::GlobalUnlock(pmedium->hGlobal);
@@ -880,6 +1078,12 @@
}
return S_OK;
}
+
+ if (fRelease) {
+ //we are copying pmedium as a structure for further use, so no any release!
+ PictureDragHelper::SetData(*pFormatEtc, *pmedium);
+ return S_OK;
+ }
return E_UNEXPECTED;
}
@@ -1538,12 +1742,28 @@
* doDragDrop
*/
-JNIEXPORT void JNICALL Java_sun_awt_windows_WDragSourceContextPeer_doDragDrop(JNIEnv* env, jobject self, jlong nativeCtxt, jobject cursor) {
+JNIEXPORT void JNICALL Java_sun_awt_windows_WDragSourceContextPeer_doDragDrop(
+ JNIEnv* env,
+ jobject self,
+ jlong nativeCtxt,
+ jobject cursor,
+ jintArray imageData,
+ jint imageWidth, jint imageHeight,
+ jint x, jint y)
+{
TRY;
cursor = env->NewGlobalRef(cursor);
+ if (NULL != imageData) {
+ imageData = (jintArray)env->NewGlobalRef(imageData);
+ }
- AwtDragSource::StartDrag((AwtDragSource*)nativeCtxt, cursor);
+ AwtDragSource::StartDrag(
+ (AwtDragSource*)nativeCtxt,
+ cursor,
+ imageData,
+ imageWidth, imageHeight,
+ x, y);
CATCH_BAD_ALLOC;
}
--- a/jdk/src/windows/native/sun/windows/awt_DnDDS.h Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awt_DnDDS.h Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 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
@@ -84,7 +84,14 @@
// AwtDragSource
- static void StartDrag(AwtDragSource* self, jobject cursor);
+ static void StartDrag(
+ AwtDragSource* self,
+ jobject cursor,
+ jintArray imageData,
+ jint imageWidth,
+ jint imageHeight,
+ jint x,
+ jint y);
HRESULT ChangeCursor();
void SetCursor(jobject cursor);
@@ -268,4 +275,9 @@
static jfieldID awtIEmods;
};
+extern const CLIPFORMAT CF_PERFORMEDDROPEFFECT;
+extern const CLIPFORMAT CF_FILEGROUPDESCRIPTORA;
+extern const CLIPFORMAT CF_FILEGROUPDESCRIPTORW;
+extern const CLIPFORMAT CF_FILECONTENTS;
+
#endif /* AWT_DND_DS_H */
--- a/jdk/src/windows/native/sun/windows/awt_DnDDT.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awt_DnDDT.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 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
@@ -24,24 +24,27 @@
*/
#include "awt.h"
+#include <shlwapi.h>
+#include <shellapi.h>
+#include <memory.h>
+
#include "awt_DataTransferer.h"
-#include "awt_DnDDT.h"
-#include "awt_DnDDS.h"
#include "awt_Toolkit.h"
#include "java_awt_dnd_DnDConstants.h"
#include "sun_awt_windows_WDropTargetContextPeer.h"
#include "awt_Container.h"
+#include "alloc.h"
+#include "awt_ole.h"
+#include "awt_DnDDT.h"
+#include "awt_DnDDS.h"
-#include <memory.h>
-#include <shellapi.h>
// forwards
extern "C" {
-DWORD __cdecl convertActionsToDROPEFFECT(jint actions);
-jint __cdecl convertDROPEFFECTToActions(DWORD effects);
-
-DWORD __cdecl mapModsToDROPEFFECT(DWORD, DWORD);
+ DWORD __cdecl convertActionsToDROPEFFECT(jint actions);
+ jint __cdecl convertDROPEFFECTToActions(DWORD effects);
+ DWORD __cdecl mapModsToDROPEFFECT(DWORD, DWORD);
} // extern "C"
@@ -64,6 +67,7 @@
m_dtcp = NULL;
m_cfFormats = NULL;
m_mutex = ::CreateMutex(NULL, FALSE, NULL);
+ m_pIDropTargetHelper = NULL;
}
/**
@@ -129,6 +133,13 @@
HRESULT __stdcall AwtDropTarget::DragEnter(IDataObject __RPC_FAR *pDataObj, DWORD grfKeyState, POINTL pt, DWORD __RPC_FAR *pdwEffect) {
TRY;
+ if (NULL != m_pIDropTargetHelper) {
+ m_pIDropTargetHelper->DragEnter(
+ m_window,
+ pDataObj,
+ (LPPOINT)&pt,
+ *pdwEffect);
+ }
AwtInterfaceLocker _lk(this);
@@ -200,6 +211,12 @@
HRESULT __stdcall AwtDropTarget::DragOver(DWORD grfKeyState, POINTL pt, DWORD __RPC_FAR *pdwEffect) {
TRY;
+ if (NULL != m_pIDropTargetHelper) {
+ m_pIDropTargetHelper->DragOver(
+ (LPPOINT)&pt,
+ *pdwEffect
+ );
+ }
AwtInterfaceLocker _lk(this);
@@ -250,6 +267,9 @@
HRESULT __stdcall AwtDropTarget::DragLeave() {
TRY_NO_VERIFY;
+ if (NULL != m_pIDropTargetHelper) {
+ m_pIDropTargetHelper->DragLeave();
+ }
AwtInterfaceLocker _lk(this);
@@ -288,7 +308,13 @@
HRESULT __stdcall AwtDropTarget::Drop(IDataObject __RPC_FAR *pDataObj, DWORD grfKeyState, POINTL pt, DWORD __RPC_FAR *pdwEffect) {
TRY;
-
+ if (NULL != m_pIDropTargetHelper) {
+ m_pIDropTargetHelper->Drop(
+ pDataObj,
+ (LPPOINT)&pt,
+ *pdwEffect
+ );
+ }
AwtInterfaceLocker _lk(this);
JNIEnv* env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
@@ -410,9 +436,22 @@
// if we are'nt yet visible, defer until the parent is!
if (show) {
- res = ::RegisterDragDrop(m_window, (IDropTarget*)this);
+ OLE_TRY
+ OLE_HRT(CoCreateInstance(
+ CLSID_DragDropHelper,
+ NULL,
+ CLSCTX_ALL,
+ IID_IDropTargetHelper,
+ (LPVOID*)&m_pIDropTargetHelper
+ ))
+ OLE_HRT(::RegisterDragDrop(m_window, (IDropTarget*)this))
+ OLE_CATCH
+ res = OLE_HR;
} else {
res = ::RevokeDragDrop(m_window);
+ if (NULL != m_pIDropTargetHelper) {
+ m_pIDropTargetHelper->Release();
+ }
}
if (res == S_OK) m_registered = show;
@@ -454,301 +493,487 @@
* Returns the data object being transferred.
*/
-jobject AwtDropTarget::GetData(jlong fmt) {
- JNIEnv* env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
- if (env->EnsureLocalCapacity(1) < 0) {
- return (jobject)NULL;
- }
-
+HRESULT AwtDropTarget::ExtractNativeData(
+ jlong fmt,
+ LONG lIndex,
+ STGMEDIUM *pmedium)
+{
FORMATETC format = { (unsigned short)fmt };
- STGMEDIUM stgmedium;
- HRESULT hResult = E_FAIL;
+ HRESULT hr = E_INVALIDARG;
- static const DWORD supportedTymeds[] = { TYMED_ISTREAM, TYMED_ENHMF,
- TYMED_GDI, TYMED_MFPICT,
- TYMED_FILE, TYMED_HGLOBAL };
- static const int nSupportedTymeds = 6;
+ static const DWORD supportedTymeds[] = {
+ TYMED_ISTREAM,
+ TYMED_ENHMF,
+ TYMED_GDI,
+ TYMED_MFPICT,
+ TYMED_FILE,
+ TYMED_HGLOBAL
+ };
- for (int i = 0; i < nSupportedTymeds; i++) {
-
+ for (int i = 0; i < sizeof(supportedTymeds)/sizeof(supportedTymeds[0]); ++i) {
// Only TYMED_HGLOBAL is supported for CF_LOCALE.
if (fmt == CF_LOCALE && supportedTymeds[i] != TYMED_HGLOBAL) {
continue;
}
format.tymed = supportedTymeds[i];
+ FORMATETC *cpp = (FORMATETC *)bsearch(
+ (const void *)&format,
+ (const void *)m_formats,
+ (size_t)m_nformats,
+ (size_t)sizeof(FORMATETC),
+ _compar);
- FORMATETC *cpp = (FORMATETC *)bsearch((const void *)&format,
- (const void *)m_formats,
- (size_t) m_nformats,
- (size_t) sizeof(FORMATETC),
- _compar
- );
-
- if (cpp == (FORMATETC *)NULL) {
+ if (NULL == cpp) {
continue;
}
- memcpy(&format, cpp, sizeof(FORMATETC));
+ format = *cpp;
+ format.lindex = lIndex;
- hResult = m_dataObject->GetData(&format, &stgmedium);
-
- if (hResult == S_OK) {
- break;
+ hr = m_dataObject->GetData(&format, pmedium);
+ if (SUCCEEDED(hr)) {
+ return hr;
}
}
+ return hr;
+}
- // Failed to retrieve data.
- if (hResult != S_OK) {
- return (jobject)NULL;
+HRESULT CheckRetValue(
+ JNIEnv* env,
+ jobject ret)
+{
+ if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) {
+ return E_UNEXPECTED;
+ } else if (JNU_IsNull(env, ret)) {
+ return E_INVALIDARG;
}
+ return S_OK;
+}
+jobject AwtDropTarget::ConvertNativeData(JNIEnv* env, jlong fmt, STGMEDIUM *pmedium) /*throw std::bad_alloc */
+{
jobject ret = NULL;
jbyteArray paletteDataLocal = NULL;
-
- switch (stgmedium.tymed) {
+ HRESULT hr = S_OK;
+ switch (pmedium->tymed) {
case TYMED_HGLOBAL: {
if (fmt == CF_LOCALE) {
- LCID *lcid = (LCID *)::GlobalLock(stgmedium.hGlobal);
- if (lcid == NULL) {
- ::ReleaseStgMedium(&stgmedium);
- return NULL;
+ LCID *lcid = (LCID *)::GlobalLock(pmedium->hGlobal);
+ if (NULL == lcid) {
+ hr = E_INVALIDARG;
+ } else {
+ try{
+ ret = AwtDataTransferer::LCIDToTextEncoding(env, *lcid);
+ hr = CheckRetValue(env, ret);
+ } catch (std::bad_alloc&) {
+ hr = E_OUTOFMEMORY;
+ }
+ ::GlobalUnlock(pmedium->hGlobal);
}
- try {
- ret = AwtDataTransferer::LCIDToTextEncoding(env, *lcid);
- } catch (...) {
- ::GlobalUnlock(stgmedium.hGlobal);
- ::ReleaseStgMedium(&stgmedium);
- throw;
- }
- ::GlobalUnlock(stgmedium.hGlobal);
- ::ReleaseStgMedium(&stgmedium);
} else {
::SetLastError(0); // clear error
// Warning C4244.
// Cast SIZE_T (__int64 on 64-bit/unsigned int on 32-bit)
// to jsize (long).
- SIZE_T globalSize = ::GlobalSize(stgmedium.hGlobal);
+ SIZE_T globalSize = ::GlobalSize(pmedium->hGlobal);
jsize size = (globalSize <= INT_MAX) ? (jsize)globalSize : INT_MAX;
if (size == 0 && ::GetLastError() != 0) {
- ::SetLastError(0); // clear error
- ::ReleaseStgMedium(&stgmedium);
- return (jobject)NULL; // failed
+ hr = E_INVALIDARG;
+ } else {
+ jbyteArray bytes = env->NewByteArray(size);
+ if (NULL == bytes) {
+ hr = E_OUTOFMEMORY;
+ } else {
+ LPVOID data = ::GlobalLock(pmedium->hGlobal);
+ if (NULL == data) {
+ hr = E_INVALIDARG;
+ } else {
+ env->SetByteArrayRegion(bytes, 0, size, (jbyte *)data);
+ ret = bytes;
+ //bytes is not null here => no CheckRetValue call
+ ::GlobalUnlock(pmedium->hGlobal);
+ }
+ }
}
-
- jbyteArray bytes = env->NewByteArray(size);
- if (bytes == NULL) {
- ::ReleaseStgMedium(&stgmedium);
- throw std::bad_alloc();
- }
-
- LPVOID data = ::GlobalLock(stgmedium.hGlobal);
- env->SetByteArrayRegion(bytes, 0, size, (jbyte *)data);
- ::GlobalUnlock(stgmedium.hGlobal);
- ::ReleaseStgMedium(&stgmedium);
-
- ret = bytes;
}
break;
}
case TYMED_FILE: {
- jobject local = JNU_NewStringPlatform(env, stgmedium.lpszFileName);
+ jobject local = JNU_NewStringPlatform(
+ env,
+ pmedium->lpszFileName);
jstring fileName = (jstring)env->NewGlobalRef(local);
env->DeleteLocalRef(local);
STGMEDIUM *stgm = NULL;
try {
+ //on success stgm would be deallocated by JAVA call freeStgMedium
stgm = (STGMEDIUM *)safe_Malloc(sizeof(STGMEDIUM));
+ memcpy(stgm, pmedium, sizeof(STGMEDIUM));
+ // Warning C4311.
+ // Cast pointer to jlong (__int64).
+ ret = call_dTCgetfs(env, fileName, (jlong)stgm);
+ hr = CheckRetValue(env, ret);
} catch (std::bad_alloc&) {
- env->DeleteGlobalRef(fileName);
- ::ReleaseStgMedium(&stgmedium);
- throw;
+ hr = E_OUTOFMEMORY;
}
- memcpy(stgm, &stgmedium, sizeof(STGMEDIUM));
-
- // Warning C4311.
- // Cast pointer to jlong (__int64).
- ret = call_dTCgetfs(env, fileName, (jlong)stgm);
- try {
- if (JNU_IsNull(env, ret) ||
- !JNU_IsNull(env, safe_ExceptionOccurred(env))) {
- env->DeleteGlobalRef(fileName);
- free((void*)stgm);
- ::ReleaseStgMedium(&stgmedium);
- return (jobject)NULL;
- }
- } catch (std::bad_alloc&) {
+ if (FAILED(hr)) {
+ //free just on error
env->DeleteGlobalRef(fileName);
- free((void*)stgm);
- ::ReleaseStgMedium(&stgmedium);
- throw;
+ free(stgm);
}
break;
}
-
case TYMED_ISTREAM: {
- WDTCPIStreamWrapper* istream = new WDTCPIStreamWrapper(&stgmedium);
-
- // Warning C4311.
- // Cast pointer to jlong (__int64).
- ret = call_dTCgetis(env, (jlong)istream);
- try {
- if (JNU_IsNull(env, ret) ||
- !JNU_IsNull(env, safe_ExceptionOccurred(env))) {
- istream->Close();
- return (jobject)NULL;
- }
- } catch (std::bad_alloc&) {
- istream->Close();
- throw;
- }
- break;
+ WDTCPIStreamWrapper* istream = NULL;
+ try {
+ istream = new WDTCPIStreamWrapper(pmedium);
+ // Warning C4311.
+ // Cast pointer to jlong (__int64).
+ ret = call_dTCgetis(env, (jlong)istream);
+ hr = CheckRetValue(env, ret);
+ } catch (std::bad_alloc&) {
+ hr = E_OUTOFMEMORY;
+ }
+ if (FAILED(hr) && NULL!=istream) {
+ //free just on error
+ istream->Close();
+ }
+ break;
}
-
case TYMED_GDI:
// Currently support only CF_PALETTE for TYMED_GDI.
- switch (fmt) {
- case CF_PALETTE: {
- ret = AwtDataTransferer::GetPaletteBytes(stgmedium.hBitmap,
- 0, TRUE);
- break;
+ if (CF_PALETTE == fmt) {
+ ret = AwtDataTransferer::GetPaletteBytes(
+ pmedium->hBitmap,
+ 0,
+ TRUE);
+ hr = CheckRetValue(env, ret);
}
- }
- ::ReleaseStgMedium(&stgmedium);
break;
case TYMED_MFPICT:
case TYMED_ENHMF: {
HENHMETAFILE hEnhMetaFile = NULL;
- LPBYTE lpEmfBits = NULL;
-
- if (stgmedium.tymed == TYMED_MFPICT) {
+ if (pmedium->tymed == TYMED_MFPICT ) {
+ //let's create ENHMF from MFPICT to simplify treatment
LPMETAFILEPICT lpMetaFilePict =
- (LPMETAFILEPICT)::GlobalLock(stgmedium.hMetaFilePict);
- UINT uSize = ::GetMetaFileBitsEx(lpMetaFilePict->hMF, 0, NULL);
- DASSERT(uSize != 0);
-
- try {
- LPBYTE lpMfBits = (LPBYTE)safe_Malloc(uSize);
- VERIFY(::GetMetaFileBitsEx(lpMetaFilePict->hMF, uSize,
- lpMfBits) == uSize);
- hEnhMetaFile = ::SetWinMetaFileBits(uSize,
- lpMfBits,
- NULL,
- lpMetaFilePict);
- free(lpMfBits);
- } catch (...) {
- ::GlobalUnlock(stgmedium.hMetaFilePict);
- throw;
+ (LPMETAFILEPICT)::GlobalLock(pmedium->hMetaFilePict);
+ if (NULL == lpMetaFilePict) {
+ hr = E_INVALIDARG;
+ } else {
+ UINT uSize = ::GetMetaFileBitsEx(lpMetaFilePict->hMF, 0, NULL);
+ if (0 == uSize) {
+ hr = E_INVALIDARG;
+ } else {
+ try{
+ LPBYTE lpMfBits = (LPBYTE)safe_Malloc(uSize);
+ VERIFY(::GetMetaFileBitsEx(
+ lpMetaFilePict->hMF,
+ uSize,
+ lpMfBits) == uSize);
+ hEnhMetaFile = ::SetWinMetaFileBits(
+ uSize,
+ lpMfBits,
+ NULL,
+ lpMetaFilePict);
+ free(lpMfBits);
+ } catch (std::bad_alloc&) {
+ hr = E_OUTOFMEMORY;
+ }
+ }
+ ::GlobalUnlock(pmedium->hMetaFilePict);
}
- ::GlobalUnlock(stgmedium.hMetaFilePict);
} else {
- hEnhMetaFile = stgmedium.hEnhMetaFile;
+ hEnhMetaFile = pmedium->hEnhMetaFile;
}
- try {
- paletteDataLocal =
- AwtDataTransferer::GetPaletteBytes(hEnhMetaFile,
- OBJ_ENHMETAFILE,
- FALSE);
+ if (NULL == hEnhMetaFile) {
+ hr = E_INVALIDARG;
+ } else {
+ try {
+ paletteDataLocal = AwtDataTransferer::GetPaletteBytes(
+ hEnhMetaFile,
+ OBJ_ENHMETAFILE,
+ FALSE);
+ //paletteDataLocal can be NULL here - it is not a error!
- UINT uEmfSize = ::GetEnhMetaFileBits(hEnhMetaFile, 0, NULL);
- DASSERT(uEmfSize != 0);
+ UINT uEmfSize = ::GetEnhMetaFileBits(hEnhMetaFile, 0, NULL);
+ DASSERT(uEmfSize != 0);
+
+ LPBYTE lpEmfBits = (LPBYTE)safe_Malloc(uEmfSize);
+ //no chance to throw exception before catch => no more try-blocks
+ //and no leaks on lpEmfBits
- lpEmfBits = (LPBYTE)safe_Malloc(uEmfSize);
- VERIFY(::GetEnhMetaFileBits(hEnhMetaFile, uEmfSize,
- lpEmfBits) == uEmfSize);
+ VERIFY(::GetEnhMetaFileBits(
+ hEnhMetaFile,
+ uEmfSize,
+ lpEmfBits) == uEmfSize);
- if (stgmedium.tymed == TYMED_MFPICT) {
- ::DeleteEnhMetaFile(hEnhMetaFile);
- } else {
- ::ReleaseStgMedium(&stgmedium);
- }
- hEnhMetaFile = NULL;
-
- jbyteArray bytes = env->NewByteArray(uEmfSize);
- if (bytes == NULL) {
- throw std::bad_alloc();
+ jbyteArray bytes = env->NewByteArray(uEmfSize);
+ if (NULL == bytes) {
+ hr = E_OUTOFMEMORY;
+ } else {
+ env->SetByteArrayRegion(bytes, 0, uEmfSize, (jbyte*)lpEmfBits);
+ ret = bytes;
+ //bytes is not null here => no CheckRetValue call
+ }
+ free(lpEmfBits);
+ } catch (std::bad_alloc&) {
+ hr = E_OUTOFMEMORY;
}
-
- env->SetByteArrayRegion(bytes, 0, uEmfSize, (jbyte*)lpEmfBits);
- free(lpEmfBits);
- lpEmfBits = NULL;
-
- ret = bytes;
- } catch (...) {
- if (!JNU_IsNull(env, paletteDataLocal)) {
- env->DeleteLocalRef(paletteDataLocal);
- paletteDataLocal = NULL;
+ if (pmedium->tymed == TYMED_MFPICT) {
+ //because we create it manually
+ ::DeleteEnhMetaFile(hEnhMetaFile);
}
- if (hEnhMetaFile != NULL) {
- if (stgmedium.tymed == TYMED_MFPICT) {
- ::DeleteEnhMetaFile(hEnhMetaFile);
- } else {
- ::ReleaseStgMedium(&stgmedium);
- }
- hEnhMetaFile = NULL;
- }
- if (lpEmfBits != NULL) {
- free(lpEmfBits);
- lpEmfBits = NULL;
- }
- throw;
}
break;
}
case TYMED_ISTORAGE:
default:
- ::ReleaseStgMedium(&stgmedium);
- return (jobject)NULL;
+ hr = E_NOTIMPL;
+ break;
}
- if (ret == NULL) {
- return (jobject)NULL;
+ if (FAILED(hr)) {
+ //clear exception garbage for hr = E_UNEXPECTED
+ ret = NULL;
+ } else {
+ switch (fmt) {
+ case CF_METAFILEPICT:
+ case CF_ENHMETAFILE:
+ // If we failed to retrieve palette entries from metafile,
+ // fall through and try CF_PALETTE format.
+ case CF_DIB: {
+ if (JNU_IsNull(env, paletteDataLocal)) {
+ jobject paletteData = GetData(CF_PALETTE);
+
+ if (JNU_IsNull(env, paletteData)) {
+ paletteDataLocal =
+ AwtDataTransferer::GetPaletteBytes(NULL, 0, TRUE);
+ } else {
+ // GetData() returns a global ref.
+ // We want to deal with local ref.
+ paletteDataLocal = (jbyteArray)env->NewLocalRef(paletteData);
+ env->DeleteGlobalRef(paletteData);
+ }
+ }
+ DASSERT(!JNU_IsNull(env, paletteDataLocal) &&
+ !JNU_IsNull(env, ret));
+
+ jobject concat = AwtDataTransferer::ConcatData(env, paletteDataLocal, ret);
+ env->DeleteLocalRef(ret);
+ ret = concat;
+ hr = CheckRetValue(env, ret);
+ break;
+ }
+ }
}
- switch (fmt) {
- case CF_METAFILEPICT:
- case CF_ENHMETAFILE:
- // If we failed to retrieve palette entries from metafile,
- // fall through and try CF_PALETTE format.
- case CF_DIB: {
- if (JNU_IsNull(env, paletteDataLocal)) {
- jobject paletteData = GetData(CF_PALETTE);
+ if (!JNU_IsNull(env, paletteDataLocal) ) {
+ env->DeleteLocalRef(paletteDataLocal);
+ }
+ jobject global = NULL;
+ if (SUCCEEDED(hr)) {
+ global = env->NewGlobalRef(ret);
+ env->DeleteLocalRef(ret);
+ } else if (E_UNEXPECTED == hr) {
+ //internal Java non-GPF exception
+ env->ExceptionDescribe();
+ env->ExceptionClear();
+ } else if (E_OUTOFMEMORY == hr) {
+ throw std::bad_alloc();
+ } //NULL returns for all other cases
+ return global;
+}
- if (JNU_IsNull(env, paletteData)) {
- paletteDataLocal =
- AwtDataTransferer::GetPaletteBytes(NULL, 0, TRUE);
- } else {
- // GetData() returns a global ref.
- // We want to deal with local ref.
- paletteDataLocal = (jbyteArray)env->NewLocalRef(paletteData);
- env->DeleteGlobalRef(paletteData);
+HRESULT AwtDropTarget::SaveIndexToFile(LPCTSTR pFileName, UINT lIndex)
+{
+ OLE_TRY
+ STGMEDIUM stgmedium;
+ OLE_HRT( ExtractNativeData(CF_FILECONTENTS, lIndex, &stgmedium) );
+ OLE_NEXT_TRY
+ IStreamPtr spSrc;
+ if (TYMED_HGLOBAL == stgmedium.tymed) {
+ OLE_HRT( CreateStreamOnHGlobal(
+ stgmedium.hGlobal,
+ FALSE,
+ &spSrc
+ ));
+ } else if(TYMED_ISTREAM == stgmedium.tymed) {
+ spSrc = stgmedium.pstm;
+ }
+ if (NULL == spSrc) {
+ OLE_HRT(E_INVALIDARG);
+ }
+ IStreamPtr spDst;
+ OLE_HRT(SHCreateStreamOnFile(
+ pFileName,
+ STGM_WRITE | STGM_CREATE,
+ &spDst
+ ));
+ STATSTG si = {0};
+ OLE_HRT( spSrc->Stat(&si, STATFLAG_NONAME ) );
+ OLE_HRT( spSrc->CopyTo(spDst, si.cbSize, NULL, NULL) );
+ OLE_CATCH
+ ::ReleaseStgMedium(&stgmedium);
+ OLE_CATCH
+ OLE_RETURN_HR;
+}
+
+
+HRESULT GetTempPathWithSlash(JNIEnv *env, _bstr_t &bsTempPath) /*throws _com_error*/
+{
+ static _bstr_t _bsPath;
+
+ OLE_TRY
+ if (0 == _bsPath.length()) {
+ BOOL bSafeEmergency = TRUE;
+ TCHAR szPath[MAX_PATH*2];
+ JLClass systemCls(env, env->FindClass("java/lang/System"));
+ if (systemCls) {
+ jmethodID idGetProperty = env->GetStaticMethodID(
+ systemCls,
+ "getProperty",
+ "(Ljava/lang/String;)Ljava/lang/String;");
+ if (0 != idGetProperty) {
+ static TCHAR param[] = _T("java.io.tmpdir");
+ JLString tempdir(env, JNU_NewStringPlatform(env, param));
+ if (tempdir) {
+ JLString jsTempPath(env, (jstring)env->CallStaticObjectMethod(
+ systemCls,
+ idGetProperty,
+ (jstring)tempdir
+ ));
+ if (jsTempPath) {
+ _bsPath = (LPCWSTR)JavaStringBuffer(env, jsTempPath);
+ OLE_HRT(SHGetFolderPath(
+ NULL,
+ CSIDL_WINDOWS,
+ NULL,
+ 0,
+ szPath));
+ _tcscat(szPath, _T("\\"));
+ //Dead environment block leads to fact that windows folder becomes temporary path.
+ //For example while jtreg execution %TEMP%, %TMP% and etc. aren't defined.
+ bSafeEmergency = ( 0 == _tcsicmp(_bsPath, szPath) );
+ }
+ }
}
}
- DASSERT(!JNU_IsNull(env, paletteDataLocal) &&
- !JNU_IsNull(env, ret));
-
- jobject concat = AwtDataTransferer::ConcatData(env, paletteDataLocal, ret);
+ if (bSafeEmergency) {
+ OLE_HRT(SHGetFolderPath(
+ NULL,
+ CSIDL_INTERNET_CACHE|CSIDL_FLAG_CREATE,
+ NULL,
+ 0,
+ szPath));
+ _tcscat(szPath, _T("\\"));
+ _bsPath = szPath;
+ }
+ }
+ OLE_CATCH
+ bsTempPath = _bsPath;
+ OLE_RETURN_HR
+}
- if (!JNU_IsNull(env, safe_ExceptionOccurred(env))) {
- env->ExceptionDescribe();
- env->ExceptionClear();
- env->DeleteLocalRef(ret);
- env->DeleteLocalRef(paletteDataLocal);
- return (jobject)NULL;
+jobject AwtDropTarget::ConvertMemoryMappedData(JNIEnv* env, jlong fmt, STGMEDIUM *pmedium) /*throw std::bad_alloc */
+{
+ jobject retObj = NULL;
+ OLE_TRY
+ if (TYMED_HGLOBAL != pmedium->tymed) {
+ OLE_HRT(E_INVALIDARG);
+ }
+ FILEGROUPDESCRIPTORA *pfgdHead = (FILEGROUPDESCRIPTORA *)::GlobalLock(pmedium->hGlobal);
+ if (NULL == pfgdHead) {
+ OLE_HRT(E_INVALIDARG);
+ }
+ OLE_NEXT_TRY
+ if (0 == pfgdHead->cItems) {
+ OLE_HRT(E_INVALIDARG);
+ }
+ IStreamPtr spFileNames;
+ OLE_HRT( CreateStreamOnHGlobal(
+ NULL,
+ TRUE,
+ &spFileNames
+ ));
+
+ _bstr_t sbTempDir;
+ OLE_HRT( GetTempPathWithSlash(env, sbTempDir) );
+ FILEDESCRIPTORA *pfgdA = pfgdHead->fgd;
+ FILEDESCRIPTORW *pfgdW = (FILEDESCRIPTORW *)pfgdA;
+ for (UINT i = 0; i < pfgdHead->cItems; ++i) {
+ _bstr_t stFullName(sbTempDir);
+ if(CF_FILEGROUPDESCRIPTORA == fmt) {
+ stFullName += pfgdA->cFileName; //as CHAR
+ ++pfgdA;
+ } else {
+ stFullName += pfgdW->cFileName; //as WCHAR
+ ++pfgdW;
+ }
+ OLE_HRT(SaveIndexToFile(
+ stFullName,
+ i));
+ //write to stream with zero terminator
+ OLE_HRT( spFileNames->Write((LPCTSTR)stFullName, (stFullName.length() + 1)*sizeof(TCHAR), NULL) );
}
-
- env->DeleteLocalRef(ret);
- env->DeleteLocalRef(paletteDataLocal);
- ret = concat;
+ OLE_HRT( spFileNames->Write(_T(""), sizeof(TCHAR), NULL) );
+ STATSTG st;
+ OLE_HRT( spFileNames->Stat(&st, STATFLAG_NONAME) );
- break;
+ //empty lists was forbidden: pfgdHead->cItems > 0
+ jbyteArray bytes = env->NewByteArray(st.cbSize.LowPart);
+ if (NULL == bytes) {
+ OLE_HRT(E_OUTOFMEMORY);
+ } else {
+ HGLOBAL glob;
+ OLE_HRT(GetHGlobalFromStream(spFileNames, &glob));
+ jbyte *pFileListWithDoubleZeroTerminator = (jbyte *)::GlobalLock(glob);
+ env->SetByteArrayRegion(bytes, 0, st.cbSize.LowPart, pFileListWithDoubleZeroTerminator);
+ ::GlobalUnlock(pFileListWithDoubleZeroTerminator);
+ retObj = bytes;
+ }
+ //std::bad_alloc could happen in JStringBuffer
+ //no leaks due to wrapper
+ OLE_CATCH_BAD_ALLOC
+ ::GlobalUnlock(pmedium->hGlobal);
+ OLE_CATCH
+ jobject global = NULL;
+ if (SUCCEEDED(OLE_HR)) {
+ global = env->NewGlobalRef(retObj);
+ env->DeleteLocalRef(retObj);
+ } else if (E_OUTOFMEMORY == OLE_HR) {
+ throw std::bad_alloc();
}
- }
+ return global;
+}
- jobject global = env->NewGlobalRef(ret);
- env->DeleteLocalRef(ret);
- return global;
+jobject AwtDropTarget::GetData(jlong fmt)
+{
+ JNIEnv* env = (JNIEnv *)JNU_GetEnv(jvm, JNI_VERSION_1_2);
+ if (env->EnsureLocalCapacity(1) < 0) {
+ return (jobject)NULL;
+ }
+ jobject ret = NULL;
+ OLE_TRY
+ STGMEDIUM stgmedium;
+ OLE_HRT( ExtractNativeData(fmt, -1, &stgmedium) );
+ OLE_NEXT_TRY
+ if (CF_FILEGROUPDESCRIPTORA == fmt ||
+ CF_FILEGROUPDESCRIPTORW == fmt)
+ {
+ ret = ConvertMemoryMappedData(env, fmt, &stgmedium);
+ } else {
+ ret = ConvertNativeData(env, fmt, &stgmedium);
+ }
+ OLE_CATCH_BAD_ALLOC
+ ::ReleaseStgMedium(&stgmedium);
+ OLE_CATCH
+ if (E_OUTOFMEMORY == OLE_HR) {
+ throw std::bad_alloc();
+ }
+ return ret;
}
/**
@@ -791,14 +1016,14 @@
ULONG actual = 1;
res = pEnumFormatEtc->Next((ULONG)1, &tmp, &actual);
-
- if (res == S_FALSE) break;
+ if (res == S_FALSE)
+ break;
if (!(tmp.cfFormat >= 1 &&
tmp.ptd == NULL &&
- tmp.lindex == -1 &&
+ (tmp.lindex == -1 || CF_FILECONTENTS==tmp.cfFormat) &&
tmp.dwAspect == DVASPECT_CONTENT &&
- (tmp.tymed == TYMED_HGLOBAL ||
+ ( tmp.tymed == TYMED_HGLOBAL ||
tmp.tymed == TYMED_FILE ||
tmp.tymed == TYMED_ISTREAM ||
tmp.tymed == TYMED_GDI ||
@@ -806,7 +1031,8 @@
tmp.tymed == TYMED_ENHMF
) // but not ISTORAGE
)
- ) continue;
+ )
+ continue;
if (m_dataObject->QueryGetData(&tmp) != S_OK) continue;
@@ -1005,6 +1231,7 @@
m_stgmedium = *stgmedium;
m_istream = stgmedium->pstm;
+ m_istream->AddRef();
m_mutex = ::CreateMutex(NULL, FALSE, NULL);
if (javaIOExceptionClazz == (jclass)NULL) {
@@ -1024,7 +1251,7 @@
WDTCPIStreamWrapper::~WDTCPIStreamWrapper() {
::CloseHandle(m_mutex);
-
+ m_istream->Release();
::ReleaseStgMedium(&m_stgmedium);
}
--- a/jdk/src/windows/native/sun/windows/awt_DnDDT.h Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awt_DnDDT.h Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1997-2006 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1997-2009 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
@@ -27,7 +27,7 @@
#define AWT_DND_DT_H
#include <Ole2.h>
-
+#include <shlobj.h>
#include <jni.h>
#include <jni_util.h>
@@ -106,6 +106,11 @@
virtual void UnloadCache();
+ virtual HRESULT ExtractNativeData(jlong fmt, LONG lIndex, STGMEDIUM *pmedium);
+ virtual HRESULT SaveIndexToFile(LPCTSTR pFileName, UINT lIndex);
+ virtual jobject ConvertNativeData(JNIEnv* env, jlong fmt, STGMEDIUM *pmedium);
+ virtual jobject ConvertMemoryMappedData(JNIEnv* env, jlong fmt, STGMEDIUM *pmedium);
+
private:
typedef struct _RegisterTargetRec {
AwtDropTarget* dropTarget;
@@ -152,11 +157,12 @@
// external COM references
- IDataObject __RPC_FAR *m_dataObject;
+ IDataObject *m_dataObject;
+ IDropTargetHelper *m_pIDropTargetHelper;
// static members
- static IDataObject __RPC_FAR *sm_pCurrentDnDDataObject;
+ static IDataObject *sm_pCurrentDnDDataObject;
// method references
--- a/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awt_MenuItem.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -114,6 +114,7 @@
if (m_peerObject != NULL) {
JNI_SET_PDATA(m_peerObject, NULL);
env->DeleteGlobalRef(m_peerObject);
+ m_peerObject = NULL;
}
AwtObject::Dispose();
--- a/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awt_Toolkit.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1996-2009 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
@@ -290,24 +290,6 @@
jmethodID AwtToolkit::insetsMID;
/************************************************************************
- * JavaStringBuffer method
- */
-
-JavaStringBuffer::JavaStringBuffer(JNIEnv *env, jstring jstr) {
- if (jstr != NULL) {
- int length = env->GetStringLength(jstr);
- buffer = new TCHAR[length + 1];
- LPCTSTR tmp = JNU_GetStringPlatformChars(env, jstr, NULL);
- _tcscpy(buffer, tmp);
- JNU_ReleaseStringPlatformChars(env, jstr, tmp);
- } else {
- buffer = new TCHAR[1];
- buffer[0] = _T('\0');
- }
-}
-
-
-/************************************************************************
* AwtToolkit methods
*/
--- a/jdk/src/windows/native/sun/windows/awt_Toolkit.h Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awt_Toolkit.h Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 1996-2008 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 1996-2009 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
@@ -466,20 +466,6 @@
void UninstallMouseLowLevelHook();
};
-/*
- * Class to encapsulate the extraction of the java string contents
- * into a buffer and the cleanup of the buffer
- */
-class JavaStringBuffer {
- public:
- JavaStringBuffer(JNIEnv *env, jstring jstr);
- INLINE ~JavaStringBuffer() { delete[] buffer; }
- INLINE operator LPTSTR() { return buffer; }
- INLINE operator LPARAM() { return (LPARAM)buffer; } /* for SendMessage */
-
- private:
- LPTSTR buffer;
-};
/* creates an instance of T and assigns it to the argument, but only if
the argument is initially NULL. Supposed to be thread-safe.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/windows/native/sun/windows/awt_ole.cpp Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2009 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.
+ */
+
+#include "awt_ole.h"
+#include <time.h>
+#include <sys/timeb.h>
+
+namespace SUN_DBG_NS{
+ //WIN32 debug channel approach
+ //inline void DbgOut(LPCTSTR lpStr) { ::OutputDebugString(lpStr); }
+
+ //Java debug channel approach
+ inline void DbgOut(LPCTSTR lpStr) { DTRACE_PRINT(_B(lpStr)); }
+
+ LPCTSTR CreateTimeStamp(LPTSTR lpBuffer, size_t iBufferSize)
+ {
+ struct _timeb tb;
+ _ftime(&tb);
+ size_t len = _tcsftime(lpBuffer, iBufferSize, _T("%b %d %H:%M:%S"), localtime(&tb.time));
+ if (len && len+4 < iBufferSize) {
+ if (_sntprintf(lpBuffer+len, iBufferSize-len-1, _T(".%03d"), tb.millitm) < 0) {
+ lpBuffer[iBufferSize-len-1] = 0;
+ }
+ }
+ return lpBuffer;
+ }
+
+ #define DTRACE_BUF_LEN 1024
+ void snvTrace(LPCTSTR lpszFormat, va_list argList)
+ {
+ TCHAR szBuffer[DTRACE_BUF_LEN];
+ if (_vsntprintf( szBuffer, DTRACE_BUF_LEN, lpszFormat, argList ) < 0) {
+ szBuffer[DTRACE_BUF_LEN-1] = 0;
+ }
+ TCHAR szTime[32];
+ CreateTimeStamp(szTime, sizeof(szTime));
+ _tcscat(szTime, _T(" "));
+ TCHAR szBuffer1[DTRACE_BUF_LEN];
+ size_t iFormatLen = _tcslen(lpszFormat);
+ BOOL bErrorReport = iFormatLen>6 && _tcscmp(lpszFormat + iFormatLen - 6, _T("[%08x]"))==0;
+ size_t iTimeLen = _tcslen(szTime);
+ if (_sntprintf(
+ szBuffer1 + iTimeLen,
+ DTRACE_BUF_LEN - iTimeLen - 1, //reserver for \n
+ _T("P:%04d T:%04d ") TRACE_SUFFIX _T("%s%s"),
+ ::GetCurrentProcessId(),
+ ::GetCurrentThreadId(),
+ bErrorReport?_T("Error:"):_T(""),
+ szBuffer) < 0)
+ {
+ _tcscpy(szBuffer1 + DTRACE_BUF_LEN - 5, _T("...")); //reserver for \n
+ }
+ memcpy(szBuffer1, szTime, iTimeLen*sizeof(TCHAR));
+ _tcscat(szBuffer1, _T("\n"));
+ DbgOut( szBuffer1 );
+ }
+ void snTrace(LPCTSTR lpszFormat, ... )
+ {
+ va_list argList;
+ va_start(argList, lpszFormat);
+ snvTrace(lpszFormat, argList);
+ va_end(argList);
+ }
+}//SUN_DBG_NS namespace end
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/src/windows/native/sun/windows/awt_ole.h Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,194 @@
+/*
+ * Copyright 2009 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.
+ */
+
+#ifndef AWT_OLE_H
+#define AWT_OLE_H
+
+#include "awt.h"
+#include <ole2.h>
+#include <comdef.h>
+#include <comutil.h>
+
+#ifdef _DEBUG
+ #define _SUN_DEBUG
+#endif
+
+
+#ifndef SUN_DBG_NS
+ #ifdef _LIB
+ #define SUN_DBG_NS SUN_dbg_lib
+ #else
+ #define SUN_DBG_NS SUN_dbg_glb
+ #endif //_LIB
+#endif //SUN_DBG_NS
+
+
+#ifndef TRACE_SUFFIX
+ #define TRACE_SUFFIX
+#endif
+
+namespace SUN_DBG_NS{
+ LPCTSTR CreateTimeStamp(LPTSTR lpBuffer, size_t iBufferSize);
+ inline void snTraceEmp(LPCTSTR, ...) { }
+ void snvTrace(LPCTSTR lpszFormat, va_list argList);
+ void snTrace(LPCTSTR lpszFormat, ... );
+}//SUN_DBG_NS namespace end
+
+#define STRACE1 SUN_DBG_NS::snTrace
+#ifdef _SUN_DEBUG
+ #define STRACE SUN_DBG_NS::snTrace
+#else
+ #define STRACE SUN_DBG_NS::snTraceEmp
+#endif
+#define STRACE0 SUN_DBG_NS::snTraceEmp
+
+struct CLogEntryPoint1 {
+ LPCTSTR m_lpTitle;
+ CLogEntryPoint1(LPCTSTR lpTitle):m_lpTitle(lpTitle) { STRACE(_T("{%s"), m_lpTitle); }
+ ~CLogEntryPoint1(){ STRACE(_T("}%s"), m_lpTitle); }
+};
+struct CLogEntryPoint0 {
+ LPCTSTR m_lpTitle;
+ CLogEntryPoint0(LPCTSTR lpTitle):m_lpTitle(lpTitle) { STRACE0(_T("{%s"), m_lpTitle); }
+ ~CLogEntryPoint0(){ STRACE0(_T("}%s"), m_lpTitle); }
+};
+
+#define SEP1(msg) CLogEntryPoint1 _ep1_(msg);
+#define SEP0(msg) CLogEntryPoint0 _ep0_(msg);
+#ifdef _SUN_DEBUG
+ #define SEP(msg) CLogEntryPoint1 _ep1_(msg);
+#else
+ #define SEP(msg) CLogEntryPoint0 _ep0_(msg);
+#endif
+
+
+#define OLE_BAD_COOKIE ((DWORD)-1)
+
+#define OLE_TRACENOTIMPL(msg)\
+ STRACE(_T("Warning:%s"), msg);\
+ return E_NOTIMPL;
+
+#define OLE_TRACEOK(msg)\
+ STRACE0(_T("Info:%s"), msg);\
+ return S_OK;
+
+
+#define OLE_DECL\
+ HRESULT _hr_ = S_OK;
+
+#define OLE_NEXT_TRY\
+ try {
+
+#define OLE_TRY\
+ OLE_DECL\
+ try {
+
+#define OLE_HRT(fnc)\
+ _hr_ = fnc;\
+ if (FAILED(_hr_)) {\
+ STRACE1(_T("Error:%08x in ") _T(#fnc), _hr_);\
+ _com_raise_error(_hr_);\
+ }
+
+#define OLE_WINERROR2HR(msg, erCode)\
+ _hr_ = erCode;\
+ STRACE1(_T("OSError:%d in ") msg, _hr_);\
+ _hr_ = HRESULT_FROM_WIN32(_hr_);
+
+#define OLE_THROW_LASTERROR(msg)\
+ OLE_WINERROR2HR(msg, ::GetLastError())\
+ _com_raise_error(_hr_);
+
+#define OLE_CHECK_NOTNULL(x)\
+ if (!(x)) {\
+ STRACE1(_T("Null pointer:") _T(#x));\
+ _com_raise_error(_hr_ = E_POINTER);\
+ }
+
+#define OLE_CHECK_NOTNULLSP(x)\
+ if (!bool(x)) {\
+ STRACE1(_T("Null pointer:") _T(#x));\
+ _com_raise_error(_hr_ = E_POINTER);\
+ }
+
+#define OLE_HRW32(fnc)\
+ _hr_ = fnc;\
+ if (ERROR_SUCCESS != _hr_) {\
+ STRACE1(_T("OSError:%d in ") _T(#fnc), _hr_);\
+ _com_raise_error(_hr_ = HRESULT_FROM_WIN32(_hr_));\
+ }
+
+#define OLE_HRW32_BOOL(fnc)\
+ if (!fnc) {\
+ OLE_THROW_LASTERROR(_T(#fnc))\
+ }
+
+#define OLE_CATCH\
+ } catch (_com_error &e) {\
+ _hr_ = e.Error();\
+ STRACE1(_T("COM Error:%08x %s"), _hr_, e.ErrorMessage());\
+ }
+
+#define OLE_CATCH_BAD_ALLOC\
+ } catch (_com_error &e) {\
+ _hr_ = e.Error();\
+ STRACE1(_T("COM Error:%08x %s"), _hr_, e.ErrorMessage());\
+ } catch (std::bad_alloc&) {\
+ _hr_ = E_OUTOFMEMORY;\
+ STRACE1(_T("Error: Out of Memory"));\
+ }
+
+#define OLE_CATCH_ALL\
+ } catch (_com_error &e) {\
+ _hr_ = e.Error();\
+ STRACE1(_T("COM Error:%08x %s"), _hr_, e.ErrorMessage());\
+ } catch(...) {\
+ _hr_ = E_FAIL;\
+ STRACE1(_T("Error: General Pritection Failor"));\
+ }
+
+#define OLE_RETURN_SUCCESS return SUCCEEDED(_hr_);
+#define OLE_RETURN_HR return _hr_;
+#define OLE_HR _hr_
+
+#define _B(x) _bstr_t(x)
+#define _BT(x) (LPCTSTR)_bstr_t(x)
+#define _V(x) _variant_t(x)
+#define _VV(vrt) _variant_t(vrt, false)
+#define _VE _variant_t()
+#define _VB(b) _variant_t(bool(b))
+
+struct OLEHolder
+{
+ OLEHolder()
+ : m_hr(::OleInitialize(NULL))
+ {}
+
+ ~OLEHolder(){}
+ operator bool() const { return S_OK==SUCCEEDED(m_hr); }
+ HRESULT m_hr;
+};
+
+#endif//AWT_OLE_H
--- a/jdk/src/windows/native/sun/windows/awtmsg.h Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/src/windows/native/sun/windows/awtmsg.h Wed Feb 17 10:24:30 2010 -0800
@@ -253,4 +253,8 @@
#define WM_UNDOCUMENTED_CLICKMENUBAR 0x0313
#endif
+#ifndef WM_UNDOCUMENTED_CLIENTSHUTDOWN
+#define WM_UNDOCUMENTED_CLIENTSHUTDOWN 0x003b
+#endif
+
#endif // AWTMSG_H
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/FontClass/FontPrivilege.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2010 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 5010310 6319835 6904882
+ * @summary test fonts can be created in the presence of a security manager
+ * @run main/othervm/secure=java.lang.SecurityManager FontPrivilege
+ */
+
+import java.awt.Font;
+
+public class FontPrivilege {
+
+ public static void main(String[] args) throws Exception {
+ new Font("Helvetica", Font.PLAIN, 12).getFamily();
+ new Font("foo bar", Font.PLAIN, 12).getFamily();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/GraphicsEnvironment/TestGetDefScreenDevice.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2010 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6896335
+ * @summary Test GraphicsEnvironment.getDefaultScreenDevice() in headless mode
+ * @run main/othervm -Djava.awt.headless=true TestGetDefScreenDevice
+ */
+
+import java.awt.*;
+public class TestGetDefScreenDevice {
+
+ public static void main(String[] args) throws Exception {
+ GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
+ try {
+ ge.getDefaultScreenDevice();
+ throw new Exception("Failed. HeadlessException not thrown");
+ } catch (HeadlessException he) {
+ // OK, test passed.
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/PrintJob/Security/SecurityDialogTest.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,105 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+/**
+ * @test
+ * @bug 6195901 6195923 6195928 6195933 6491273 6888734
+ * @summary No SecurityException should be thrown when printing to a file
+ using the given policy.
+ Print to file option should be selected.
+ * @run main/othervm/policy=policy SecurityDialogTest
+ */
+import java.awt.*;
+import java.awt.event.*;
+import java.util.*;
+import java.io.*;
+
+
+public class SecurityDialogTest extends Frame implements ActionListener {
+ // Declare things used in the test, like buttons and labels here
+
+ Button nativeDlg, setSecurity;
+ boolean isNative = true;
+
+ public SecurityDialogTest() {
+
+ nativeDlg = new Button("Print Dialog");
+ nativeDlg.addActionListener(this);
+ setSecurity = new Button("Toggle Dialog");
+ setSecurity.addActionListener(this);
+ add("South", nativeDlg);
+ add("North", setSecurity);
+ setSize(300, 300);
+ setVisible(true);
+ }
+
+ public static void main(String args[]) {
+ System.out.println("Native dialog is the default");
+ SecurityDialogTest test = new SecurityDialogTest();
+ }
+
+ public void actionPerformed(ActionEvent e) {
+
+ if (e.getSource() == setSecurity) {
+ if (isNative) {
+ isNative = false;
+ System.out.println("Common dialog is the default");
+
+ } else {
+ isNative = true;
+ System.out.println("Native dialog is the default");
+ }
+ return;
+ }
+
+ JobAttributes ja = new JobAttributes();
+ PageAttributes pa = new PageAttributes();
+
+ if (isNative) {
+ ja.setDialog(JobAttributes.DialogType.NATIVE);
+ } else {
+ ja.setDialog(JobAttributes.DialogType.COMMON);
+ }
+ ja.setDestination(JobAttributes.DestinationType.FILE);
+ ja.setFileName("mohan.ps");
+
+
+ PrintJob pjob = getToolkit().getPrintJob(this, null, ja, pa);
+
+ if (pjob != null) {
+ Graphics pg = pjob.getGraphics();
+ System.out.println("PJOB: " + pjob);
+ if (pg != null) {
+ System.out.println("Printer Graphics: " + pg);
+ this.printAll(pg);
+ pg.dispose();
+ } else {
+ System.out.println("Printer Graphics is null");
+ }
+ pjob.end();
+ System.out.println("DONE");
+ } else {
+ System.out.println("PJOB is null");
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/PrintJob/Security/policy Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+/* AUTOMATICALLY GENERATED ON Thu Jan 03 15:48:39 PST 2002*/
+/* DO NOT EDIT */
+
+grant {
+ permission java.io.FilePermission "<<ALL FILES>>", "read,write";
+ permission java.lang.RuntimePermission "queuePrintJob";
+ permission java.lang.RuntimePermission "setSecurityManager";
+};
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.html Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,20 @@
+<html>
+<!--
+ @test
+ @bug 6242241
+ @summary Tests basic DnD functionality in an applet
+ @author Your Name: Alexey Utkin area=dnd
+ @run applet/manual=yesno DnDFileGroupDescriptor.html
+ -->
+<head>
+<title> DnDToWordpadTest </title>
+</head>
+<body>
+
+<h1>DnDFileGroupDescriptor<br>Bug ID: 6242241</h1>
+
+<p> See the dialog box (usually in upper left corner) for instructions</p>
+
+<APPLET CODE="DnDFileGroupDescriptor.class" WIDTH=200 HEIGHT=200></APPLET>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDFileGroupDescriptor.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,189 @@
+ /*
+ * Copyright 2009 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.
+ */
+
+/*
+ test
+ @bug 6242241
+ @summary Tests basic DnD functionality in an applet
+ @author Your Name: Alexey Utkin area=dnd
+ @run applet/manual=yesno DnDFileGroupDescriptor.html
+*/
+
+import java.applet.Applet;
+import java.awt.*;
+
+public class DnDFileGroupDescriptor extends Applet {
+ public void init() {
+ setLayout(new BorderLayout());
+
+ String[] instructions = {
+ "The applet window contains a red field.",
+ "1. Start MS Outlook program. Find and open ",
+ " the mail form with attachments.",
+ "2. Select attachments from the mail and drag into a red field of applet.",
+ " When the mouse enters the field during the drag, the application ",
+ " should change the cursor form to OLE-copy and field color to yellow.",
+ "3. Release the mouse button (drop attachments) over the field.",
+ "",
+ "File paths in temporary folder should appear.",
+ "",
+ "You should be able to repeat this operation multiple times.",
+ "Please, select \"Pass\" just in case of success or \"Fail\" for another."
+ };
+ Sysout.createDialogWithInstructions( instructions );
+ }
+
+ public void start() {
+ Panel mainPanel;
+ Component dropTarget;
+
+ mainPanel = new Panel();
+ mainPanel.setLayout(new BorderLayout());
+
+ mainPanel.setBackground(Color.blue);
+ dropTarget = new DnDTarget(Color.red, Color.yellow);
+
+ mainPanel.add(dropTarget, "Center");
+ add(mainPanel);
+
+ setSize(200,200);
+ }
+}
+
+/****************************************************
+ Standard Test Machinery
+ DO NOT modify anything below -- it's a standard
+ chunk of code whose purpose is to make user
+ interaction uniform, and thereby make it simpler
+ to read and understand someone else's test.
+ ****************************************************/
+
+class Sysout
+ {
+ private static TestDialog dialog;
+
+ public static void createDialogWithInstructions( String[] instructions )
+ {
+ dialog = new TestDialog( new Frame(), "Instructions" );
+ dialog.printInstructions( instructions );
+ dialog.show();
+ println( "Any messages for the tester will display here." );
+ }
+
+ public static void createDialog( )
+ {
+ dialog = new TestDialog( new Frame(), "Instructions" );
+ String[] defInstr = { "Instructions will appear here. ", "" } ;
+ dialog.printInstructions( defInstr );
+ dialog.show();
+ println( "Any messages for the tester will display here." );
+ }
+
+
+ public static void printInstructions( String[] instructions )
+ {
+ dialog.printInstructions( instructions );
+ }
+
+
+ public static void println( String messageIn )
+ {
+ dialog.displayMessage( messageIn );
+ }
+
+ }// Sysout class
+
+class TestDialog extends Dialog
+ {
+
+ TextArea instructionsText;
+ TextArea messageText;
+ int maxStringLength = 80;
+
+ //DO NOT call this directly, go through Sysout
+ public TestDialog( Frame frame, String name )
+ {
+ super( frame, name );
+ int scrollBoth = TextArea.SCROLLBARS_BOTH;
+ instructionsText = new TextArea( "", 15, maxStringLength, scrollBoth );
+ add( "North", instructionsText );
+
+ messageText = new TextArea( "", 5, maxStringLength, scrollBoth );
+ add("South", messageText);
+
+ pack();
+
+ show();
+ }// TestDialog()
+
+ //DO NOT call this directly, go through Sysout
+ public void printInstructions( String[] instructions )
+ {
+ //Clear out any current instructions
+ instructionsText.setText( "" );
+
+ //Go down array of instruction strings
+
+ String printStr, remainingStr;
+ for( int i=0; i < instructions.length; i++ )
+ {
+ //chop up each into pieces maxSringLength long
+ remainingStr = instructions[ i ];
+ while( remainingStr.length() > 0 )
+ {
+ //if longer than max then chop off first max chars to print
+ if( remainingStr.length() >= maxStringLength )
+ {
+ //Try to chop on a word boundary
+ int posOfSpace = remainingStr.
+ lastIndexOf( ' ', maxStringLength - 1 );
+
+ if( posOfSpace <= 0 ) posOfSpace = maxStringLength - 1;
+
+ printStr = remainingStr.substring( 0, posOfSpace + 1 );
+ remainingStr = remainingStr.substring( posOfSpace + 1 );
+ }
+ //else just print
+ else
+ {
+ printStr = remainingStr;
+ remainingStr = "";
+ }
+
+ instructionsText.append( printStr + "\n" );
+
+ }// while
+
+ }// for
+
+ }//printInstructions()
+
+ //DO NOT call this directly, go through Sysout
+ public void displayMessage( String messageIn )
+ {
+ messageText.append( messageIn + "\n" );
+ }
+
+ }// TestDialog class
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/DnDFileGroupDescriptor/DnDTarget.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,108 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+* Panel is a DropTarget
+*
+*/
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.awt.dnd.*;
+import java.io.*;
+
+
+class DnDTarget extends Panel implements DropTargetListener {
+ //private int dragOperation = DnDConstants.ACTION_COPY | DnDConstants.ACTION_MOVE;
+ Color bgColor;
+ Color htColor;
+
+ DnDTarget(Color bgColor, Color htColor) {
+ super();
+ setLayout(new FlowLayout());
+ this.bgColor = bgColor;
+ this.htColor = htColor;
+ setBackground(bgColor);
+ setDropTarget(new DropTarget(this, this));
+ add(new Label("drop here"));
+ }
+
+ boolean check(DropTargetDragEvent dtde)
+ {
+ if (dtde.getCurrentDataFlavorsAsList().contains(DataFlavor.javaFileListFlavor)) {
+ dtde.acceptDrag(DnDConstants.ACTION_COPY);
+ return true;
+ }
+ return false;
+ }
+
+ public void dragEnter(DropTargetDragEvent dtde) {
+ if(check(dtde)){
+ setBackground(htColor);
+ repaint();
+ }
+ }
+
+ public void dragOver(DropTargetDragEvent dtde) {
+ check(dtde);
+ }
+
+ public void dropActionChanged(DropTargetDragEvent dtde) {
+ check(dtde);
+ }
+
+ public void dragExit(DropTargetEvent e) {
+ setBackground(bgColor);
+ repaint();
+ }
+
+ public void dragScroll(DropTargetDragEvent e) {
+ System.out.println("[Target] dragScroll");
+ }
+
+ public void drop(DropTargetDropEvent dtde) {
+ System.out.println("[Target] drop");
+ boolean success = false;
+ dtde.acceptDrop(DnDConstants.ACTION_COPY);
+ if( dtde.getCurrentDataFlavorsAsList().contains(DataFlavor.javaFileListFlavor) ){
+ System.out.println("[Target] DROP OK!");
+ try {
+ Transferable transfer = dtde.getTransferable();
+ java.util.List<File> fl = (java.util.List<File>)transfer.getTransferData(DataFlavor.javaFileListFlavor);
+ for(File f : fl){
+ add(new Button(f.getCanonicalPath()));
+ System.out.println("[Target] drop file:" + f.getCanonicalPath());
+ }
+ validate();
+ } catch(Exception ex) {
+ ex.printStackTrace();
+ }
+ setBackground(bgColor);
+ repaint();
+ success = true;
+ }
+ dtde.dropComplete(success);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDSource.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,235 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+* AWT Button is a DragSource and also a transferable object
+*/
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.awt.dnd.*;
+import java.io.*;
+
+class DnDSource extends Button implements Transferable,
+ DragGestureListener,
+ DragSourceListener {
+ private DataFlavor df;
+ private transient int dropAction;
+ private final int dragOperation = DnDConstants.ACTION_COPY | DnDConstants.ACTION_MOVE | DnDConstants.ACTION_LINK;
+ DragSource dragSource = new DragSource();
+
+ DnDSource(String label) {
+ super(label);
+ setBackground(Color.yellow);
+ setForeground(Color.blue);
+ df = new DataFlavor(DnDSource.class, "DnDSource");
+
+ dragSource.createDefaultDragGestureRecognizer(
+ this,
+ dragOperation,
+ this
+ );
+ dragSource.addDragSourceListener(this);
+ }
+
+ public void changeCursor(
+ DragSourceContext dsc,
+ int ra
+ ) {
+ java.awt.Cursor c = null;
+ if ((ra & DnDConstants.ACTION_LINK) == DnDConstants.ACTION_LINK)
+ c = DragSource.DefaultLinkDrop;
+ else if ((ra & DnDConstants.ACTION_MOVE) == DnDConstants.ACTION_MOVE)
+ c = MyCursor.MOVE;//DragSource.DefaultMoveDrop;
+ else if ((ra & DnDConstants.ACTION_COPY) == DnDConstants.ACTION_COPY)
+ c = MyCursor.COPY;
+ else
+ c = MyCursor.NO_DROP;
+ dsc.setCursor(c);
+ }
+
+ /**
+ * a Drag gesture has been recognized
+ */
+
+ public void dragGestureRecognized(DragGestureEvent dge) {
+ System.out.println("starting Drag");
+ try {
+ if (DragSource.isDragImageSupported()) {
+ System.out.println("starting Imaged Drag");
+ dge.startDrag(
+ null,
+ new ImageGenerator(50, 100, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.translate(width/2, height/2);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+ int R = width/4+5;
+ gr.setColor(new Color(0x00, 0x00, 0xff, 0x7F));
+ gr.fillRect(-R, -R, 2*R, 2*R);
+ gr.setColor(new Color(0x00, 0x00, 0xff, 0xff));
+ gr.drawRect(-R, -R, 2*R, 2*R);
+
+
+ gr.translate(10, -10);
+ R -= 5;
+ gr.setColor(Color.RED);
+ gr.fillOval(-R, -R, 2*R, 2*R);
+ gr.setColor(Color.MAGENTA);
+ gr.drawOval(-R, -R, 2*R, 2*R);
+ }
+ }.getImage(),
+ new Point(15, 40),
+ this,
+ this);
+ } else {
+ dge.startDrag(
+ null,
+ this,
+ this);
+ }
+ } catch (InvalidDnDOperationException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * as the hotspot enters a platform dependent drop site
+ */
+
+ public void dragEnter(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dragEnter");
+ changeCursor(
+ dsde.getDragSourceContext(),
+ dsde.getUserAction() & dsde.getDropAction()
+ );
+ }
+
+ /**
+ * as the hotspot moves over a platform dependent drop site
+ */
+ public void dragOver(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dragOver");
+ changeCursor(
+ dsde.getDragSourceContext(),
+ dsde.getUserAction() & dsde.getDropAction()
+ );
+ dropAction = dsde.getUserAction() & dsde.getDropAction();
+ System.out.println("dropAction = " + dropAction);
+ }
+
+ /**
+ * as the hotspot exits a platform dependent drop site
+ */
+ public void dragExit(DragSourceEvent dse) {
+ System.out.println("[Source] dragExit");
+ changeCursor(
+ dse.getDragSourceContext(),
+ DnDConstants.ACTION_NONE
+ );
+ }
+
+ /**
+ * as the operation changes
+ */
+ public void dragGestureChanged(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dragGestureChanged");
+ changeCursor(
+ dsde.getDragSourceContext(),
+ dsde.getUserAction() & dsde.getDropAction()
+ );
+ dropAction = dsde.getUserAction() & dsde.getDropAction();
+ System.out.println("dropAction = " + dropAction);
+ }
+
+
+ /**
+ * as the operation completes
+ */
+ public void dragDropEnd(DragSourceDropEvent dsde) {
+ System.out.println("[Source] dragDropEnd");
+ }
+
+ public void dropActionChanged(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dropActionChanged");
+ dropAction = dsde.getUserAction() & dsde.getDropAction();
+ System.out.println("dropAction = " + dropAction);
+ }
+
+ public DataFlavor[] getTransferDataFlavors() {
+ return new DataFlavor[]{df};
+ }
+
+ public boolean isDataFlavorSupported(DataFlavor sdf) {
+ return df.equals(sdf);
+ }
+
+ public Object getTransferData(DataFlavor tdf) throws UnsupportedFlavorException, IOException {
+ Object copy = null;
+ if( !df.equals(tdf) ){
+ throw new UnsupportedFlavorException(tdf);
+ }
+ Container parent = getParent();
+ switch (dropAction) {
+ case DnDConstants.ACTION_COPY:
+ try {
+ copy = this.clone();
+ } catch (CloneNotSupportedException e) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+
+ oos.writeObject(this);
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ try {
+ copy = ois.readObject();
+ } catch (ClassNotFoundException cnfe) {
+ // do nothing
+ }
+ }
+ parent.add(this);
+ return copy;
+
+ case DnDConstants.ACTION_MOVE:
+ synchronized (this) {
+ if (parent != null) {
+ parent.remove(this);
+ Label label = new Label("[empty]");
+ label.setBackground(Color.cyan);
+ label.setBounds(this.getBounds());
+ parent.add(label);
+ }
+ }
+ return this;
+
+ case DnDConstants.ACTION_LINK:
+ return this;
+
+ default:
+ return null;
+ }
+
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/DnDTarget.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+* Panel is a DropTarget
+*
+*/
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.awt.dnd.*;
+import java.io.*;
+
+
+class DnDTarget extends Panel implements DropTargetListener {
+ private int dragOperation = DnDConstants.ACTION_COPY | DnDConstants.ACTION_MOVE;
+ Color bgColor;
+ Color htColor;
+
+ DnDTarget(Color bgColor, Color htColor) {
+ super();
+ this.bgColor = bgColor;
+ this.htColor = htColor;
+ setBackground(bgColor);
+ setDropTarget(new DropTarget(this, this));
+ }
+
+
+ public void dragEnter(DropTargetDragEvent e) {
+ System.out.println("[Target] dragEnter");
+ setBackground(htColor);
+ repaint();
+ }
+
+ public void dragOver(DropTargetDragEvent e) {
+ System.out.println("[Target] dragOver");
+ }
+
+ public void dragExit(DropTargetEvent e) {
+ System.out.println("[Target] dragExit");
+ setBackground(bgColor);
+ repaint();
+ }
+
+ public void dragScroll(DropTargetDragEvent e) {
+ System.out.println("[Target] dragScroll");
+ }
+
+ public void dropActionChanged(DropTargetDragEvent e) {
+ System.out.println("[Target] dropActionChanged");
+ }
+
+ public void drop(DropTargetDropEvent dtde) {
+ System.out.println("[Target] drop");
+ boolean success = false;
+ if ((dtde.getDropAction() & dragOperation) == 0) {
+ dtde.rejectDrop();
+ Label label = new Label("[no links here :) ]");
+ label.setBackground(Color.cyan);
+ add(label);
+ } else {
+ dtde.acceptDrop(dragOperation);
+ DataFlavor[] dfs = dtde.getCurrentDataFlavors();
+ if (dfs != null && dfs.length >= 1){
+ Transferable transfer = dtde.getTransferable();
+ try {
+ Button button = (Button)transfer.getTransferData(dfs[0]);
+ if( button != null ){
+ add(button);
+ success = true;
+ }
+ } catch (IOException ioe) {
+ System.out.println(ioe.getMessage());
+ return;
+ } catch (UnsupportedFlavorException ufe) {
+ System.out.println(ufe.getMessage());
+ return;
+ } catch (Exception e) {
+ System.out.println(e.getMessage());
+ return;
+ }
+ }
+ }
+ setBackground(bgColor);
+ dtde.dropComplete(success);
+
+ invalidate();
+ validate();
+ repaint();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.html Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,20 @@
+<html>
+<!--
+ @test %W% %E%
+ @bug 4874070
+ @summary Tests basic DnD functionality
+ @author Your Name: Alexey Utkin area=dnd
+ @run applet/manual=yesno ImageDecoratedDnD.html
+ -->
+<head>
+ <title> ImageDecoratedDnD </title>
+</head>
+<body>
+
+<h1>ImageDecoratedDnD<br>Bug ID: 4874070</h1>
+
+<p> See the dialog box (usually in upper left corner) for instructions</p>
+
+<APPLET CODE="ImageDecoratedDnD.class" WIDTH=200 HEIGHT=200></APPLET>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageDecoratedDnD.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,199 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+ test %W% %E%
+ @bug 4874070
+ @summary Tests basic DnD functionality
+ @author Your Name: Alexey Utkin area=dnd
+ @run applet/manual=yesno ImageDecoratedDnD.html
+*/
+
+import java.applet.Applet;
+import java.awt.*;
+import java.awt.dnd.DragSource;
+
+
+
+public class ImageDecoratedDnD extends Applet {
+ //Declare things used in the test, like buttons and labels here
+
+ public void init() {
+ //Create instructions for the user here, as well as set up
+ // the environment -- set the layout manager, add buttons,
+ // etc.
+ this.setLayout(new BorderLayout());
+
+ String[] instructions =
+ {
+ "A Frame, which contains a yellow button labeled \"Drag ME!\" and ",
+ "a red panel, will appear below. ",
+ "1. Click on the button and drag to the red panel. ",
+ "2. When the mouse enters the red panel during the drag, the panel ",
+ "should turn yellow. On the systems that supports pictured drag, ",
+ "the image under the drag-cursor should appear (ancor is shifted ",
+ "from top-left corner of the picture inside the picture to 10pt in both dimensions ). ",
+ "In WIN32 systems the image under cursor would be visible ONLY over ",
+ "the drop targets with activated extended OLE D\'n\'D support (that are ",
+ "the desktop and IE ).",
+ "3. Release the mouse button.",
+ "The panel should turn red again and a yellow button labeled ",
+ "\"Drag ME!\" should appear inside the panel. You should be able ",
+ "to repeat this operation multiple times."
+ };
+ Sysout.createDialogWithInstructions(instructions);
+
+ }//End init()
+
+ public void start() {
+ Frame f = new Frame("Use keyboard for DnD change");
+ Panel mainPanel;
+ Component dragSource, dropTarget;
+
+ f.setBounds(0, 400, 200, 200);
+ f.setLayout(new BorderLayout());
+
+ mainPanel = new Panel();
+ mainPanel.setLayout(new BorderLayout());
+
+ mainPanel.setBackground(Color.blue);
+
+ dropTarget = new DnDTarget(Color.red, Color.yellow);
+ dragSource = new DnDSource("Drag ME! (" + (DragSource.isDragImageSupported()?"with ":"without") + " image)" );
+
+ mainPanel.add(dragSource, "North");
+ mainPanel.add(dropTarget, "Center");
+ f.add(mainPanel, BorderLayout.CENTER);
+
+ f.setVisible(true);
+ }// start()
+}// class DnDAcceptanceTest
+
+
+/**
+ * *************************************************
+ * Standard Test Machinery
+ * DO NOT modify anything below -- it's a standard
+ * chunk of code whose purpose is to make user
+ * interaction uniform, and thereby make it simpler
+ * to read and understand someone else's test.
+ * **************************************************
+ */
+class Sysout {
+ private static TestDialog dialog;
+
+ public static void createDialogWithInstructions(String[] instructions) {
+ dialog = new TestDialog(new Frame(), "Instructions");
+ dialog.printInstructions(instructions);
+ dialog.show();
+ println("Any messages for the tester will display here.");
+ }
+
+ public static void createDialog() {
+ dialog = new TestDialog(new Frame(), "Instructions");
+ String[] defInstr = {"Instructions will appear here. ", ""};
+ dialog.printInstructions(defInstr);
+ dialog.show();
+ println("Any messages for the tester will display here.");
+ }
+
+
+ public static void printInstructions(String[] instructions) {
+ dialog.printInstructions(instructions);
+ }
+
+
+ public static void println(String messageIn) {
+ dialog.displayMessage(messageIn);
+ }
+
+}// Sysout class
+
+
+class TestDialog extends Dialog {
+
+ TextArea instructionsText;
+ TextArea messageText;
+ int maxStringLength = 80;
+
+ //DO NOT call this directly, go through Sysout
+ public TestDialog(Frame frame, String name) {
+ super(frame, name);
+ int scrollBoth = TextArea.SCROLLBARS_BOTH;
+ instructionsText = new TextArea("", 15, maxStringLength, scrollBoth);
+ add("North", instructionsText);
+
+ messageText = new TextArea("", 5, maxStringLength, scrollBoth);
+ add("South", messageText);
+
+ pack();
+
+ show();
+ }// TestDialog()
+
+ //DO NOT call this directly, go through Sysout
+ public void printInstructions(String[] instructions) {
+ //Clear out any current instructions
+ instructionsText.setText("");
+
+ //Go down array of instruction strings
+
+ String printStr, remainingStr;
+ for (int i = 0; i < instructions.length; i++) {
+ //chop up each into pieces maxSringLength long
+ remainingStr = instructions[i];
+ while (remainingStr.length() > 0) {
+ //if longer than max then chop off first max chars to print
+ if (remainingStr.length() >= maxStringLength) {
+ //Try to chop on a word boundary
+ int posOfSpace = remainingStr.
+ lastIndexOf(' ', maxStringLength - 1);
+
+ if (posOfSpace <= 0) posOfSpace = maxStringLength - 1;
+
+ printStr = remainingStr.substring(0, posOfSpace + 1);
+ remainingStr = remainingStr.substring(posOfSpace + 1);
+ }
+ //else just print
+ else {
+ printStr = remainingStr;
+ remainingStr = "";
+ }
+
+ instructionsText.append(printStr + "\n");
+
+ }// while
+
+ }// for
+
+ }//printInstructions()
+
+ //DO NOT call this directly, go through Sysout
+ public void displayMessage(String messageIn) {
+ messageText.append(messageIn + "\n");
+ }
+
+}// TestDialog class
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/ImageGenerator.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+ * Image generator for cursor and drag
+ */
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.awt.image.BufferedImage;
+
+public abstract class ImageGenerator
+{
+ public int width;
+ public int height;
+ private final BufferedImage bi;
+ public ImageGenerator(int _width, int _height, Color bgColor)
+ {
+ width = _width;
+ height = _height;
+ bi = new BufferedImage(
+ width,
+ height,
+ BufferedImage.TYPE_INT_ARGB);
+ Graphics gr = bi.getGraphics();
+ if(null==bgColor){
+ bgColor = Color.WHITE;
+ }
+ gr.setColor(bgColor);
+ gr.fillRect(0, 0, width, height);
+ paint(gr);
+ gr.dispose();
+ }
+ public Image getImage() { return bi; }
+
+ public abstract void paint(Graphics gr);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnD/MyCursor.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2009 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.
+ */
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Toolkit;
+import java.awt.Point;
+
+/**
+ * An interface provides a set of custom cursors
+ */
+
+public interface MyCursor {
+ public static final java.awt.Cursor NO_DROP = Toolkit.getDefaultToolkit().createCustomCursor(
+ new ImageGenerator(32, 32, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.setColor(Color.GREEN);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+
+ gr.translate(width/2, height/2);
+ int R = width/4;
+ gr.drawOval(-R, -R, 2*R, 2*R);
+ gr.drawLine(-R, R, R, -R);
+ }
+ }.getImage(),
+ new Point(0, 0),
+ "My NoDrop Cursor"
+ );
+ public static final java.awt.Cursor MOVE = Toolkit.getDefaultToolkit().createCustomCursor(
+ new ImageGenerator(32, 32, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.setColor(Color.GREEN);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+
+ gr.drawLine(0, 0, width, height);
+ gr.drawLine(0, 0, width/2, 0);
+ gr.drawLine(0, 0, 0, height/2);
+ }
+ }.getImage(),
+ new Point(0, 0),
+ "My Move Cursor"
+ );
+ public static final java.awt.Cursor COPY = Toolkit.getDefaultToolkit().createCustomCursor(
+ new ImageGenerator(32, 32, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.setColor(Color.GREEN);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+ //arrow
+ gr.drawLine(0, 0, width/2, height/2);
+ gr.drawLine(0, 0, width/2, 0);
+ gr.drawLine(0, 0, 0, height/2);
+ //plus
+ gr.drawRect(width/2 - 1, height/2 -1, width/2 - 1, height/2 - 1);
+ gr.drawLine(width*3/4 - 1, height/2 - 1, width*3/4 - 1, height);
+ gr.drawLine(width/2 - 1, height*3/4 - 1, width, height*3/4 - 1);
+ }
+ }.getImage(),
+ new Point(0, 0),
+ "My Copy Cursor"
+ );
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDSource.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,235 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+* AWT Button is a DragSource and also a transferable object
+*/
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.awt.dnd.*;
+import java.io.*;
+
+class DnDSource extends Button implements Transferable,
+ DragGestureListener,
+ DragSourceListener {
+ private DataFlavor df;
+ private transient int dropAction;
+ private final int dragOperation = DnDConstants.ACTION_COPY | DnDConstants.ACTION_MOVE | DnDConstants.ACTION_LINK;
+ DragSource dragSource = new DragSource();
+
+ DnDSource(String label) {
+ super(label);
+ setBackground(Color.yellow);
+ setForeground(Color.blue);
+ df = new DataFlavor(DnDSource.class, "DnDSource");
+
+ dragSource.createDefaultDragGestureRecognizer(
+ this,
+ dragOperation,
+ this
+ );
+ dragSource.addDragSourceListener(this);
+ }
+
+ public void changeCursor(
+ DragSourceContext dsc,
+ int ra
+ ) {
+ java.awt.Cursor c = null;
+ if ((ra & DnDConstants.ACTION_LINK) == DnDConstants.ACTION_LINK)
+ c = DragSource.DefaultLinkDrop;
+ else if ((ra & DnDConstants.ACTION_MOVE) == DnDConstants.ACTION_MOVE)
+ c = MyCursor.MOVE;//DragSource.DefaultMoveDrop;
+ else if ((ra & DnDConstants.ACTION_COPY) == DnDConstants.ACTION_COPY)
+ c = MyCursor.COPY;
+ else
+ c = MyCursor.NO_DROP;
+ dsc.setCursor(c);
+ }
+
+ /**
+ * a Drag gesture has been recognized
+ */
+
+ public void dragGestureRecognized(DragGestureEvent dge) {
+ System.out.println("starting Drag");
+ try {
+ if (DragSource.isDragImageSupported()) {
+ System.out.println("starting Imaged Drag");
+ dge.startDrag(
+ null,
+ new ImageGenerator(50, 100, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.translate(width/2, height/2);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+ int R = width/4+5;
+ gr.setColor(Color.BLUE);
+ gr.fillRect(-R, -R, 2*R, 2*R);
+ gr.setColor(Color.CYAN);
+ gr.drawRect(-R, -R, 2*R, 2*R);
+
+
+ gr.translate(10, 10);
+ R -= 5;
+ gr.setColor(Color.RED);
+ gr.fillOval(-R, -R, 2*R, 2*R);
+ gr.setColor(Color.MAGENTA);
+ gr.drawOval(-R, -R, 2*R, 2*R);
+ }
+ }.getImage(),
+ new Point(15, 40),
+ this,
+ this);
+ } else {
+ dge.startDrag(
+ null,
+ this,
+ this);
+ }
+ } catch (InvalidDnDOperationException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /**
+ * as the hotspot enters a platform dependent drop site
+ */
+
+ public void dragEnter(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dragEnter");
+ changeCursor(
+ dsde.getDragSourceContext(),
+ dsde.getUserAction() & dsde.getDropAction()
+ );
+ }
+
+ /**
+ * as the hotspot moves over a platform dependent drop site
+ */
+ public void dragOver(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dragOver");
+ changeCursor(
+ dsde.getDragSourceContext(),
+ dsde.getUserAction() & dsde.getDropAction()
+ );
+ dropAction = dsde.getUserAction() & dsde.getDropAction();
+ System.out.println("dropAction = " + dropAction);
+ }
+
+ /**
+ * as the hotspot exits a platform dependent drop site
+ */
+ public void dragExit(DragSourceEvent dse) {
+ System.out.println("[Source] dragExit");
+ changeCursor(
+ dse.getDragSourceContext(),
+ DnDConstants.ACTION_NONE
+ );
+ }
+
+ /**
+ * as the operation changes
+ */
+ public void dragGestureChanged(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dragGestureChanged");
+ changeCursor(
+ dsde.getDragSourceContext(),
+ dsde.getUserAction() & dsde.getDropAction()
+ );
+ dropAction = dsde.getUserAction() & dsde.getDropAction();
+ System.out.println("dropAction = " + dropAction);
+ }
+
+
+ /**
+ * as the operation completes
+ */
+ public void dragDropEnd(DragSourceDropEvent dsde) {
+ System.out.println("[Source] dragDropEnd");
+ }
+
+ public void dropActionChanged(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dropActionChanged");
+ dropAction = dsde.getUserAction() & dsde.getDropAction();
+ System.out.println("dropAction = " + dropAction);
+ }
+
+ public DataFlavor[] getTransferDataFlavors() {
+ return new DataFlavor[]{df};
+ }
+
+ public boolean isDataFlavorSupported(DataFlavor sdf) {
+ return df.equals(sdf);
+ }
+
+ public Object getTransferData(DataFlavor tdf) throws UnsupportedFlavorException, IOException {
+ Object copy = null;
+ if( !df.equals(tdf) ){
+ throw new UnsupportedFlavorException(tdf);
+ }
+ Container parent = getParent();
+ switch (dropAction) {
+ case DnDConstants.ACTION_COPY:
+ try {
+ copy = this.clone();
+ } catch (CloneNotSupportedException e) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+
+ oos.writeObject(this);
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ try {
+ copy = ois.readObject();
+ } catch (ClassNotFoundException cnfe) {
+ // do nothing
+ }
+ }
+ parent.add(this);
+ return copy;
+
+ case DnDConstants.ACTION_MOVE:
+ synchronized (this) {
+ if (parent != null) {
+ parent.remove(this);
+ Label label = new Label("[empty]");
+ label.setBackground(Color.cyan);
+ label.setBounds(this.getBounds());
+ parent.add(label);
+ }
+ }
+ return this;
+
+ case DnDConstants.ACTION_LINK:
+ return this;
+
+ default:
+ return null;
+ }
+
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/DnDTarget.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+* Panel is a DropTarget
+*
+*/
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.awt.dnd.*;
+import java.io.*;
+
+
+class DnDTarget extends Panel implements DropTargetListener {
+ private int dragOperation = DnDConstants.ACTION_COPY | DnDConstants.ACTION_MOVE;
+ Color bgColor;
+ Color htColor;
+
+ DnDTarget(Color bgColor, Color htColor) {
+ super();
+ this.bgColor = bgColor;
+ this.htColor = htColor;
+ setBackground(bgColor);
+ setDropTarget(new DropTarget(this, this));
+ }
+
+
+ public void dragEnter(DropTargetDragEvent e) {
+ System.out.println("[Target] dragEnter");
+ setBackground(htColor);
+ repaint();
+ }
+
+ public void dragOver(DropTargetDragEvent e) {
+ System.out.println("[Target] dragOver");
+ }
+
+ public void dragExit(DropTargetEvent e) {
+ System.out.println("[Target] dragExit");
+ setBackground(bgColor);
+ repaint();
+ }
+
+ public void dragScroll(DropTargetDragEvent e) {
+ System.out.println("[Target] dragScroll");
+ }
+
+ public void dropActionChanged(DropTargetDragEvent e) {
+ System.out.println("[Target] dropActionChanged");
+ }
+
+ public void drop(DropTargetDropEvent dtde) {
+ System.out.println("[Target] drop");
+ boolean success = false;
+ if ((dtde.getDropAction() & dragOperation) == 0) {
+ dtde.rejectDrop();
+ Label label = new Label("[no links here :) ]");
+ label.setBackground(Color.cyan);
+ add(label);
+ } else {
+ dtde.acceptDrop(dragOperation);
+ DataFlavor[] dfs = dtde.getCurrentDataFlavors();
+ if (dfs != null && dfs.length >= 1){
+ Transferable transfer = dtde.getTransferable();
+ try {
+ Button button = (Button)transfer.getTransferData(dfs[0]);
+ if( button != null ){
+ add(button);
+ success = true;
+ }
+ } catch (IOException ioe) {
+ System.out.println(ioe.getMessage());
+ return;
+ } catch (UnsupportedFlavorException ufe) {
+ System.out.println(ufe.getMessage());
+ return;
+ } catch (Exception e) {
+ System.out.println(e.getMessage());
+ return;
+ }
+ }
+ }
+ setBackground(bgColor);
+ dtde.dropComplete(success);
+
+ invalidate();
+ validate();
+ repaint();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.html Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,20 @@
+<html>
+<!--
+ @test %W% %E%
+ @bug 4874070
+ @summary Tests basic DnD functionality
+ @author Your Name: Alexey Utkin area=dnd
+ @run applet ImageDecoratedDnDInOut.html
+ -->
+<head>
+ <title> ImageDecoratedDnDInOut </title>
+</head>
+<body>
+
+<h1>ImageDecoratedDnDInOut<br>Bug ID: 4874070</h1>
+
+<p> See the dialog box (usually in upper left corner) for instructions</p>
+
+<APPLET CODE="ImageDecoratedDnDInOut.class" WIDTH=200 HEIGHT=200></APPLET>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageDecoratedDnDInOut.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,234 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+ test %W% %E%
+ @bug 4874070
+ @summary Tests basic DnD functionality
+ @author Your Name: Alexey Utkin area=dnd
+ @run applet ImageDecoratedDnDInOut.html
+*/
+
+import java.applet.Applet;
+import java.awt.*;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.awt.dnd.DragSource;
+
+
+public class ImageDecoratedDnDInOut extends Applet {
+ //Declare things used in the test, like buttons and labels here
+
+ public void init() {
+ //Create instructions for the user here, as well as set up
+ // the environment -- set the layout manager, add buttons,
+ // etc.
+ this.setLayout(new BorderLayout());
+
+ String[] instructions =
+ {
+ "Automatic test.",
+ "A Frame, which contains a yellow button labeled \"Drag ME!\" and ",
+ "a red panel, will appear below. ",
+ "1. The button would be clicked and dragged to the red panel. ",
+ "2. When the mouse enters the red panel during the drag, the panel ",
+ "should turn yellow. On the systems that supports pictured drag, ",
+ "the image under the drag-cursor should appear (ancor is shifted ",
+ "from top-left corner of the picture inside the picture to 10pt in both dimensions ). ",
+ "In WIN32 systems the image under cursor would be visible ONLY over ",
+ "the drop targets with activated extended OLE D\'n\'D support (that are ",
+ "the desktop and IE ).",
+ "3. The mouse would be released.",
+ "The panel should turn red again and a yellow button labeled ",
+ "\"Drag ME!\" should appear inside the panel. "
+ };
+ Sysout.createDialogWithInstructions(instructions);
+
+ }//End init()
+
+ public void start() {
+ Frame f = new Frame("Use keyboard for DnD change");
+ Panel mainPanel;
+ Component dragSource, dropTarget;
+
+ f.setBounds(0, 400, 200, 200);
+ f.setLayout(new BorderLayout());
+
+ mainPanel = new Panel();
+ mainPanel.setLayout(new BorderLayout());
+
+ mainPanel.setBackground(Color.blue);
+
+ dropTarget = new DnDTarget(Color.red, Color.yellow);
+ dragSource = new DnDSource("Drag ME! (" + (DragSource.isDragImageSupported()?"with ":"without") + " image)" );
+
+ mainPanel.add(dragSource, "North");
+ mainPanel.add(dropTarget, "Center");
+ f.add(mainPanel, BorderLayout.CENTER);
+
+ f.setVisible(true);
+ try {
+ Point sourcePoint = dragSource.getLocationOnScreen();
+ Dimension d = dragSource.getSize();
+ sourcePoint.translate(d.width / 2, d.height / 2);
+
+ Robot robot = new Robot();
+ robot.mouseMove(sourcePoint.x, sourcePoint.y);
+ robot.mousePress(InputEvent.BUTTON1_MASK);
+ Thread.sleep(2000);
+ for(int i = 0; i <100; ++i) {
+ robot.mouseMove(
+ sourcePoint.x + d.width / 2 + 10,
+ sourcePoint.y + d.height);
+ Thread.sleep(100);
+
+ robot.mouseMove(sourcePoint.x, sourcePoint.y);
+ Thread.sleep(100);
+
+ robot.mouseMove(
+ sourcePoint.x,
+ sourcePoint.y + d.height);
+ Thread.sleep(100);
+ }
+ sourcePoint.y += d.height;
+ robot.mouseMove(sourcePoint.x, sourcePoint.y);
+ Thread.sleep(100);
+
+ robot.mouseRelease(InputEvent.BUTTON1_MASK);
+ Thread.sleep(4000);
+ } catch( Exception e){
+ e.printStackTrace();
+ throw new RuntimeException("test failed: drop was not successful with exception " + e);
+ }
+
+ }// start()
+}// class DnDAcceptanceTest
+
+
+/**
+ * *************************************************
+ * Standard Test Machinery
+ * DO NOT modify anything below -- it's a standard
+ * chunk of code whose purpose is to make user
+ * interaction uniform, and thereby make it simpler
+ * to read and understand someone else's test.
+ * **************************************************
+ */
+class Sysout {
+ private static TestDialog dialog;
+
+ public static void createDialogWithInstructions(String[] instructions) {
+ dialog = new TestDialog(new Frame(), "Instructions");
+ dialog.printInstructions(instructions);
+ dialog.show();
+ println("Any messages for the tester will display here.");
+ }
+
+ public static void createDialog() {
+ dialog = new TestDialog(new Frame(), "Instructions");
+ String[] defInstr = {"Instructions will appear here. ", ""};
+ dialog.printInstructions(defInstr);
+ dialog.show();
+ println("Any messages for the tester will display here.");
+ }
+
+
+ public static void printInstructions(String[] instructions) {
+ dialog.printInstructions(instructions);
+ }
+
+
+ public static void println(String messageIn) {
+ dialog.displayMessage(messageIn);
+ }
+
+}// Sysout class
+
+
+class TestDialog extends Dialog {
+
+ TextArea instructionsText;
+ TextArea messageText;
+ int maxStringLength = 80;
+
+ //DO NOT call this directly, go through Sysout
+ public TestDialog(Frame frame, String name) {
+ super(frame, name);
+ int scrollBoth = TextArea.SCROLLBARS_BOTH;
+ instructionsText = new TextArea("", 15, maxStringLength, scrollBoth);
+ add("North", instructionsText);
+
+ messageText = new TextArea("", 5, maxStringLength, scrollBoth);
+ add("South", messageText);
+
+ pack();
+
+ show();
+ }// TestDialog()
+
+ //DO NOT call this directly, go through Sysout
+ public void printInstructions(String[] instructions) {
+ //Clear out any current instructions
+ instructionsText.setText("");
+
+ //Go down array of instruction strings
+
+ String printStr, remainingStr;
+ for (int i = 0; i < instructions.length; i++) {
+ //chop up each into pieces maxSringLength long
+ remainingStr = instructions[i];
+ while (remainingStr.length() > 0) {
+ //if longer than max then chop off first max chars to print
+ if (remainingStr.length() >= maxStringLength) {
+ //Try to chop on a word boundary
+ int posOfSpace = remainingStr.
+ lastIndexOf(' ', maxStringLength - 1);
+
+ if (posOfSpace <= 0) posOfSpace = maxStringLength - 1;
+
+ printStr = remainingStr.substring(0, posOfSpace + 1);
+ remainingStr = remainingStr.substring(posOfSpace + 1);
+ }
+ //else just print
+ else {
+ printStr = remainingStr;
+ remainingStr = "";
+ }
+
+ instructionsText.append(printStr + "\n");
+
+ }// while
+
+ }// for
+
+ }//printInstructions()
+
+ //DO NOT call this directly, go through Sysout
+ public void displayMessage(String messageIn) {
+ messageText.append(messageIn + "\n");
+ }
+
+}// TestDialog class
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/ImageGenerator.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+ * Image generator for cursor and drag
+ */
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.awt.image.BufferedImage;
+
+public abstract class ImageGenerator
+{
+ public int width;
+ public int height;
+ private final BufferedImage bi;
+ public ImageGenerator(int _width, int _height, Color bgColor)
+ {
+ width = _width;
+ height = _height;
+ bi = new BufferedImage(
+ width,
+ height,
+ BufferedImage.TYPE_INT_ARGB);
+ Graphics gr = bi.getGraphics();
+ if(null==bgColor){
+ bgColor = Color.WHITE;
+ }
+ gr.setColor(bgColor);
+ gr.fillRect(0, 0, width, height);
+ paint(gr);
+ gr.dispose();
+ }
+ public Image getImage() { return bi; }
+
+ public abstract void paint(Graphics gr);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDInOut/MyCursor.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2009 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.
+ */
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Toolkit;
+import java.awt.Point;
+
+/**
+ * An interface provides a set of custom cursors
+ */
+
+public interface MyCursor {
+ public static final java.awt.Cursor NO_DROP = Toolkit.getDefaultToolkit().createCustomCursor(
+ new ImageGenerator(32, 32, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.setColor(Color.GREEN);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+
+ gr.translate(width/2, height/2);
+ int R = width/4;
+ gr.drawOval(-R, -R, 2*R, 2*R);
+ gr.drawLine(-R, R, R, -R);
+ }
+ }.getImage(),
+ new Point(0, 0),
+ "My NoDrop Cursor"
+ );
+ public static final java.awt.Cursor MOVE = Toolkit.getDefaultToolkit().createCustomCursor(
+ new ImageGenerator(32, 32, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.setColor(Color.GREEN);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+
+ gr.drawLine(0, 0, width, height);
+ gr.drawLine(0, 0, width/2, 0);
+ gr.drawLine(0, 0, 0, height/2);
+ }
+ }.getImage(),
+ new Point(0, 0),
+ "My Move Cursor"
+ );
+ public static final java.awt.Cursor COPY = Toolkit.getDefaultToolkit().createCustomCursor(
+ new ImageGenerator(32, 32, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.setColor(Color.GREEN);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+ //arrow
+ gr.drawLine(0, 0, width/2, height/2);
+ gr.drawLine(0, 0, width/2, 0);
+ gr.drawLine(0, 0, 0, height/2);
+ //plus
+ gr.drawRect(width/2 - 1, height/2 -1, width/2 - 1, height/2 - 1);
+ gr.drawLine(width*3/4 - 1, height/2 - 1, width*3/4 - 1, height);
+ gr.drawLine(width/2 - 1, height*3/4 - 1, width, height*3/4 - 1);
+ }
+ }.getImage(),
+ new Point(0, 0),
+ "My Copy Cursor"
+ );
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDSource.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,273 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+* AWT Button is a DragSource and also a transferable object
+*/
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+
+import java.awt.image.ImageConsumer;
+import java.awt.image.MemoryImageSource;
+
+import java.awt.dnd.*;
+import java.io.*;
+
+class DnDSource extends Button implements Transferable,
+ DragGestureListener,
+ DragSourceListener {
+ private DataFlavor df;
+ private transient int dropAction;
+ private final int dragOperation = DnDConstants.ACTION_COPY | DnDConstants.ACTION_MOVE | DnDConstants.ACTION_LINK;
+ DragSource dragSource = new DragSource();
+
+ DnDSource(String label) {
+ super(label);
+ setBackground(Color.yellow);
+ setForeground(Color.blue);
+ df = new DataFlavor(DnDSource.class, "DnDSource");
+
+ dragSource.createDefaultDragGestureRecognizer(
+ this,
+ dragOperation,
+ this
+ );
+ dragSource.addDragSourceListener(this);
+ }
+
+ public void changeCursor(
+ DragSourceContext dsc,
+ int ra
+ ) {
+ java.awt.Cursor c = null;
+ if ((ra & DnDConstants.ACTION_LINK) == DnDConstants.ACTION_LINK)
+ c = DragSource.DefaultLinkDrop;
+ else if ((ra & DnDConstants.ACTION_MOVE) == DnDConstants.ACTION_MOVE)
+ c = MyCursor.MOVE;//DragSource.DefaultMoveDrop;
+ else if ((ra & DnDConstants.ACTION_COPY) == DnDConstants.ACTION_COPY)
+ c = MyCursor.COPY;
+ else
+ c = MyCursor.NO_DROP;
+ dsc.setCursor(c);
+ }
+
+ /**
+ * a Drag gesture has been recognized
+ */
+ int iProblem = 0;
+ String[] problem = {"unready", "throw exeption", "good"};
+ public void dragGestureRecognized(DragGestureEvent dge) {
+ System.out.println("starting Drag");
+ if( !DragSource.isDragImageSupported() ) {
+ dge.startDrag(
+ null,
+ this,
+ this);
+ } else {
+ setLabel("Drag ME! (with " + problem[iProblem] + " image)");
+ int w = 100;
+ int h = 100;
+ int pix[] = new int[w * h];
+ int index = 0;
+ for (int y = 0; y < h; y++) {
+ int red = (y * 255) / (h - 1);
+ for (int x = 0; x < w; x++) {
+ int blue = (x * 255) / (w - 1);
+ pix[index++] = (255 << 24) | (red << 16) | blue;
+ }
+ }
+ try{
+ dge.startDrag(
+ null,
+ Toolkit.getDefaultToolkit().createImage(new MemoryImageSource(w, h, pix, 0, w)
+ {
+ @Override
+ public void startProduction(ImageConsumer ic)
+ {
+ switch(iProblem){
+ case 0:
+ //incomplite
+ break;
+ case 1:
+ //exception
+ throw new RuntimeException("test exception 1");
+ default:
+ super.startProduction(ic);
+ break;
+ }
+ }
+ }
+ ),
+ new Point(15, 40) {
+ @Override
+ public double getX() {
+ if(2==iProblem){
+ //never happen
+ throw new RuntimeException("test exception 2");
+ }
+ return x;
+ }
+ @Override
+ public Point getLocation(){
+ //never happen
+ throw new RuntimeException("test exception 3");
+ }
+ },
+ this,
+ this);
+ }catch(InvalidDnDOperationException e){
+ if( iProblem<=2 ){
+ System.err.println("good exception: " + e.getMessage() );
+ } else {
+ System.err.println("bad exception");
+ e.printStackTrace();
+ throw new RuntimeException(e.getMessage());
+ }
+ } finally {
+ ++iProblem;
+ }
+ }
+ }
+
+ /**
+ * as the hotspot enters a platform dependent drop site
+ */
+
+ public void dragEnter(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dragEnter");
+ changeCursor(
+ dsde.getDragSourceContext(),
+ dsde.getUserAction() & dsde.getDropAction()
+ );
+ }
+
+ /**
+ * as the hotspot moves over a platform dependent drop site
+ */
+ public void dragOver(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dragOver");
+ changeCursor(
+ dsde.getDragSourceContext(),
+ dsde.getUserAction() & dsde.getDropAction()
+ );
+ dropAction = dsde.getUserAction() & dsde.getDropAction();
+ System.out.println("dropAction = " + dropAction);
+ }
+
+ /**
+ * as the hotspot exits a platform dependent drop site
+ */
+ public void dragExit(DragSourceEvent dse) {
+ System.out.println("[Source] dragExit");
+ changeCursor(
+ dse.getDragSourceContext(),
+ DnDConstants.ACTION_NONE
+ );
+ }
+
+ /**
+ * as the operation changes
+ */
+ public void dragGestureChanged(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dragGestureChanged");
+ changeCursor(
+ dsde.getDragSourceContext(),
+ dsde.getUserAction() & dsde.getDropAction()
+ );
+ dropAction = dsde.getUserAction() & dsde.getDropAction();
+ System.out.println("dropAction = " + dropAction);
+ }
+
+
+ /**
+ * as the operation completes
+ */
+ public void dragDropEnd(DragSourceDropEvent dsde) {
+ System.out.println("[Source] dragDropEnd");
+ }
+
+ public void dropActionChanged(DragSourceDragEvent dsde) {
+ System.out.println("[Source] dropActionChanged");
+ dropAction = dsde.getUserAction() & dsde.getDropAction();
+ System.out.println("dropAction = " + dropAction);
+ }
+
+ public DataFlavor[] getTransferDataFlavors() {
+ return new DataFlavor[]{df};
+ }
+
+ public boolean isDataFlavorSupported(DataFlavor sdf) {
+ return df.equals(sdf);
+ }
+
+ public Object getTransferData(DataFlavor tdf) throws UnsupportedFlavorException, IOException {
+ Object copy = null;
+ if( !df.equals(tdf) ){
+ throw new UnsupportedFlavorException(tdf);
+ }
+ Container parent = getParent();
+ switch (dropAction) {
+ case DnDConstants.ACTION_COPY:
+ try {
+ copy = this.clone();
+ } catch (CloneNotSupportedException e) {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+
+ oos.writeObject(this);
+ ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
+ ObjectInputStream ois = new ObjectInputStream(bais);
+ try {
+ copy = ois.readObject();
+ } catch (ClassNotFoundException cnfe) {
+ // do nothing
+ }
+ }
+ parent.add(this);
+ return copy;
+
+ case DnDConstants.ACTION_MOVE:
+ synchronized (this) {
+ if (parent != null) {
+ parent.remove(this);
+ Label label = new Label("[empty]");
+ label.setBackground(Color.cyan);
+ label.setBounds(this.getBounds());
+ parent.add(label);
+ }
+ }
+ return this;
+
+ case DnDConstants.ACTION_LINK:
+ return this;
+
+ default:
+ return null;
+ }
+
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/DnDTarget.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+* Panel is a DropTarget
+*
+*/
+
+import java.awt.*;
+import java.awt.datatransfer.*;
+import java.awt.dnd.*;
+import java.io.*;
+
+
+class DnDTarget extends Panel implements DropTargetListener {
+ private int dragOperation = DnDConstants.ACTION_COPY | DnDConstants.ACTION_MOVE;
+ Color bgColor;
+ Color htColor;
+
+ DnDTarget(Color bgColor, Color htColor) {
+ super();
+ this.bgColor = bgColor;
+ this.htColor = htColor;
+ setBackground(bgColor);
+ setDropTarget(new DropTarget(this, this));
+ }
+
+
+ public void dragEnter(DropTargetDragEvent e) {
+ System.out.println("[Target] dragEnter");
+ setBackground(htColor);
+ repaint();
+ }
+
+ public void dragOver(DropTargetDragEvent e) {
+ System.out.println("[Target] dragOver");
+ }
+
+ public void dragExit(DropTargetEvent e) {
+ System.out.println("[Target] dragExit");
+ setBackground(bgColor);
+ repaint();
+ }
+
+ public void dragScroll(DropTargetDragEvent e) {
+ System.out.println("[Target] dragScroll");
+ }
+
+ public void dropActionChanged(DropTargetDragEvent e) {
+ System.out.println("[Target] dropActionChanged");
+ }
+
+ public void drop(DropTargetDropEvent dtde) {
+ System.out.println("[Target] drop");
+ boolean success = false;
+ if ((dtde.getDropAction() & dragOperation) == 0) {
+ dtde.rejectDrop();
+ Label label = new Label("[no links here :) ]");
+ label.setBackground(Color.cyan);
+ add(label);
+ } else {
+ dtde.acceptDrop(dragOperation);
+ DataFlavor[] dfs = dtde.getCurrentDataFlavors();
+ if (dfs != null && dfs.length >= 1){
+ Transferable transfer = dtde.getTransferable();
+ try {
+ Button button = (Button)transfer.getTransferData(dfs[0]);
+ if( button != null ){
+ add(button);
+ success = true;
+ }
+ } catch (IOException ioe) {
+ System.out.println(ioe.getMessage());
+ return;
+ } catch (UnsupportedFlavorException ufe) {
+ System.out.println(ufe.getMessage());
+ return;
+ } catch (Exception e) {
+ System.out.println(e.getMessage());
+ return;
+ }
+ }
+ }
+ setBackground(bgColor);
+ dtde.dropComplete(success);
+
+ invalidate();
+ validate();
+ repaint();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.html Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,20 @@
+<html>
+<!--
+ @test %W% %E%
+ @bug 4874070
+ @summary Tests basic DnD functionality
+ @author Your Name: Alexey Utkin area=dnd
+ @run applet ImageDecoratedDnDNegative.html
+ -->
+<head>
+ <title> ImageDecoratedDnDNegative </title>
+</head>
+<body>
+
+<h1>ImageDecoratedDnDInOut<br>Bug ID: 4874070</h1>
+
+<p> See the dialog box (usually in upper left corner) for the test description</p>
+
+<APPLET CODE="ImageDecoratedDnDNegative.class" WIDTH=200 HEIGHT=200></APPLET>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageDecoratedDnDNegative.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,268 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+ test %W% %E%
+ @bug 4874070
+ @summary Tests basic DnD functionality
+ @author Your Name: Alexey Utkin area=dnd
+ @run applet ImageDecoratedDnDNegative.html
+*/
+
+import java.applet.Applet;
+import java.awt.*;
+import java.awt.Robot;
+import java.awt.event.InputEvent;
+import java.awt.event.KeyEvent;
+import java.awt.geom.Point2D;
+
+
+import java.awt.dnd.DragSource;
+
+
+public class ImageDecoratedDnDNegative extends Applet {
+ //Declare things used in the test, like buttons and labels here
+
+ public void init() {
+ //Create instructions for the user here, as well as set up
+ // the environment -- set the layout manager, add buttons,
+ // etc.
+ this.setLayout(new BorderLayout());
+
+ String[] instructions =
+ {
+ "Automatic test.",
+ "A Frame, which contains a yellow button labeled \"Drag ME!\" and ",
+ "a red panel, will appear below. ",
+ "1. The button would be clicked and dragged to the red panel. ",
+ "2. When the mouse enters the red panel during the drag, the panel ",
+ "should turn yellow. On the systems that supports pictured drag, ",
+ "the image under the drag-cursor should appear (ancor is shifted ",
+ "from top-left corner of the picture inside the picture to 10pt in both dimensions ). ",
+ "In WIN32 systems the image under cursor would be visible ONLY over ",
+ "the drop targets with activated extended OLE D\'n\'D support (that are ",
+ "the desktop and IE ).",
+ "3. The mouse would be released.",
+ "The panel should turn red again and a yellow button labeled ",
+ "\"Drag ME!\" should appear inside the panel. You should be able ",
+ "to repeat this operation multiple times."
+ };
+ Sysout.createDialogWithInstructions(instructions);
+
+ }//End init()
+
+ public void moveTo(
+ Robot r,
+ Point b,
+ Point e)
+ {
+ Point2D.Double ee = new Point2D.Double(e.getX(), e.getY());
+ Point2D.Double bb = new Point2D.Double(b.getX(), b.getY());
+ final int count = (int)(ee.distance(bb));
+ Point2D.Double c = new Point2D.Double(bb.getX(), bb.getY());
+ for(int i=0; i<count; ++i){
+ c.setLocation(
+ bb.getX() + (ee.getX()-bb.getX())*i/count,
+ bb.getY() + (ee.getY()-bb.getY())*i/count);
+ r.mouseMove(
+ (int)c.getX(),
+ (int)c.getY());
+ r.delay(5);
+ }
+ r.mouseMove(
+ (int)ee.getX(),
+ (int)ee.getY());
+ r.delay(5);
+ }
+
+ public void start() {
+ Frame f = new Frame("Use keyboard for DnD change");
+ Panel mainPanel;
+ Component dragSource, dropTarget;
+
+ f.setBounds(0, 400, 200, 200);
+ f.setLayout(new BorderLayout());
+
+ mainPanel = new Panel();
+ mainPanel.setLayout(new BorderLayout());
+
+ mainPanel.setBackground(Color.blue);
+
+ dropTarget = new DnDTarget(Color.red, Color.yellow);
+ dragSource = new DnDSource("Drag ME! (" + (DragSource.isDragImageSupported()?"with ":"without") + " image)" );
+
+ mainPanel.add(dragSource, "North");
+ mainPanel.add(dropTarget, "Center");
+ f.add(mainPanel, BorderLayout.CENTER);
+
+ f.setVisible(true);
+
+ Point sourcePoint = dragSource.getLocationOnScreen();
+ Dimension d = dragSource.getSize();
+ sourcePoint.translate(d.width / 2, d.height / 2);
+
+ try {
+ Robot robot = new Robot();
+ robot.mouseMove(sourcePoint.x, sourcePoint.y);
+ Point start = new Point(
+ sourcePoint.x,
+ sourcePoint.y);
+ Point out = new Point(
+ sourcePoint.x + d.width / 2 + 10,
+ sourcePoint.y + d.height);
+
+ Point cur = start;
+ for(int i = 2; i < 5; ++i){
+ moveTo(robot, cur, start);
+ robot.delay(500);
+ robot.mousePress(InputEvent.BUTTON1_MASK);
+ robot.delay(500);
+ moveTo(robot, start, out);
+ robot.keyPress(KeyEvent.VK_CONTROL);
+ Point drop = new Point(
+ (int)start.getX(),
+ (int)start.getY() + (d.height + 5) * i );
+ moveTo(robot, out, drop);
+
+ robot.mouseRelease(InputEvent.BUTTON1_MASK);
+ robot.delay(10);
+ robot.keyRelease(KeyEvent.VK_CONTROL);
+ robot.delay(1000);
+
+ cur = drop;
+ }
+ } catch( Exception e){
+ e.printStackTrace();
+ throw new RuntimeException("test failed: drop was not successful with exception " + e);
+ }
+ }// start()
+}// class DnDAcceptanceTest
+
+
+/**
+ * *************************************************
+ * Standard Test Machinery
+ * DO NOT modify anything below -- it's a standard
+ * chunk of code whose purpose is to make user
+ * interaction uniform, and thereby make it simpler
+ * to read and understand someone else's test.
+ * **************************************************
+ */
+class Sysout {
+ private static TestDialog dialog;
+
+ public static void createDialogWithInstructions(String[] instructions) {
+ dialog = new TestDialog(new Frame(), "Instructions");
+ dialog.printInstructions(instructions);
+ dialog.show();
+ println("Any messages for the tester will display here.");
+ }
+
+ public static void createDialog() {
+ dialog = new TestDialog(new Frame(), "Instructions");
+ String[] defInstr = {"Instructions will appear here. ", ""};
+ dialog.printInstructions(defInstr);
+ dialog.show();
+ println("Any messages for the tester will display here.");
+ }
+
+
+ public static void printInstructions(String[] instructions) {
+ dialog.printInstructions(instructions);
+ }
+
+
+ public static void println(String messageIn) {
+ dialog.displayMessage(messageIn);
+ }
+
+}// Sysout class
+
+
+class TestDialog extends Dialog {
+
+ TextArea instructionsText;
+ TextArea messageText;
+ int maxStringLength = 80;
+
+ //DO NOT call this directly, go through Sysout
+ public TestDialog(Frame frame, String name) {
+ super(frame, name);
+ int scrollBoth = TextArea.SCROLLBARS_BOTH;
+ instructionsText = new TextArea("", 15, maxStringLength, scrollBoth);
+ add("North", instructionsText);
+
+ messageText = new TextArea("", 5, maxStringLength, scrollBoth);
+ add("South", messageText);
+
+ pack();
+
+ show();
+ }// TestDialog()
+
+ //DO NOT call this directly, go through Sysout
+ public void printInstructions(String[] instructions) {
+ //Clear out any current instructions
+ instructionsText.setText("");
+
+ //Go down array of instruction strings
+
+ String printStr, remainingStr;
+ for (int i = 0; i < instructions.length; i++) {
+ //chop up each into pieces maxSringLength long
+ remainingStr = instructions[i];
+ while (remainingStr.length() > 0) {
+ //if longer than max then chop off first max chars to print
+ if (remainingStr.length() >= maxStringLength) {
+ //Try to chop on a word boundary
+ int posOfSpace = remainingStr.
+ lastIndexOf(' ', maxStringLength - 1);
+
+ if (posOfSpace <= 0) posOfSpace = maxStringLength - 1;
+
+ printStr = remainingStr.substring(0, posOfSpace + 1);
+ remainingStr = remainingStr.substring(posOfSpace + 1);
+ }
+ //else just print
+ else {
+ printStr = remainingStr;
+ remainingStr = "";
+ }
+
+ instructionsText.append(printStr + "\n");
+
+ }// while
+
+ }// for
+
+ }//printInstructions()
+
+ //DO NOT call this directly, go through Sysout
+ public void displayMessage(String messageIn) {
+ messageText.append(messageIn + "\n");
+ }
+
+}// TestDialog class
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/ImageGenerator.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2009 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.
+ */
+
+/*
+ * Image generator for cursor and drag
+ */
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Image;
+import java.awt.image.BufferedImage;
+
+public abstract class ImageGenerator
+{
+ public int width;
+ public int height;
+ private final BufferedImage bi;
+ public ImageGenerator(int _width, int _height, Color bgColor)
+ {
+ width = _width;
+ height = _height;
+ bi = new BufferedImage(
+ width,
+ height,
+ BufferedImage.TYPE_INT_ARGB);
+ Graphics gr = bi.getGraphics();
+ if(null==bgColor){
+ bgColor = Color.WHITE;
+ }
+ gr.setColor(bgColor);
+ gr.fillRect(0, 0, width, height);
+ paint(gr);
+ gr.dispose();
+ }
+ public Image getImage() { return bi; }
+
+ public abstract void paint(Graphics gr);
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/awt/dnd/ImageDecoratedDnDNegative/MyCursor.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,86 @@
+/*
+ * Copyright 2009 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.
+ */
+
+import java.awt.BasicStroke;
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.Graphics2D;
+import java.awt.Toolkit;
+import java.awt.Point;
+
+/**
+ * An interface provides a set of custom cursors
+ */
+
+public interface MyCursor {
+ public static final java.awt.Cursor NO_DROP = Toolkit.getDefaultToolkit().createCustomCursor(
+ new ImageGenerator(32, 32, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.setColor(Color.GREEN);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+
+ gr.translate(width/2, height/2);
+ int R = width/4;
+ gr.drawOval(-R, -R, 2*R, 2*R);
+ gr.drawLine(-R, R, R, -R);
+ }
+ }.getImage(),
+ new Point(0, 0),
+ "My NoDrop Cursor"
+ );
+ public static final java.awt.Cursor MOVE = Toolkit.getDefaultToolkit().createCustomCursor(
+ new ImageGenerator(32, 32, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.setColor(Color.GREEN);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+
+ gr.drawLine(0, 0, width, height);
+ gr.drawLine(0, 0, width/2, 0);
+ gr.drawLine(0, 0, 0, height/2);
+ }
+ }.getImage(),
+ new Point(0, 0),
+ "My Move Cursor"
+ );
+ public static final java.awt.Cursor COPY = Toolkit.getDefaultToolkit().createCustomCursor(
+ new ImageGenerator(32, 32, new Color(0xff, 0xff, 0xff, 0x00) ) {
+ @Override public void paint(Graphics gr) {
+ gr.setColor(Color.GREEN);
+ ((Graphics2D)gr).setStroke(new BasicStroke(3));
+ //arrow
+ gr.drawLine(0, 0, width/2, height/2);
+ gr.drawLine(0, 0, width/2, 0);
+ gr.drawLine(0, 0, 0, height/2);
+ //plus
+ gr.drawRect(width/2 - 1, height/2 -1, width/2 - 1, height/2 - 1);
+ gr.drawLine(width*3/4 - 1, height/2 - 1, width*3/4 - 1, height);
+ gr.drawLine(width/2 - 1, height*3/4 - 1, width, height*3/4 - 1);
+ }
+ }.getImage(),
+ new Point(0, 0),
+ "My Copy Cursor"
+ );
+}
+
--- a/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/test/java/beans/Introspector/6380849/TestBeanInfo.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/**
- * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2010 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
@@ -38,6 +38,7 @@
import java.beans.BeanInfo;
import java.beans.Introspector;
+import java.lang.ref.Reference;
import java.lang.reflect.Field;
import sun.awt.SunToolkit;
@@ -61,9 +62,10 @@
try {
actual = Introspector.getBeanInfo(type);
type = actual.getClass();
- Field field = type.getDeclaredField("targetBeanInfo"); // NON-NLS: field name
+ Field field = type.getDeclaredField("targetBeanInfoRef"); // NON-NLS: field name
field.setAccessible(true);
- actual = (BeanInfo) field.get(actual);
+ Reference ref = (Reference) field.get(actual);
+ actual = (BeanInfo) ref.get();
}
catch (Exception exception) {
throw new Error("unexpected error", exception);
--- a/jdk/test/java/beans/Introspector/Test5102804.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/test/java/beans/Introspector/Test5102804.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2009 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2010 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
@@ -24,9 +24,9 @@
/*
* @test
* @bug 5102804
- * @ignore This test is not predictable with regards to GC
* @summary Tests memory leak
* @author Sergey Malenkov
+ * @run main/othervm -ms16m -mx16m Test5102804
*/
import java.beans.BeanInfo;
--- a/jdk/test/java/beans/XMLEncoder/Test4646747.java Mon Feb 15 10:18:55 2010 -0800
+++ b/jdk/test/java/beans/XMLEncoder/Test4646747.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,5 +1,5 @@
/*
- * Copyright 2004-2007 Sun Microsystems, Inc. All Rights Reserved.
+ * Copyright 2004-2010 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
@@ -26,6 +26,7 @@
* @bug 4646747
* @summary Tests that persistence delegate is correct after memory stress
* @author Mark Davidson
+ * @run main/othervm -ms16m -mx16m Test4646747
*/
import java.beans.DefaultPersistenceDelegate;
@@ -41,11 +42,14 @@
encoder.setPersistenceDelegate(Test4646747.class, new MyPersistenceDelegate());
// WARNING: This can eat up a lot of memory
Object[] obs = new Object[10000];
- for (int i = 0; i < obs.length; i++) {
- obs[i] = new int[1000];
+ while (obs != null) {
+ try {
+ obs = new Object[obs.length + obs.length / 3];
+ }
+ catch (OutOfMemoryError error) {
+ obs = null;
+ }
}
- System.gc();
- System.gc();
PersistenceDelegate pd = encoder.getPersistenceDelegate(Test4646747.class);
if (!(pd instanceof MyPersistenceDelegate))
throw new Error("persistence delegate has been lost");
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/text/Collator/Bug5047314.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,84 @@
+/*
+ * Copyright (c) 2009 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 5047314
+ * @summary verify that compare() and getCollationKey() don't go into an infinite loop for unfinished Thai/Lao text.
+ * @run main/timeout=60 Bug5047314
+ */
+import java.text.Collator;
+import java.util.Locale;
+
+public class Bug5047314 {
+
+ private static Collator colLao = Collator.getInstance(new Locale("lo"));
+ private static Collator colThai = Collator.getInstance(new Locale("th"));
+
+ private static String[] textLao = {
+ "\u0ec0", "\u0ec1", "\u0ec2", "\u0ec3", "\u0ec4"
+ };
+ private static String[] textThai = {
+ "\u0e40", "\u0e41", "\u0e42", "\u0e43", "\u0e44"
+ };
+
+ public static void main(String[] args) {
+ testLao1();
+ testLao2();
+ testThai1();
+ testThai2();
+ }
+
+ private static void testLao1() {
+ System.out.print("Test(Lao 1) .... ");
+ for (int i = 0; i < textLao.length; i++) {
+ colLao.compare(textLao[i], textLao[i]);
+ }
+ System.out.println("Passed.");
+ }
+
+ private static void testLao2() {
+ System.out.print("Test(Lao 2) .... ");
+ for (int i = 0; i < textLao.length; i++) {
+ colLao.compare(textLao[i], textLao[i]);
+ }
+ System.out.println("Passed.");
+ }
+
+ private static void testThai1() {
+ System.out.print("Test(Thai 1) .... ");
+ for (int i = 0; i < textThai.length; i++) {
+ colThai.compare(textThai[i], textThai[i]);
+ }
+ System.out.println("Passed.");
+ }
+
+ private static void testThai2() {
+ System.out.print("Test(Thai 2) .... ");
+ for (int i = 0; i < textThai.length; i++) {
+ colThai.getCollationKey(textThai[i]);
+ }
+ System.out.println("Passed.");
+ }
+
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/util/TimeZone/TimeZoneDatePermissionCheck.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,42 @@
+/* Testcase for PR381 Stackoverflow error with security manager, signed jars
+ * and -Djava.security.debug set.
+ * Copyright (c) 2009, Red Hat Inc.
+ * 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.
+ */
+
+import java.util.Date;
+
+/**
+ * Test class. Create a test keystore and dummy cert, create a jar file to
+ * sign with the test class in it. Sign it run it with the security manager
+ * on, plus accesscontroller debugging, will go into infinite recursion
+ * trying to get enough permissions for printing Date of failing
+ * certificate, unless fix is applied.
+ */
+public class TimeZoneDatePermissionCheck
+{
+ public static void main(String[] args)
+ {
+ System.out.println(new Date());
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/java/util/TimeZone/TimeZoneDatePermissionCheck.sh Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,58 @@
+# Testcase for PR381 Stackoverflow error with security manager, signed jars
+# and -Djava.security.debug set.
+#
+# Copyright (c) 2009, Red Hat Inc.
+#
+# This code is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+#
+# 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 for more details.
+#
+# 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.
+#
+# @test
+# @bug 6584033
+# @summary Stackoverflow error with security manager, signed jars and debug.
+# @build TimeZoneDatePermissionCheck
+# @run shell TimeZoneDatePermissionCheck.sh
+
+# Set default if not run under jtreg from test dir itself
+if [ "${TESTCLASSES}" = "" ] ; then
+ TESTCLASSES="."
+fi
+if [ "${TESTJAVA}" = "" ] ; then
+ TESTJAVA=/usr
+fi
+
+# create a test keystore and dummy cert
+rm -f ${TESTCLASSES}/timezonedatetest.store
+${TESTJAVA}/bin/keytool -genkeypair -alias testcert \
+ -keystore ${TESTCLASSES}/timezonedatetest.store \
+ -storepass testpass -validity 360 \
+ -dname "cn=Mark Wildebeest, ou=FreeSoft, o=Red Hat, c=NL" \
+ -keypass testpass
+
+# create a jar file to sign with the test class in it.
+rm -f ${TESTCLASSES}/timezonedatetest.jar
+${TESTJAVA}/bin/jar cf \
+ ${TESTCLASSES}/timezonedatetest.jar \
+ -C ${TESTCLASSES} TimeZoneDatePermissionCheck.class
+
+# sign it
+${TESTJAVA}/bin/jarsigner \
+ -keystore ${TESTCLASSES}/timezonedatetest.store \
+ -storepass testpass ${TESTCLASSES}/timezonedatetest.jar testcert
+
+# run it with the security manager on, plus accesscontroller debugging
+# will go into infinite recursion trying to get enough permissions for
+# printing Date of failing certificate unless fix is applied.
+${TESTJAVA}/bin/java -Djava.security.manager \
+ -Djava.security.debug=access,failure,policy \
+ -cp ${TESTCLASSES}/timezonedatetest.jar TimeZoneDatePermissionCheck
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/swing/MultiUIDefaults/4300666/bug4300666.html Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,28 @@
+<!--
+ 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.
+
+ 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.
+-->
+
+<html>
+<body>
+<applet code="bug4300666.class" width=200 height=200></applet>
+</body>
+</html>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/swing/MultiUIDefaults/4300666/bug4300666.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,40 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/* @test
+ @bug 4300666
+ @summary Printing UIDefaults throws NoSuchElementExcept
+ @author Andrey Pikalev
+ @run applet bug4300666.html
+*/
+
+import javax.swing.*;
+
+
+public class bug4300666 extends JApplet {
+
+ public void init() {
+ UIDefaults d = UIManager.getDefaults();
+ d.toString();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/swing/MultiUIDefaults/4331767/bug4331767.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,94 @@
+/*
+ * 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.
+ *
+ * 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.
+ */
+
+/* @test
+ @bug 4331767
+ @summary Tests that custom implementation of UIDefaults.getUIError() is
+ called when an UI error occurs
+ @author Peter Zhelezniakov
+ @run main bug4331767
+*/
+import javax.swing.*;
+import javax.swing.plaf.metal.MetalLookAndFeel;
+import java.util.Locale;
+
+public class bug4331767
+{
+ private static boolean passed = false;
+
+ public static void main(String[] argv) {
+ try {
+ UIManager.setLookAndFeel(new BrokenLookAndFeel());
+ } catch (Exception e) {
+ throw new Error("Failed to set BrokenLookAndFeel, cannot test", e);
+ }
+
+ // This should call BrokenUIDefaults.getUIError()
+ new JButton();
+
+ if (!passed) {
+ throw new RuntimeException("Failed: Custom getUIError() not called");
+ }
+ }
+
+ static class BrokenUIDefaults extends UIDefaults {
+ UIDefaults defaults;
+
+ public BrokenUIDefaults(UIDefaults def) {
+ defaults = def;
+ }
+
+ public Object get(Object key) {
+ if ("ButtonUI".equals(key)) {
+ System.err.println("[II] Called BrokenUIDefaults.get(Object)");
+ return "a nonexistent class";
+ }
+ return defaults.get(key);
+ }
+
+ public Object get(Object key, Locale l) {
+ if ("ButtonUI".equals(key)) {
+ System.err.println("[II] Called BrokenUIDefaults.get(Object, Locale)");
+ return "a nonexistent class";
+ }
+ return defaults.get(key, l);
+ }
+
+ protected void getUIError(String msg) {
+ System.err.println("[II] BrokenUIDefaults.getUIError() called, test passes");
+ passed = true;
+ }
+ }
+
+ static class BrokenLookAndFeel extends MetalLookAndFeel {
+ UIDefaults defaults;
+
+ public BrokenLookAndFeel() {
+ defaults = new BrokenUIDefaults(super.getDefaults());
+ }
+
+ public UIDefaults getDefaults() {
+ return defaults;
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/swing/MultiUIDefaults/Test6860438.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,98 @@
+/*
+ * Copyright 2009 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.
+ *
+ * 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.
+ */
+
+/* @test
+ @bug 6860438
+ @summary Tests various MultiUIDefaults methods
+ @author Peter Zhelezniakov
+ @run main Test6860438
+*/
+
+import java.util.Enumeration;
+import java.util.Map.Entry;
+import java.util.Set;
+import javax.swing.UIManager;
+
+public class Test6860438
+{
+ static final String KEY = "Test6860438.key";
+ static final String VALUE = "Test6860438.value";
+
+ void check(Object key, Object value, boolean present, int size) {
+ check(UIManager.get(key) == value, "UIManager.get()");
+ check(UIManager.getDefaults().size() == size, "MultiUIDefaults.size()");
+
+ checkEnumeration(UIManager.getDefaults().keys(),
+ key, present, "MultiUIDefaults.keys()");
+ checkEnumeration(UIManager.getDefaults().elements(),
+ value, present, "MultiUIDefaults.elements()");
+
+ // check MultiUIDefaults.entrySet()
+ boolean found = false;
+ Set<Entry<Object, Object>> entries = UIManager.getDefaults().entrySet();
+ for (Entry<Object, Object> e: entries) {
+ if (e.getKey() == key) {
+ check(e.getValue() == value, "MultiUIDefaults.entrySet()");
+ found = true;
+ }
+ }
+ check(found == present, "MultiUIDefaults.entrySet()");
+ }
+
+ void checkEnumeration(Enumeration<Object> e, Object elem,
+ boolean present, String error) {
+ boolean found = false;
+ while (e.hasMoreElements()) {
+ if (e.nextElement() == elem) {
+ found = true;
+ }
+ }
+ check(found == present, error);
+ }
+
+ void check(boolean condition, String methodName) {
+ if (! condition) {
+ throw new RuntimeException(methodName + " failed");
+ }
+ }
+
+ void test() {
+ int size = UIManager.getDefaults().size();
+
+ // create a new value, size increases
+ UIManager.getLookAndFeelDefaults().put(KEY, VALUE);
+ check(KEY, VALUE, true, size + 1);
+
+ // override the value, size remains the same
+ UIManager.put(KEY, VALUE);
+ check(KEY, VALUE, true, size + 1);
+
+ // remove the value, size decreases
+ UIManager.getDefaults().remove(KEY);
+ check(KEY, null, false, size);
+ }
+
+ public static void main(String[] args) {
+ new Test6860438().test();
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/jdk/test/javax/swing/plaf/nimbus/ColorCustomizationTest.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,165 @@
+/*
+ * Copyright 2009 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.
+ *
+ * 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.
+ */
+
+/* @test
+ @bug 6860433
+ @summary Tests variuos techniques of Nimbus color customization
+ @author Peter Zhelezniakov
+ @run main ColorCustomizationTest
+*/
+
+import javax.swing.JLabel;
+import javax.swing.SwingUtilities;
+import javax.swing.UIDefaults;
+import javax.swing.UIManager;
+import java.awt.Color;
+import java.awt.Graphics;
+import java.awt.image.BufferedImage;
+import javax.swing.UnsupportedLookAndFeelException;
+import javax.swing.plaf.ColorUIResource;
+import javax.swing.plaf.nimbus.NimbusLookAndFeel;
+import javax.swing.plaf.synth.Region;
+
+public class ColorCustomizationTest
+{
+ final static int WIDTH = 200;
+ final static int HEIGHT = 100;
+
+ static NimbusLookAndFeel nimbus;
+
+ final JLabel label;
+ final Graphics g;
+
+ ColorCustomizationTest() {
+ label = new JLabel();
+ label.setSize(200, 100);
+
+ g = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_ARGB).getGraphics();
+ }
+
+ public static void main(String[] args) throws Exception {
+ nimbus = new NimbusLookAndFeel();
+ try {
+ UIManager.setLookAndFeel(nimbus);
+ } catch (UnsupportedLookAndFeelException e) {
+ throw new Error("Unable to set Nimbus LAF");
+ }
+ SwingUtilities.invokeAndWait(new Runnable() {
+ @Override public void run() {
+ new ColorCustomizationTest().test();
+ }
+ });
+ }
+
+ void check(Color c) {
+ SwingUtilities.updateComponentTreeUI(label);
+ label.paint(g);
+ if (label.getBackground().getRGB() != c.getRGB()) {
+ System.err.println("Color mismatch!");
+ System.err.println(" found: " + label.getBackground());
+ System.err.println(" expected: " + c);
+ throw new RuntimeException("Test failed");
+ }
+ }
+
+ void test() {
+ testOverrides();
+ testInheritance();
+ testNames();
+ testBaseColor();
+ }
+
+ void testOverrides() {
+ Color defaultColor = label.getBackground();
+
+ // override default background
+ UIDefaults defs = new UIDefaults();
+ defs.put("Label.background", new ColorUIResource(Color.RED));
+ label.putClientProperty("Nimbus.Overrides", defs);
+ check(Color.RED);
+
+ // change overriding color
+ defs = new UIDefaults();
+ defs.put("Label.background", new ColorUIResource(Color.GREEN));
+ label.putClientProperty("Nimbus.Overrides", defs);
+ check(Color.GREEN);
+
+ // remove override
+ label.putClientProperty("Nimbus.Overrides", null);
+ check(defaultColor);
+ }
+
+ void testInheritance() {
+ Color defaultColor = label.getBackground();
+
+ // more specific setting is in global defaults
+ UIManager.put("Label[Enabled].background", new ColorUIResource(Color.RED));
+
+ // less specific one is in overrides
+ UIDefaults defs = new UIDefaults();
+ defs.put("Label.background", new ColorUIResource(Color.GREEN));
+
+ // global wins
+ label.putClientProperty("Nimbus.Overrides", defs);
+ check(Color.RED);
+
+ // now override wins
+ label.putClientProperty("Nimbus.Overrides.InheritDefaults", false);
+ check(Color.GREEN);
+
+ // global is back
+ label.putClientProperty("Nimbus.Overrides.InheritDefaults", true);
+ check(Color.RED);
+
+ // back to default color
+ UIManager.put("Label[Enabled].background", null);
+ label.putClientProperty("Nimbus.Overrides.InheritDefaults", false);
+ label.putClientProperty("Nimbus.Overrides", null);
+ check(defaultColor);
+ }
+
+ void testNames() {
+ Color defaultColor = label.getBackground();
+
+ UIManager.put("\"BlueLabel\"[Enabled].background",
+ new ColorUIResource(Color.BLUE));
+ UIManager.put("\"RedLabel\"[Enabled].background",
+ new ColorUIResource(Color.RED));
+ nimbus.register(Region.LABEL, "\"BlueLabel\"");
+ nimbus.register(Region.LABEL, "\"RedLabel\"");
+
+ label.setName("BlueLabel");
+ check(Color.BLUE);
+ label.setName("RedLabel");
+ check(Color.RED);
+
+ // remove name, color goes back to default
+ label.setName(null);
+ check(defaultColor);
+ }
+
+ void testBaseColor() {
+ UIManager.put("control", Color.GREEN);
+ check(Color.GREEN);
+ }
+}
--- a/langtools/.hgtags Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/.hgtags Wed Feb 17 10:24:30 2010 -0800
@@ -55,3 +55,6 @@
acc1e40a5874ebf32bebcb6ada565b3b40b7461c jdk7-b78
ac5b4c5644ce54585e5287563dde2b006fa664f4 jdk7-b79
f0074aa48d4e2a4c03c92b9c4f880679fea0306c jdk7-b80
+cfabfcf9f110ef896cbdd382903d20eefbceefe0 jdk7-b81
+47003a3622f6a17756ab0338bfa8a43e36549e99 jdk7-b82
+c9f4ae1f1480e89aaf7e72173184089d9cea397a jdk7-b83
--- a/langtools/src/share/classes/com/sun/tools/classfile/ClassWriter.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/classfile/ClassWriter.java Wed Feb 17 10:24:30 2010 -0800
@@ -744,6 +744,7 @@
out.writeByte(p.type_index);
break;
case CLASS_LITERAL:
+ case CLASS_LITERAL_GENERIC_OR_ARRAY:
out.writeShort(p.offset);
break;
// method parameter: not specified
--- a/langtools/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/classfile/ExtendedAnnotation.java Wed Feb 17 10:24:30 2010 -0800
@@ -123,11 +123,14 @@
// Class extends and implements clauses
case CLASS_EXTENDS:
case CLASS_EXTENDS_GENERIC_OR_ARRAY:
- position.type_index = cr.readUnsignedByte();
+ int in = cr.readUnsignedShort();
+ if (in == 0xFFFF)
+ in = -1;
+ position.type_index = in;
break;
// throws
case THROWS:
- position.type_index = cr.readUnsignedByte();
+ position.type_index = cr.readUnsignedShort();
break;
case CLASS_LITERAL:
case CLASS_LITERAL_GENERIC_OR_ARRAY:
@@ -213,11 +216,11 @@
// Class extends and implements clauses
case CLASS_EXTENDS:
case CLASS_EXTENDS_GENERIC_OR_ARRAY:
- n += 1; // type_index
+ n += 2; // type_index
break;
// throws
case THROWS:
- n += 1; // type_index
+ n += 2; // type_index
break;
case CLASS_LITERAL:
case CLASS_LITERAL_GENERIC_OR_ARRAY:
@@ -264,18 +267,18 @@
public int offset = -1;
// For locals.
- public int[] lvarOffset = new int[] { -1 };
- public int[] lvarLength = new int[] { -1 };
- public int[] lvarIndex = new int[] { -1 };
+ public int[] lvarOffset = null;
+ public int[] lvarLength = null;
+ public int[] lvarIndex = null;
// For type parameter bound
- public int bound_index = -1;
+ public int bound_index = Integer.MIN_VALUE;
// For type parameter and method parameter
- public int parameter_index = -1;
+ public int parameter_index = Integer.MIN_VALUE;
// For class extends, implements, and throws classes
- public int type_index = -2;
+ public int type_index = Integer.MIN_VALUE;
// For wildcards
public Position wildcard_position = null;
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Flags.java Wed Feb 17 10:24:30 2010 -0800
@@ -113,6 +113,7 @@
public static final int ENUM = 1<<14;
public static final int StandardFlags = 0x0fff;
+ public static final int ModifierFlags = StandardFlags & ~INTERFACE;
// Because the following access flags are overloaded with other
// bit positions, we translate them when reading and writing class
--- a/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/Symbol.java Wed Feb 17 10:24:30 2010 -0800
@@ -657,6 +657,11 @@
public List<Attribute.Compound> getAnnotationMirrors() {
if (completer != null) complete();
+ if (package_info != null && package_info.completer != null) {
+ package_info.complete();
+ if (attributes_field.isEmpty())
+ attributes_field = package_info.attributes_field;
+ }
assert attributes_field != null;
return attributes_field;
}
--- a/langtools/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/TypeAnnotationPosition.java Wed Feb 17 10:24:30 2010 -0800
@@ -49,18 +49,18 @@
public int offset = -1;
// For locals. arrays same length
- public int[] lvarOffset = new int[] { -1 };
- public int[] lvarLength = new int[] { -1 };
- public int[] lvarIndex = new int[] { -1 };
+ public int[] lvarOffset = null;
+ public int[] lvarLength = null;
+ public int[] lvarIndex = null;
// For type parameter bound
- public int bound_index = -1;
+ public int bound_index = Integer.MIN_VALUE;
// For type parameter and method parameter
- public int parameter_index = -1;
+ public int parameter_index = Integer.MIN_VALUE;
// For class extends, implements, and throws classes
- public int type_index = -2;
+ public int type_index = Integer.MIN_VALUE;
// For wildcards
public TypeAnnotationPosition wildcard_position = null;
@@ -139,6 +139,7 @@
sb.append(type_index);
break;
case CLASS_LITERAL:
+ case CLASS_LITERAL_GENERIC_OR_ARRAY:
sb.append(", offset = ");
sb.append(offset);
break;
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/src/share/classes/com/sun/tools/javac/code/TypeAnnotations.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,400 @@
+/*
+ * Copyright 2009 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.
+ */
+
+package com.sun.tools.javac.code;
+
+import javax.lang.model.element.ElementKind;
+
+import com.sun.tools.javac.code.Symbol.VarSymbol;
+import com.sun.tools.javac.tree.JCTree;
+import com.sun.tools.javac.tree.TreeInfo;
+import com.sun.tools.javac.tree.TreeScanner;
+import com.sun.tools.javac.tree.JCTree.*;
+import com.sun.tools.javac.util.Context;
+import com.sun.tools.javac.util.List;
+import com.sun.tools.javac.util.ListBuffer;
+
+/**
+ * Contains operations specific to processing type annotations
+ */
+public class TypeAnnotations {
+ private static final Context.Key<TypeAnnotations> key
+ = new Context.Key<TypeAnnotations>();
+
+ public static TypeAnnotations instance(Context context) {
+ TypeAnnotations instance = context.get(key);
+ if (instance == null)
+ instance = new TypeAnnotations(context);
+ return instance;
+ }
+
+ protected TypeAnnotations(Context context) {
+ context.put(key, this);
+ }
+
+ public void taFillAndLift(JCClassDecl tree, boolean visitBodies) {
+ new TypeAnnotationPositions().scan(tree);
+ new TypeAnnotationLift().scan(tree);
+ }
+
+ private static class TypeAnnotationPositions extends TreeScanner {
+
+ private ListBuffer<JCTree> frames = ListBuffer.lb();
+ private void push(JCTree t) { frames = frames.prepend(t); }
+ private JCTree pop() { return frames.next(); }
+ private JCTree peek2() { return frames.toList().tail.head; }
+
+ @Override
+ public void scan(JCTree tree) {
+ push(tree);
+ super.scan(tree);
+ pop();
+ }
+
+ private boolean inClass = false;
+
+ @Override
+ public void visitClassDef(JCClassDecl tree) {
+ if (!inClass) {
+ // Do not recurse into nested and inner classes since
+ // TransTypes.visitClassDef makes an invocation for each class
+ // separately.
+ inClass = true;
+ try {
+ super.visitClassDef(tree);
+ } finally {
+ inClass = false;
+ }
+ }
+ }
+
+ private TypeAnnotationPosition resolveFrame(JCTree tree, JCTree frame,
+ List<JCTree> path, TypeAnnotationPosition p) {
+ switch (frame.getKind()) {
+ case TYPE_CAST:
+ p.type = TargetType.TYPECAST;
+ p.pos = frame.pos;
+ return p;
+
+ case INSTANCE_OF:
+ p.type = TargetType.INSTANCEOF;
+ p.pos = frame.pos;
+ return p;
+
+ case NEW_CLASS:
+ p.type = TargetType.NEW;
+ p.pos = frame.pos;
+ return p;
+
+ case NEW_ARRAY:
+ p.type = TargetType.NEW;
+ p.pos = frame.pos;
+ return p;
+
+ case CLASS:
+ p.pos = frame.pos;
+ if (((JCClassDecl)frame).extending == tree) {
+ p.type = TargetType.CLASS_EXTENDS;
+ p.type_index = -1;
+ } else if (((JCClassDecl)frame).implementing.contains(tree)) {
+ p.type = TargetType.CLASS_EXTENDS;
+ p.type_index = ((JCClassDecl)frame).implementing.indexOf(tree);
+ } else if (((JCClassDecl)frame).typarams.contains(tree)) {
+ p.type = TargetType.CLASS_TYPE_PARAMETER;
+ p.parameter_index = ((JCClassDecl)frame).typarams.indexOf(tree);
+ } else
+ throw new AssertionError();
+ return p;
+
+ case METHOD: {
+ JCMethodDecl frameMethod = (JCMethodDecl)frame;
+ p.pos = frame.pos;
+ if (frameMethod.receiverAnnotations.contains(tree))
+ p.type = TargetType.METHOD_RECEIVER;
+ else if (frameMethod.thrown.contains(tree)) {
+ p.type = TargetType.THROWS;
+ p.type_index = frameMethod.thrown.indexOf(tree);
+ } else if (((JCMethodDecl)frame).restype == tree) {
+ p.type = TargetType.METHOD_RETURN_GENERIC_OR_ARRAY;
+ } else if (frameMethod.typarams.contains(tree)) {
+ p.type = TargetType.METHOD_TYPE_PARAMETER;
+ p.parameter_index = frameMethod.typarams.indexOf(tree);
+ } else
+ throw new AssertionError();
+ return p;
+ }
+ case MEMBER_SELECT: {
+ JCFieldAccess fieldFrame = (JCFieldAccess)frame;
+ if ("class".contentEquals(fieldFrame.name)) {
+ p.type = TargetType.CLASS_LITERAL;
+ p.pos = TreeInfo.innermostType(fieldFrame.selected).pos;
+ } else
+ throw new AssertionError();
+ return p;
+ }
+ case PARAMETERIZED_TYPE: {
+ TypeAnnotationPosition nextP;
+ if (((JCTypeApply)frame).clazz == tree)
+ nextP = p; // generic: RAW; noop
+ else if (((JCTypeApply)frame).arguments.contains(tree))
+ p.location = p.location.prepend(
+ ((JCTypeApply)frame).arguments.indexOf(tree));
+ else
+ throw new AssertionError();
+
+ List<JCTree> newPath = path.tail;
+ return resolveFrame(newPath.head, newPath.tail.head, newPath, p);
+ }
+
+ case ARRAY_TYPE: {
+ p.location = p.location.prepend(0);
+ List<JCTree> newPath = path.tail;
+ return resolveFrame(newPath.head, newPath.tail.head, newPath, p);
+ }
+
+ case TYPE_PARAMETER:
+ if (path.tail.tail.head.getTag() == JCTree.CLASSDEF) {
+ JCClassDecl clazz = (JCClassDecl)path.tail.tail.head;
+ p.type = TargetType.CLASS_TYPE_PARAMETER_BOUND;
+ p.parameter_index = clazz.typarams.indexOf(path.tail.head);
+ p.bound_index = ((JCTypeParameter)frame).bounds.indexOf(tree);
+ } else if (path.tail.tail.head.getTag() == JCTree.METHODDEF) {
+ JCMethodDecl method = (JCMethodDecl)path.tail.tail.head;
+ p.type = TargetType.METHOD_TYPE_PARAMETER_BOUND;
+ p.parameter_index = method.typarams.indexOf(path.tail.head);
+ p.bound_index = ((JCTypeParameter)frame).bounds.indexOf(tree);
+ } else
+ throw new AssertionError();
+ p.pos = frame.pos;
+ return p;
+
+ case VARIABLE:
+ VarSymbol v = ((JCVariableDecl)frame).sym;
+ p.pos = frame.pos;
+ switch (v.getKind()) {
+ case LOCAL_VARIABLE:
+ p.type = TargetType.LOCAL_VARIABLE; break;
+ case FIELD:
+ p.type = TargetType.FIELD_GENERIC_OR_ARRAY; break;
+ case PARAMETER:
+ p.type = TargetType.METHOD_PARAMETER_GENERIC_OR_ARRAY;
+ p.parameter_index = methodParamIndex(path, frame);
+ break;
+ default: throw new AssertionError();
+ }
+ return p;
+
+ case ANNOTATED_TYPE: {
+ List<JCTree> newPath = path.tail;
+ return resolveFrame(newPath.head, newPath.tail.head,
+ newPath, p);
+ }
+
+ case METHOD_INVOCATION: {
+ JCMethodInvocation invocation = (JCMethodInvocation)frame;
+ if (!invocation.typeargs.contains(tree))
+ throw new AssertionError("{" + tree + "} is not an argument in the invocation: " + invocation);
+ p.type = TargetType.METHOD_TYPE_ARGUMENT;
+ p.pos = invocation.pos;
+ p.type_index = invocation.typeargs.indexOf(tree);
+ return p;
+ }
+
+ case EXTENDS_WILDCARD:
+ case SUPER_WILDCARD: {
+ p.type = TargetType.WILDCARD_BOUND;
+ List<JCTree> newPath = path.tail;
+
+ TypeAnnotationPosition wildcard =
+ resolveFrame(newPath.head, newPath.tail.head, newPath,
+ new TypeAnnotationPosition());
+ if (!wildcard.location.isEmpty())
+ wildcard.type = wildcard.type.getGenericComplement();
+ p.wildcard_position = wildcard;
+ p.pos = frame.pos;
+ return p;
+ }
+ }
+ return p;
+ }
+
+ private void setTypeAnnotationPos(List<JCTypeAnnotation> annotations, TypeAnnotationPosition position) {
+ for (JCTypeAnnotation anno : annotations) {
+ anno.annotation_position = position;
+ anno.attribute_field.position = position;
+ }
+ }
+
+ @Override
+ public void visitNewArray(JCNewArray tree) {
+ findPosition(tree, tree, tree.annotations);
+ int dimAnnosCount = tree.dimAnnotations.size();
+
+ // handle annotations associated with dimentions
+ for (int i = 0; i < dimAnnosCount; ++i) {
+ TypeAnnotationPosition p = new TypeAnnotationPosition();
+ p.type = TargetType.NEW_GENERIC_OR_ARRAY;
+ p.pos = tree.pos;
+ p.location = p.location.append(i);
+ setTypeAnnotationPos(tree.dimAnnotations.get(i), p);
+ }
+
+ // handle "free" annotations
+ int i = dimAnnosCount == 0 ? 0 : dimAnnosCount - 1;
+ JCExpression elemType = tree.elemtype;
+ while (elemType != null) {
+ if (elemType.getTag() == JCTree.ANNOTATED_TYPE) {
+ JCAnnotatedType at = (JCAnnotatedType)elemType;
+ TypeAnnotationPosition p = new TypeAnnotationPosition();
+ p.type = TargetType.NEW_GENERIC_OR_ARRAY;
+ p.pos = tree.pos;
+ p.location = p.location.append(i);
+ setTypeAnnotationPos(at.annotations, p);
+ elemType = at.underlyingType;
+ } else if (elemType.getTag() == JCTree.TYPEARRAY) {
+ ++i;
+ elemType = ((JCArrayTypeTree)elemType).elemtype;
+ } else
+ break;
+ }
+
+ // find annotations locations of initializer elements
+ scan(tree.elems);
+ }
+
+ @Override
+ public void visitAnnotatedType(JCAnnotatedType tree) {
+ findPosition(tree, peek2(), tree.annotations);
+ super.visitAnnotatedType(tree);
+ }
+
+ @Override
+ public void visitMethodDef(JCMethodDecl tree) {
+ TypeAnnotationPosition p = new TypeAnnotationPosition();
+ p.type = TargetType.METHOD_RECEIVER;
+ setTypeAnnotationPos(tree.receiverAnnotations, p);
+ super.visitMethodDef(tree);
+ }
+ @Override
+ public void visitTypeParameter(JCTypeParameter tree) {
+ findPosition(tree, peek2(), tree.annotations);
+ super.visitTypeParameter(tree);
+ }
+
+ void findPosition(JCTree tree, JCTree frame, List<JCTypeAnnotation> annotations) {
+ if (!annotations.isEmpty()) {
+ TypeAnnotationPosition p =
+ resolveFrame(tree, frame, frames.toList(),
+ new TypeAnnotationPosition());
+ if (!p.location.isEmpty())
+ p.type = p.type.getGenericComplement();
+ setTypeAnnotationPos(annotations, p);
+ }
+ }
+
+ private int methodParamIndex(List<JCTree> path, JCTree param) {
+ List<JCTree> curr = path;
+ if (curr.head != param)
+ curr = path.tail;
+ JCMethodDecl method = (JCMethodDecl)curr.tail.head;
+ return method.params.indexOf(param);
+ }
+ }
+
+ private static class TypeAnnotationLift extends TreeScanner {
+ List<Attribute.TypeCompound> recordedTypeAnnotations = List.nil();
+
+ boolean isInner = false;
+ @Override
+ public void visitClassDef(JCClassDecl tree) {
+ if (isInner) {
+ // tree is an inner class tree. stop now.
+ // TransTypes.visitClassDef makes an invocation for each class
+ // separately.
+ return;
+ }
+ isInner = true;
+ List<Attribute.TypeCompound> prevTAs = recordedTypeAnnotations;
+ recordedTypeAnnotations = List.nil();
+ try {
+ super.visitClassDef(tree);
+ } finally {
+ tree.sym.typeAnnotations = tree.sym.typeAnnotations.appendList(recordedTypeAnnotations);
+ recordedTypeAnnotations = prevTAs;
+ }
+ }
+
+ @Override
+ public void visitMethodDef(JCMethodDecl tree) {
+ List<Attribute.TypeCompound> prevTAs = recordedTypeAnnotations;
+ recordedTypeAnnotations = List.nil();
+ try {
+ super.visitMethodDef(tree);
+ } finally {
+ tree.sym.typeAnnotations = tree.sym.typeAnnotations.appendList(recordedTypeAnnotations);
+ recordedTypeAnnotations = prevTAs;
+ }
+ }
+
+ @Override
+ public void visitVarDef(JCVariableDecl tree) {
+ List<Attribute.TypeCompound> prevTAs = recordedTypeAnnotations;
+ recordedTypeAnnotations = List.nil();
+ ElementKind kind = tree.sym.getKind();
+ if (kind == ElementKind.LOCAL_VARIABLE && tree.mods.annotations.nonEmpty()) {
+ // need to lift the annotations
+ TypeAnnotationPosition position = new TypeAnnotationPosition();
+ position.pos = tree.pos;
+ position.type = TargetType.LOCAL_VARIABLE;
+ for (Attribute.Compound attribute : tree.sym.attributes_field) {
+ Attribute.TypeCompound tc =
+ new Attribute.TypeCompound(attribute.type, attribute.values, position);
+ recordedTypeAnnotations = recordedTypeAnnotations.append(tc);
+ }
+ }
+ try {
+ super.visitVarDef(tree);
+ } finally {
+ if (kind.isField() || kind == ElementKind.LOCAL_VARIABLE)
+ tree.sym.typeAnnotations = tree.sym.typeAnnotations.appendList(recordedTypeAnnotations);
+ recordedTypeAnnotations = kind.isField() ? prevTAs : prevTAs.appendList(recordedTypeAnnotations);
+ }
+ }
+
+ @Override
+ public void visitApply(JCMethodInvocation tree) {
+ scan(tree.meth);
+ scan(tree.typeargs);
+ scan(tree.args);
+ }
+
+ public void visitAnnotation(JCAnnotation tree) {
+ if (tree instanceof JCTypeAnnotation)
+ recordedTypeAnnotations = recordedTypeAnnotations.append(((JCTypeAnnotation)tree).attribute_field);
+ super.visitAnnotation(tree);
+ }
+ }
+
+}
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Check.java Wed Feb 17 10:24:30 2010 -0800
@@ -2047,7 +2047,7 @@
Symbol m = TreeInfo.symbol(assign.lhs);
if (m == null || m.type.isErroneous()) continue;
if (!members.remove(m))
- log.error(arg.pos(), "duplicate.annotation.member.value",
+ log.error(assign.lhs.pos(), "duplicate.annotation.member.value",
m.name, a.type);
if (assign.rhs.getTag() == ANNOTATION)
validateAnnotation((JCAnnotation)assign.rhs);
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Enter.java Wed Feb 17 10:24:30 2010 -0800
@@ -100,6 +100,7 @@
MemberEnter memberEnter;
Types types;
Lint lint;
+ Names names;
JavaFileManager fileManager;
private final Todo todo;
@@ -123,6 +124,7 @@
types = Types.instance(context);
annotate = Annotate.instance(context);
lint = Lint.instance(context);
+ names = Names.instance(context);
predefClassDef = make.ClassDef(
make.Modifiers(PUBLIC),
@@ -308,6 +310,17 @@
}
}
}
+
+ for (Symbol q = tree.packge; q != null && q.kind == PCK; q = q.owner)
+ q.flags_field |= EXISTS;
+
+ Name name = names.package_info;
+ ClassSymbol c = reader.enterClass(name, tree.packge);
+ c.flatname = names.fromString(tree.packge + "." + name);
+ c.sourcefile = tree.sourcefile;
+ c.completer = null;
+ c.members_field = new Scope(c);
+ tree.packge.package_info = c;
}
classEnter(tree.defs, env);
if (addEnv) {
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/Lower.java Wed Feb 17 10:24:30 2010 -0800
@@ -1994,19 +1994,14 @@
tree.packageAnnotations),
name, List.<JCTypeParameter>nil(),
null, List.<JCExpression>nil(), List.<JCTree>nil());
- ClassSymbol c = reader.enterClass(name, tree.packge);
- c.flatname = names.fromString(tree.packge + "." + name);
- c.sourcefile = tree.sourcefile;
- c.completer = null;
- c.members_field = new Scope(c);
- c.flags_field = flags;
+ ClassSymbol c = tree.packge.package_info;
+ c.flags_field |= flags;
c.attributes_field = tree.packge.attributes_field;
ClassType ctype = (ClassType) c.type;
ctype.supertype_field = syms.objectType;
ctype.interfaces_field = List.nil();
packageAnnotationsClass.sym = c;
-
translated.append(packageAnnotationsClass);
}
}
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/MemberEnter.java Wed Feb 17 10:24:30 2010 -0800
@@ -1065,11 +1065,6 @@
super.visitNewArray(tree);
}
@Override
- public void visitApply(JCMethodInvocation tree) {
- super.visitApply(tree);
- scan(tree.typeargs);
- }
- @Override
public void visitMethodDef(JCMethodDecl tree) {
annotate(tree, tree.receiverAnnotations);
super.visitMethodDef(tree);
--- a/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/comp/TransTypes.java Wed Feb 17 10:24:30 2010 -0800
@@ -61,8 +61,6 @@
return instance;
}
- private boolean debugJSR308;
-
private Names names;
private Log log;
private Symtab syms;
@@ -71,6 +69,7 @@
private boolean allowEnums;
private Types types;
private final Resolve resolve;
+ private final TypeAnnotations typeAnnotations;
/**
* Flag to indicate whether or not to generate bridge methods.
@@ -92,7 +91,7 @@
types = Types.instance(context);
make = TreeMaker.instance(context);
resolve = Resolve.instance(context);
- debugJSR308 = Options.instance(context).get("TA:trans") != null;
+ typeAnnotations = TypeAnnotations.instance(context);
}
/** A hashtable mapping bridge methods to the methods they override after
@@ -440,8 +439,7 @@
}
public void visitClassDef(JCClassDecl tree) {
- new TypeAnnotationPositions().scan(tree);
- new TypeAnnotationLift().scan(tree);
+ typeAnnotations.taFillAndLift(tree, true);
translateClass(tree.sym);
result = tree;
}
@@ -801,359 +799,4 @@
pt = null;
return translate(cdef, null);
}
-
- private class TypeAnnotationPositions extends TreeScanner {
-
- private ListBuffer<JCTree> frames = ListBuffer.lb();
- private void push(JCTree t) { frames = frames.prepend(t); }
- private JCTree pop() { return frames.next(); }
- private JCTree peek() { return frames.first(); }
- private JCTree peek2() { return frames.toList().tail.head; }
-
- @Override
- public void scan(JCTree tree) {
- push(tree);
- super.scan(tree);
- pop();
- }
-
- private boolean inClass = false;
-
- @Override
- public void visitClassDef(JCClassDecl tree) {
- if (!inClass) {
- // Do not recurse into nested and inner classes since
- // TransTypes.visitClassDef makes an invocation for each class
- // separately.
- inClass = true;
- try {
- super.visitClassDef(tree);
- } finally {
- inClass = false;
- }
- }
- }
-
- private TypeAnnotationPosition resolveFrame(JCTree tree, JCTree frame,
- List<JCTree> path, TypeAnnotationPosition p) {
- switch (frame.getKind()) {
- case TYPE_CAST:
- p.type = TargetType.TYPECAST;
- p.pos = frame.pos;
- return p;
-
- case INSTANCE_OF:
- p.type = TargetType.INSTANCEOF;
- p.pos = frame.pos;
- return p;
-
- case NEW_CLASS:
- p.type = TargetType.NEW;
- p.pos = frame.pos;
- return p;
-
- case NEW_ARRAY:
- p.type = TargetType.NEW;
- p.pos = frame.pos;
- return p;
-
- case CLASS:
- p.pos = frame.pos;
- if (((JCClassDecl)frame).extending == tree) {
- p.type = TargetType.CLASS_EXTENDS;
- p.type_index = -1;
- } else if (((JCClassDecl)frame).implementing.contains(tree)) {
- p.type = TargetType.CLASS_EXTENDS;
- p.type_index = ((JCClassDecl)frame).implementing.indexOf(tree);
- } else if (((JCClassDecl)frame).typarams.contains(tree)) {
- p.type = TargetType.CLASS_TYPE_PARAMETER;
- p.parameter_index = ((JCClassDecl)frame).typarams.indexOf(tree);
- } else
- throw new AssertionError();
- return p;
-
- case METHOD: {
- JCMethodDecl frameMethod = (JCMethodDecl)frame;
- p.pos = frame.pos;
- if (frameMethod.receiverAnnotations.contains(tree))
- p.type = TargetType.METHOD_RECEIVER;
- else if (frameMethod.thrown.contains(tree)) {
- p.type = TargetType.THROWS;
- p.type_index = frameMethod.thrown.indexOf(tree);
- } else if (((JCMethodDecl)frame).restype == tree) {
- p.type = TargetType.METHOD_RETURN_GENERIC_OR_ARRAY;
- } else if (frameMethod.typarams.contains(tree)) {
- p.type = TargetType.METHOD_TYPE_PARAMETER;
- p.parameter_index = frameMethod.typarams.indexOf(tree);
- } else
- throw new AssertionError();
- return p;
- }
- case MEMBER_SELECT: {
- JCFieldAccess fieldFrame = (JCFieldAccess)frame;
- if (fieldFrame.name == names._class) {
- p.type = TargetType.CLASS_LITERAL;
- if (fieldFrame.selected instanceof JCAnnotatedType) {
- p.pos = TreeInfo.typeIn(fieldFrame).pos;
- } else if (fieldFrame.selected instanceof JCArrayTypeTree) {
- p.pos = fieldFrame.selected.pos;
- }
- } else
- throw new AssertionError();
- return p;
- }
- case PARAMETERIZED_TYPE: {
- TypeAnnotationPosition nextP;
- if (((JCTypeApply)frame).clazz == tree)
- nextP = p; // generic: RAW; noop
- else if (((JCTypeApply)frame).arguments.contains(tree))
- p.location = p.location.prepend(
- ((JCTypeApply)frame).arguments.indexOf(tree));
- else
- throw new AssertionError();
-
- List<JCTree> newPath = path.tail;
- return resolveFrame(newPath.head, newPath.tail.head, newPath, p);
- }
-
- case ARRAY_TYPE: {
- p.location = p.location.prepend(0);
- List<JCTree> newPath = path.tail;
- return resolveFrame(newPath.head, newPath.tail.head, newPath, p);
- }
-
- case TYPE_PARAMETER:
- if (path.tail.tail.head.getTag() == JCTree.CLASSDEF) {
- JCClassDecl clazz = (JCClassDecl)path.tail.tail.head;
- p.type = TargetType.CLASS_TYPE_PARAMETER_BOUND;
- p.parameter_index = clazz.typarams.indexOf(path.tail.head);
- p.bound_index = ((JCTypeParameter)frame).bounds.indexOf(tree);
- } else if (path.tail.tail.head.getTag() == JCTree.METHODDEF) {
- JCMethodDecl method = (JCMethodDecl)path.tail.tail.head;
- p.type = TargetType.METHOD_TYPE_PARAMETER_BOUND;
- p.parameter_index = method.typarams.indexOf(path.tail.head);
- p.bound_index = ((JCTypeParameter)frame).bounds.indexOf(tree);
- } else
- throw new AssertionError();
- p.pos = frame.pos;
- return p;
-
- case VARIABLE:
- VarSymbol v = ((JCVariableDecl)frame).sym;
- p.pos = frame.pos;
- switch (v.getKind()) {
- case LOCAL_VARIABLE:
- p.type = TargetType.LOCAL_VARIABLE; break;
- case FIELD:
- p.type = TargetType.FIELD_GENERIC_OR_ARRAY; break;
- case PARAMETER:
- p.type = TargetType.METHOD_PARAMETER_GENERIC_OR_ARRAY;
- p.parameter_index = methodParamIndex(path, frame);
- break;
- default: throw new AssertionError();
- }
- return p;
-
- case ANNOTATED_TYPE: {
- List<JCTree> newPath = path.tail;
- return resolveFrame(newPath.head, newPath.tail.head,
- newPath, p);
- }
-
- case METHOD_INVOCATION: {
- JCMethodInvocation invocation = (JCMethodInvocation)frame;
- if (!invocation.typeargs.contains(tree))
- throw new AssertionError("{" + tree + "} is not an argument in the invocation: " + invocation);
- p.type = TargetType.METHOD_TYPE_ARGUMENT;
- p.pos = invocation.pos;
- p.type_index = invocation.typeargs.indexOf(tree);
- return p;
- }
-
- case EXTENDS_WILDCARD:
- case SUPER_WILDCARD: {
- p.type = TargetType.WILDCARD_BOUND;
- List<JCTree> newPath = path.tail;
-
- TypeAnnotationPosition wildcard =
- resolveFrame(newPath.head, newPath.tail.head, newPath,
- new TypeAnnotationPosition());
- if (!wildcard.location.isEmpty())
- wildcard.type = wildcard.type.getGenericComplement();
- p.wildcard_position = wildcard;
- p.pos = frame.pos;
- return p;
- }
- }
- return p;
- }
-
- @Override
- public void visitApply(JCMethodInvocation tree) {
- scan(tree.meth);
- scan(tree.typeargs);
- scan(tree.args);
- }
-
- private void setTypeAnnotationPos(List<JCTypeAnnotation> annotations, TypeAnnotationPosition position) {
- for (JCTypeAnnotation anno : annotations) {
- anno.annotation_position = position;
- anno.attribute_field.position = position;
- }
- }
-
- @Override
- public void visitNewArray(JCNewArray tree) {
- findPosition(tree, tree, tree.annotations);
- int dimAnnosCount = tree.dimAnnotations.size();
-
- // handle annotations associated with dimentions
- for (int i = 0; i < dimAnnosCount; ++i) {
- TypeAnnotationPosition p = new TypeAnnotationPosition();
- p.type = TargetType.NEW_GENERIC_OR_ARRAY;
- p.pos = tree.pos;
- p.location = p.location.append(i);
- setTypeAnnotationPos(tree.dimAnnotations.get(i), p);
- }
-
- // handle "free" annotations
- int i = dimAnnosCount == 0 ? 0 : dimAnnosCount - 1;
- JCExpression elemType = tree.elemtype;
- while (elemType != null) {
- if (elemType.getTag() == JCTree.ANNOTATED_TYPE) {
- JCAnnotatedType at = (JCAnnotatedType)elemType;
- TypeAnnotationPosition p = new TypeAnnotationPosition();
- p.type = TargetType.NEW_GENERIC_OR_ARRAY;
- p.pos = tree.pos;
- p.location = p.location.append(i);
- setTypeAnnotationPos(at.annotations, p);
- elemType = at.underlyingType;
- } else if (elemType.getTag() == JCTree.TYPEARRAY) {
- ++i;
- elemType = ((JCArrayTypeTree)elemType).elemtype;
- } else
- break;
- }
-
- // find annotations locations of initializer elements
- scan(tree.elems);
- }
-
- @Override
- public void visitAnnotatedType(JCAnnotatedType tree) {
- findPosition(tree, peek2(), tree.annotations);
- super.visitAnnotatedType(tree);
- }
-
- @Override
- public void visitMethodDef(JCMethodDecl tree) {
- TypeAnnotationPosition p = new TypeAnnotationPosition();
- p.type = TargetType.METHOD_RECEIVER;
- setTypeAnnotationPos(tree.receiverAnnotations, p);
- super.visitMethodDef(tree);
- }
- @Override
- public void visitTypeParameter(JCTypeParameter tree) {
- findPosition(tree, peek2(), tree.annotations);
- super.visitTypeParameter(tree);
- }
-
- void findPosition(JCTree tree, JCTree frame, List<JCTypeAnnotation> annotations) {
- if (!annotations.isEmpty()) {
- TypeAnnotationPosition p =
- resolveFrame(tree, frame, frames.toList(),
- new TypeAnnotationPosition());
- if (!p.location.isEmpty())
- p.type = p.type.getGenericComplement();
- setTypeAnnotationPos(annotations, p);
- if (debugJSR308) {
- System.out.println("trans: " + tree);
- System.out.println(" target: " + p);
- }
- }
- }
-
- private int methodParamIndex(List<JCTree> path, JCTree param) {
- List<JCTree> curr = path;
- if (curr.head != param)
- curr = path.tail;
- JCMethodDecl method = (JCMethodDecl)curr.tail.head;
- return method.params.indexOf(param);
- }
- }
-
- private class TypeAnnotationLift extends TreeScanner {
- List<Attribute.TypeCompound> recordedTypeAnnotations = List.nil();
-
- boolean isInner = false;
- @Override
- public void visitClassDef(JCClassDecl tree) {
- if (isInner) {
- // tree is an inner class tree. stop now.
- // TransTypes.visitClassDef makes an invocation for each class
- // seperately.
- return;
- }
- isInner = true;
- List<Attribute.TypeCompound> prevTAs = recordedTypeAnnotations;
- recordedTypeAnnotations = List.nil();
- try {
- super.visitClassDef(tree);
- } finally {
- tree.sym.typeAnnotations = tree.sym.typeAnnotations.appendList(recordedTypeAnnotations);
- recordedTypeAnnotations = prevTAs;
- }
- }
-
- @Override
- public void visitMethodDef(JCMethodDecl tree) {
- List<Attribute.TypeCompound> prevTAs = recordedTypeAnnotations;
- recordedTypeAnnotations = List.nil();
- try {
- super.visitMethodDef(tree);
- } finally {
- tree.sym.typeAnnotations = tree.sym.typeAnnotations.appendList(recordedTypeAnnotations);
- recordedTypeAnnotations = prevTAs;
- }
- }
-
- @Override
- public void visitVarDef(JCVariableDecl tree) {
- List<Attribute.TypeCompound> prevTAs = recordedTypeAnnotations;
- recordedTypeAnnotations = List.nil();
- ElementKind kind = tree.sym.getKind();
- if (kind == ElementKind.LOCAL_VARIABLE && tree.mods.annotations.nonEmpty()) {
- // need to lift the annotations
- TypeAnnotationPosition position = new TypeAnnotationPosition();
- position.pos = tree.pos;
- position.type = TargetType.LOCAL_VARIABLE;
- for (Attribute.Compound attribute : tree.sym.attributes_field) {
- Attribute.TypeCompound tc =
- new Attribute.TypeCompound(attribute.type, attribute.values, position);
- recordedTypeAnnotations = recordedTypeAnnotations.append(tc);
- }
- }
- try {
- super.visitVarDef(tree);
- } finally {
- if (kind.isField() || kind == ElementKind.LOCAL_VARIABLE)
- tree.sym.typeAnnotations = tree.sym.typeAnnotations.appendList(recordedTypeAnnotations);
- recordedTypeAnnotations = kind.isField() ? prevTAs : prevTAs.appendList(recordedTypeAnnotations);
- }
- }
-
- @Override
- public void visitApply(JCMethodInvocation tree) {
- scan(tree.meth);
- scan(tree.typeargs);
- scan(tree.args);
- }
-
- public void visitAnnotation(JCAnnotation tree) {
- if (tree instanceof JCTypeAnnotation)
- recordedTypeAnnotations = recordedTypeAnnotations.append(((JCTypeAnnotation)tree).attribute_field);
- super.visitAnnotation(tree);
- }
- }
-
}
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassReader.java Wed Feb 17 10:24:30 2010 -0800
@@ -1425,11 +1425,11 @@
// Class extends and implements clauses
case CLASS_EXTENDS:
case CLASS_EXTENDS_GENERIC_OR_ARRAY:
- position.type_index = nextByte();
+ position.type_index = nextChar();
break;
// throws
case THROWS:
- position.type_index = nextByte();
+ position.type_index = nextChar();
break;
case CLASS_LITERAL:
case CLASS_LITERAL_GENERIC_OR_ARRAY:
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/ClassWriter.java Wed Feb 17 10:24:30 2010 -0800
@@ -965,11 +965,11 @@
// Class extends and implements clauses
case CLASS_EXTENDS:
case CLASS_EXTENDS_GENERIC_OR_ARRAY:
- databuf.appendByte(p.type_index);
+ databuf.appendChar(p.type_index);
break;
// throws
case THROWS:
- databuf.appendByte(p.type_index);
+ databuf.appendChar(p.type_index);
break;
case CLASS_LITERAL:
case CLASS_LITERAL_GENERIC_OR_ARRAY:
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Code.java Wed Feb 17 10:24:30 2010 -0800
@@ -1926,9 +1926,9 @@
for (Attribute.TypeCompound ta : lv.sym.typeAnnotations) {
TypeAnnotationPosition p = ta.position;
while (p != null) {
- p.lvarOffset[0] = (int)lv.start_pc;
- p.lvarLength[0] = (int)lv.length;
- p.lvarIndex[0] = (int)lv.reg;
+ p.lvarOffset = new int[] { (int)lv.start_pc };
+ p.lvarLength = new int[] { (int)lv.length };
+ p.lvarIndex = new int[] { (int)lv.reg };
p.isValidOffset = true;
p = p.wildcard_position;
}
--- a/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/jvm/Gen.java Wed Feb 17 10:24:30 2010 -0800
@@ -1714,7 +1714,7 @@
for (Attribute.TypeCompound ta : meth.typeAnnotations) {
if (ta.position.pos == treePos) {
ta.position.offset = code.cp;
- ta.position.lvarOffset[0] = code.cp;
+ ta.position.lvarOffset = new int[] { code.cp };
ta.position.isValidOffset = true;
}
}
@@ -1726,7 +1726,7 @@
for (Attribute.TypeCompound ta : meth.owner.typeAnnotations) {
if (ta.position.pos == treePos) {
ta.position.offset = code.cp;
- ta.position.lvarOffset[0] = code.cp;
+ ta.position.lvarOffset = new int[] { code.cp };
ta.position.isValidOffset = true;
}
}
@@ -1738,7 +1738,7 @@
for (Attribute.TypeCompound ta : s.typeAnnotations) {
if (ta.position.pos == treePos) {
ta.position.offset = code.cp;
- ta.position.lvarOffset[0] = code.cp;
+ ta.position.lvarOffset = new int[] { code.cp };
ta.position.isValidOffset = true;
}
}
@@ -2158,6 +2158,11 @@
code.emitop2(ldc2, makeRef(tree.pos(), tree.selected.type));
result = items.makeStackItem(pt);
return;
+ } else if (tree.name == names.TYPE) {
+ // Set the annotation positions for primitive class literals
+ // (e.g. int.class) which have been converted to TYPE field
+ // access on the corresponding boxed type (e.g. Integer.TYPE).
+ setTypeAnnotationPositions(tree.pos);
}
Symbol ssym = TreeInfo.symbol(tree.selected);
--- a/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/parser/JavacParser.java Wed Feb 17 10:24:30 2010 -0800
@@ -761,23 +761,28 @@
JCExpression[] odStack = newOdStack();
List<Token[]> savedOp = opStackSupply.elems;
Token[] opStack = newOpStack();
+ List<int[]> savedPos = posStackSupply.elems;
+ int[] posStack = newPosStack();
// optimization, was odStack = new Tree[...]; opStack = new Tree[...];
int top = 0;
odStack[0] = t;
int startPos = S.pos();
Token topOp = ERROR;
+ int topOpPos = Position.NOPOS;
while (prec(S.token()) >= minprec) {
+ posStack[top] = topOpPos;
opStack[top] = topOp;
top++;
topOp = S.token();
- int pos = S.pos();
+ topOpPos = S.pos();
S.nextToken();
- odStack[top] = topOp == INSTANCEOF ? parseType() : term3();
+ odStack[top] = (topOp == INSTANCEOF) ? parseType() : term3();
while (top > 0 && prec(topOp) >= prec(S.token())) {
- odStack[top-1] = makeOp(pos, topOp, odStack[top-1],
+ odStack[top-1] = makeOp(topOpPos, topOp, odStack[top-1],
odStack[top]);
top--;
topOp = opStack[top];
+ topOpPos = posStack[top];
}
}
assert top == 0;
@@ -792,6 +797,7 @@
odStackSupply.elems = savedOd; // optimization
opStackSupply.elems = savedOp; // optimization
+ posStackSupply.elems = savedPos; // optimization
return t;
}
//where
@@ -845,6 +851,7 @@
*/
ListBuffer<JCExpression[]> odStackSupply = new ListBuffer<JCExpression[]>();
ListBuffer<Token[]> opStackSupply = new ListBuffer<Token[]>();
+ ListBuffer<int[]> posStackSupply = new ListBuffer<int[]>();
private JCExpression[] newOdStack() {
if (odStackSupply.elems == odStackSupply.last)
@@ -862,6 +869,14 @@
return opStack;
}
+ private int[] newPosStack() {
+ if (posStackSupply.elems == posStackSupply.last)
+ posStackSupply.append(new int[infixPrecedenceLevels + 1]);
+ int[] posStack = posStackSupply.elems.head;
+ posStackSupply.elems = posStackSupply.elems.tail;
+ return posStack;
+ }
+
/** Expression3 = PrefixOp Expression3
* | "(" Expr | TypeNoParams ")" Expression3
* | Primary {Selector} {PostfixOp}
@@ -939,7 +954,7 @@
args.append(typeArgument());
}
accept(GT);
- t = F.at(pos1).TypeApply(t, args.toList());
+ t = toP(F.at(pos1).TypeApply(t, args.toList()));
checkGenerics();
while (S.token() == DOT) {
S.nextToken();
@@ -950,7 +965,8 @@
t = bracketsOpt(toP(t));
} else if ((mode & EXPR) != 0) {
mode = EXPR;
- t = F.at(pos1).Binary(op, t, term2Rest(t1, TreeInfo.shiftPrec));
+ JCExpression e = term2Rest(t1, TreeInfo.shiftPrec);
+ t = F.at(pos1).Binary(op, t, e);
t = termRest(term1Rest(term2Rest(t, TreeInfo.orPrec)));
} else {
accept(GT);
@@ -998,7 +1014,8 @@
case SUPER:
if ((mode & EXPR) != 0) {
mode = EXPR;
- t = to(superSuffix(typeArgs, F.at(pos).Ident(names._super)));
+ t = to(F.at(pos).Ident(names._super));
+ t = superSuffix(typeArgs, t);
typeArgs = null;
} else return illegal();
break;
@@ -1380,13 +1397,15 @@
S.nextToken();
JCExpression result;
if (S.token() == EXTENDS) {
- TypeBoundKind t = to(F.at(S.pos()).TypeBoundKind(BoundKind.EXTENDS));
+ TypeBoundKind t = to(F.at(pos).TypeBoundKind(BoundKind.EXTENDS));
S.nextToken();
- result = F.at(pos).Wildcard(t, parseType());
+ JCExpression bound = parseType();
+ result = F.at(pos).Wildcard(t, bound);
} else if (S.token() == SUPER) {
- TypeBoundKind t = to(F.at(S.pos()).TypeBoundKind(BoundKind.SUPER));
+ TypeBoundKind t = to(F.at(pos).TypeBoundKind(BoundKind.SUPER));
S.nextToken();
- result = F.at(pos).Wildcard(t, parseType());
+ JCExpression bound = parseType();
+ result = F.at(pos).Wildcard(t, bound);
} else if (S.token() == IDENTIFIER) {
//error recovery
reportSyntaxError(S.prevEndPos(), "expected3",
@@ -1396,7 +1415,7 @@
JCIdent id = toP(F.at(S.pos()).Ident(ident()));
result = F.at(pos).Erroneous(List.<JCTree>of(wc, id));
} else {
- TypeBoundKind t = F.at(Position.NOPOS).TypeBoundKind(BoundKind.UNBOUND);
+ TypeBoundKind t = toP(F.at(pos).TypeBoundKind(BoundKind.UNBOUND));
result = toP(F.at(pos).Wildcard(t, null));
}
if (!annotations.isEmpty())
@@ -2117,14 +2136,21 @@
return modifiersOpt(null);
}
JCModifiers modifiersOpt(JCModifiers partial) {
- long flags = (partial == null) ? 0 : partial.flags;
+ long flags;
+ ListBuffer<JCAnnotation> annotations = new ListBuffer<JCAnnotation>();
+ int pos;
+ if (partial == null) {
+ flags = 0;
+ pos = S.pos();
+ } else {
+ flags = partial.flags;
+ annotations.appendList(partial.annotations);
+ pos = partial.pos;
+ }
if (S.deprecatedFlag()) {
flags |= Flags.DEPRECATED;
S.resetDeprecatedFlag();
}
- ListBuffer<JCAnnotation> annotations = new ListBuffer<JCAnnotation>();
- if (partial != null) annotations.appendList(partial.annotations);
- int pos = S.pos();
int lastPos = Position.NOPOS;
loop:
while (true) {
@@ -2150,12 +2176,12 @@
if (flag == Flags.ANNOTATION) {
checkAnnotations();
if (S.token() != INTERFACE) {
- JCAnnotation ann = annotation(lastPos, AnnotationKind.DEFAULT_ANNO);
- // if first modifier is an annotation, set pos to annotation's.
- if (flags == 0 && annotations.isEmpty())
- pos = ann.pos;
- annotations.append(ann);
- lastPos = ann.pos;
+ JCAnnotation ann = annotation(lastPos, AnnotationKind.DEFAULT_ANNO);
+ // if first modifier is an annotation, set pos to annotation's.
+ if (flags == 0 && annotations.isEmpty())
+ pos = ann.pos;
+ annotations.append(ann);
+ lastPos = ann.pos;
flag = 0;
}
}
@@ -2169,7 +2195,7 @@
/* A modifiers tree with no modifier tokens or annotations
* has no text position. */
- if (flags == 0 && annotations.isEmpty())
+ if ((flags & Flags.ModifierFlags) == 0 && annotations.isEmpty())
pos = Position.NOPOS;
JCModifiers mods = F.at(pos).Modifiers(flags, annotations.toList());
@@ -2226,7 +2252,8 @@
if (t1.getTag() == JCTree.IDENT && S.token() == EQ) {
int pos = S.pos();
accept(EQ);
- return toP(F.at(pos).Assign(t1, annotationValue()));
+ JCExpression v = annotationValue();
+ return toP(F.at(pos).Assign(t1, v));
} else {
return t1;
}
@@ -2543,10 +2570,9 @@
}
List<JCTree> defs = enumBody(name);
- JCModifiers newMods =
- F.at(mods.pos).Modifiers(mods.flags|Flags.ENUM, mods.annotations);
+ mods.flags |= Flags.ENUM;
JCClassDecl result = toP(F.at(pos).
- ClassDef(newMods, name, List.<JCTypeParameter>nil(),
+ ClassDef(mods, name, List.<JCTypeParameter>nil(),
null, implementing, defs));
attach(result, dc);
return result;
@@ -2695,16 +2721,8 @@
} else {
pos = S.pos();
List<JCTypeParameter> typarams = typeParametersOpt();
- // Hack alert: if there are type arguments but no Modifiers, the start
- // position will be lost unless we set the Modifiers position. There
- // should be an AST node for type parameters (BugId 5005090).
- if (typarams.length() > 0 && mods.pos == Position.NOPOS) {
- mods.pos = pos;
- }
-
List<JCAnnotation> annosAfterParams = annotationsOpt(AnnotationKind.DEFAULT_ANNO);
- Token token = S.token();
Name name = S.name();
pos = S.pos();
JCExpression type;
@@ -2715,7 +2733,11 @@
type = to(F.at(pos).TypeIdent(TypeTags.VOID));
S.nextToken();
} else {
- mods.annotations = mods.annotations.appendList(annosAfterParams);
+ if (annosAfterParams.nonEmpty()) {
+ mods.annotations = mods.annotations.appendList(annosAfterParams);
+ if (mods.pos == Position.NOPOS)
+ mods.pos = mods.annotations.head.pos;
+ }
// method returns types are un-annotated types
type = unannotatedType();
}
@@ -2813,6 +2835,7 @@
}
}
}
+
JCMethodDecl result =
toP(F.at(pos).MethodDef(mods, name, type, typarams,
params, receiverAnnotations, thrown,
--- a/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/processing/JavacProcessingEnvironment.java Wed Feb 17 10:24:30 2010 -0800
@@ -67,6 +67,7 @@
import com.sun.tools.javac.tree.JCTree.*;
import com.sun.tools.javac.util.Abort;
import com.sun.tools.javac.util.Context;
+import com.sun.tools.javac.util.Convert;
import com.sun.tools.javac.util.List;
import com.sun.tools.javac.util.ListBuffer;
import com.sun.tools.javac.util.Log;
@@ -893,14 +894,20 @@
errorStatus = true;
break runAround;
} else {
- ListBuffer<ClassSymbol> classes = enterNewClassFiles(currentContext);
+ List<ClassSymbol> newClasses = enterNewClassFiles(currentContext);
compiler.enterTrees(roots);
// annotationsPresentInSource =
// collector.findAnnotations(parsedFiles);
- classes.appendList(getTopLevelClasses(parsedFiles));
- topLevelClasses = classes.toList();
- packageInfoFiles = getPackageInfoFiles(parsedFiles);
+ ListBuffer<ClassSymbol> tlc = new ListBuffer<ClassSymbol>();
+ tlc.appendList(getTopLevelClasses(parsedFiles));
+ tlc.appendList(getTopLevelClassesFromClasses(newClasses));
+ topLevelClasses = tlc.toList();
+
+ ListBuffer<PackageSymbol> pif = new ListBuffer<PackageSymbol>();
+ pif.appendList(getPackageInfoFiles(parsedFiles));
+ pif.appendList(getPackageInfoFilesFromClasses(newClasses));
+ packageInfoFiles = pif.toList();
annotationsPresent = new LinkedHashSet<TypeElement>();
for (ClassSymbol classSym : topLevelClasses)
@@ -1026,20 +1033,30 @@
}
}
- private ListBuffer<ClassSymbol> enterNewClassFiles(Context currentContext) {
+ private List<ClassSymbol> enterNewClassFiles(Context currentContext) {
ClassReader reader = ClassReader.instance(currentContext);
Names names = Names.instance(currentContext);
- ListBuffer<ClassSymbol> list = new ListBuffer<ClassSymbol>();
+ List<ClassSymbol> list = List.nil();
for (Map.Entry<String,JavaFileObject> entry : filer.getGeneratedClasses().entrySet()) {
Name name = names.fromString(entry.getKey());
JavaFileObject file = entry.getValue();
if (file.getKind() != JavaFileObject.Kind.CLASS)
throw new AssertionError(file);
- ClassSymbol cs = reader.enterClass(name, file);
- list.append(cs);
+ ClassSymbol cs;
+ if (isPkgInfo(file, JavaFileObject.Kind.CLASS)) {
+ Name packageName = Convert.packagePart(name);
+ PackageSymbol p = reader.enterPackage(packageName);
+ if (p.package_info == null)
+ p.package_info = reader.enterClass(Convert.shortName(name), p);
+ cs = p.package_info;
+ if (cs.classfile == null)
+ cs.classfile = file;
+ } else
+ cs = reader.enterClass(name, file);
+ list = list.prepend(cs);
}
- return list;
+ return list.reverse();
}
/**
@@ -1066,18 +1083,44 @@
return classes.reverse();
}
+ private List<ClassSymbol> getTopLevelClassesFromClasses(List<? extends ClassSymbol> syms) {
+ List<ClassSymbol> classes = List.nil();
+ for (ClassSymbol sym : syms) {
+ if (!isPkgInfo(sym)) {
+ classes = classes.prepend(sym);
+ }
+ }
+ return classes.reverse();
+ }
+
private List<PackageSymbol> getPackageInfoFiles(List<? extends JCCompilationUnit> units) {
List<PackageSymbol> packages = List.nil();
for (JCCompilationUnit unit : units) {
- boolean isPkgInfo = unit.sourcefile.isNameCompatible("package-info",
- JavaFileObject.Kind.SOURCE);
- if (isPkgInfo) {
+ if (isPkgInfo(unit.sourcefile, JavaFileObject.Kind.SOURCE)) {
packages = packages.prepend(unit.packge);
}
}
return packages.reverse();
}
+ private List<PackageSymbol> getPackageInfoFilesFromClasses(List<? extends ClassSymbol> syms) {
+ List<PackageSymbol> packages = List.nil();
+ for (ClassSymbol sym : syms) {
+ if (isPkgInfo(sym)) {
+ packages = packages.prepend((PackageSymbol) sym.owner);
+ }
+ }
+ return packages.reverse();
+ }
+
+ private boolean isPkgInfo(JavaFileObject fo, JavaFileObject.Kind kind) {
+ return fo.isNameCompatible("package-info", kind);
+ }
+
+ private boolean isPkgInfo(ClassSymbol sym) {
+ return isPkgInfo(sym.classfile, JavaFileObject.Kind.CLASS) && (sym.packge().package_info == sym);
+ }
+
private Context contextForNextRound(Context context, boolean shareNames)
throws IOException
{
@@ -1252,10 +1295,6 @@
node.sym = null;
super.visitIdent(node);
}
- public void visitApply(JCMethodInvocation node) {
- scan(node.typeargs);
- super.visitApply(node);
- }
};
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeInfo.java Wed Feb 17 10:24:30 2010 -0800
@@ -307,8 +307,18 @@
case(JCTree.POSTINC):
case(JCTree.POSTDEC):
return getStartPos(((JCUnary) tree).arg);
- case(JCTree.ANNOTATED_TYPE):
- return getStartPos(((JCAnnotatedType) tree).underlyingType);
+ case(JCTree.ANNOTATED_TYPE): {
+ JCAnnotatedType node = (JCAnnotatedType) tree;
+ if (node.annotations.nonEmpty())
+ return getStartPos(node.annotations.head);
+ return getStartPos(node.underlyingType);
+ }
+ case(JCTree.NEWCLASS): {
+ JCNewClass node = (JCNewClass)tree;
+ if (node.encl != null)
+ return getStartPos(node.encl);
+ break;
+ }
case(JCTree.VARDEF): {
JCVariableDecl node = (JCVariableDecl)tree;
if (node.mods.pos != Position.NOPOS) {
@@ -406,6 +416,8 @@
return getEndPos(((JCUnary) tree).arg, endPositions);
case(JCTree.WHILELOOP):
return getEndPos(((JCWhileLoop) tree).body, endPositions);
+ case(JCTree.ANNOTATED_TYPE):
+ return getEndPos(((JCAnnotatedType) tree).underlyingType, endPositions);
case(JCTree.ERRONEOUS): {
JCErroneous node = (JCErroneous)tree;
if (node.errs != null && node.errs.nonEmpty())
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeMaker.java Wed Feb 17 10:24:30 2010 -0800
@@ -480,7 +480,7 @@
public JCModifiers Modifiers(long flags, List<JCAnnotation> annotations) {
JCModifiers tree = new JCModifiers(flags, annotations);
- boolean noFlags = (flags & Flags.StandardFlags) == 0;
+ boolean noFlags = (flags & Flags.ModifierFlags) == 0;
tree.pos = (noFlags && annotations.isEmpty()) ? Position.NOPOS : pos;
return tree;
}
--- a/langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javac/tree/TreeScanner.java Wed Feb 17 10:24:30 2010 -0800
@@ -193,6 +193,7 @@
}
public void visitApply(JCMethodInvocation tree) {
+ scan(tree.typeargs);
scan(tree.meth);
scan(tree.args);
}
@@ -200,6 +201,7 @@
public void visitNewClass(JCNewClass tree) {
scan(tree.encl);
scan(tree.clazz);
+ scan(tree.typeargs);
scan(tree.args);
scan(tree.def);
}
--- a/langtools/src/share/classes/com/sun/tools/javap/AnnotationWriter.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/src/share/classes/com/sun/tools/javap/AnnotationWriter.java Wed Feb 17 10:24:30 2010 -0800
@@ -162,6 +162,7 @@
print(pos.type_index);
break;
case CLASS_LITERAL:
+ case CLASS_LITERAL_GENERIC_OR_ARRAY:
if (showOffsets) {
print(", offset=");
print(pos.offset);
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/T6654037.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,76 @@
+/*
+ * Copyright 2008-2010 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6654037
+ * @summary JCTree.pos may be incorrect for BinaryTrees
+ */
+
+import com.sun.source.tree.BinaryTree;
+import com.sun.source.tree.ClassTree;
+import com.sun.source.tree.CompilationUnitTree;
+import com.sun.source.tree.MethodTree;
+import com.sun.source.tree.VariableTree;
+import com.sun.tools.javac.api.JavacTaskImpl;
+import com.sun.tools.javac.tree.JCTree;
+import java.net.URI;
+import java.util.Arrays;
+import javax.tools.JavaCompiler;
+import javax.tools.JavaFileObject;
+import javax.tools.SimpleJavaFileObject;
+import javax.tools.ToolProvider;
+
+public class T6654037 {
+
+ public static void main(String[] args) throws Exception {
+ final String bootPath = System.getProperty("sun.boot.class.path"); //NOI18N
+ final JavaCompiler tool = ToolProvider.getSystemJavaCompiler();
+ assert tool != null;
+
+ String code = "package test; public class Test {private void test() {Object o = null; boolean b = o != null && o instanceof String;} private Test() {}}";
+
+ JavacTaskImpl ct = (JavacTaskImpl) tool.getTask(null, null, null, Arrays.asList("-bootclasspath", bootPath, "-Xjcov"), null, Arrays.asList(new MyFileObject(code)));
+ CompilationUnitTree cut = ct.parse().iterator().next();
+ ClassTree clazz = (ClassTree) cut.getTypeDecls().get(0);
+ MethodTree method = (MethodTree) clazz.getMembers().get(0);
+ VariableTree condSt = (VariableTree) method.getBody().getStatements().get(1);
+ BinaryTree cond = (BinaryTree) condSt.getInitializer();
+ JCTree condJC = (JCTree) cond;
+
+ if (condJC.pos != 93)
+ throw new IllegalStateException("Unexpected position=" + condJC.pos);
+ }
+
+ static class MyFileObject extends SimpleJavaFileObject {
+ private String text;
+ public MyFileObject(String text) {
+ super(URI.create("myfo:/Test.java"), JavaFileObject.Kind.SOURCE);
+ this.text = text;
+ }
+ @Override
+ public CharSequence getCharContent(boolean ignoreEncodingErrors) {
+ return text;
+ }
+ }
+}
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg01.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg01.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,31 +1,31 @@
Neg01.java:18:15: compiler.err.not.within.bounds: java.lang.String
Neg01.java:18:37: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<java.lang.String>)
-Neg01.java:19:25: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg01.java:19:15: compiler.err.not.within.bounds: ? extends java.lang.String
Neg01.java:19:47: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg01.java:20:23: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String, kindname.class, Neg01<java.lang.Number>
-Neg01.java:21:23: compiler.err.not.within.bounds: ? super java.lang.String
+Neg01.java:21:15: compiler.err.not.within.bounds: ? super java.lang.String
Neg01.java:21:45: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<? super java.lang.String>)
Neg01.java:23:15: compiler.err.not.within.bounds: java.lang.String
Neg01.java:23:37: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<java.lang.String>)
-Neg01.java:24:25: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg01.java:24:15: compiler.err.not.within.bounds: ? extends java.lang.String
Neg01.java:24:47: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg01.java:25:23: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String, kindname.class, Neg01<java.lang.Number>
Neg01.java:25:38: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , , kindname.class, Neg01<java.lang.Number>
-Neg01.java:26:23: compiler.err.not.within.bounds: ? super java.lang.String
+Neg01.java:26:15: compiler.err.not.within.bounds: ? super java.lang.String
Neg01.java:26:45: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<? super java.lang.String>)
Neg01.java:28:15: compiler.err.not.within.bounds: java.lang.String
Neg01.java:28:37: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<java.lang.String>)
-Neg01.java:29:25: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg01.java:29:15: compiler.err.not.within.bounds: ? extends java.lang.String
Neg01.java:29:48: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg01.java:30:24: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String,java.lang.String, kindname.class, Neg01<java.lang.Number>
Neg01.java:31:9: compiler.err.cant.resolve.location: kindname.class, Foo, , , kindname.class, Neg01<X>
Neg01.java:31:35: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String,java.lang.String, kindname.class, Neg01<java.lang.Number>
Neg01.java:33:15: compiler.err.not.within.bounds: java.lang.String
Neg01.java:33:38: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<java.lang.String>)
-Neg01.java:34:25: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg01.java:34:15: compiler.err.not.within.bounds: ? extends java.lang.String
Neg01.java:34:48: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg01.java:35:24: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , java.lang.String,java.lang.String, kindname.class, Neg01<java.lang.Number>
Neg01.java:35:43: compiler.err.cant.resolve.location.args: kindname.constructor, Neg01, , , kindname.class, Neg01<java.lang.Number>
-Neg01.java:36:23: compiler.err.not.within.bounds: ? super java.lang.String
+Neg01.java:36:15: compiler.err.not.within.bounds: ? super java.lang.String
Neg01.java:36:46: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg01<X>, Neg01<? super java.lang.String>)
30 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg02.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg02.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,61 +1,61 @@
Neg02.java:19:13: compiler.err.not.within.bounds: java.lang.String
Neg02.java:19:33: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
-Neg02.java:20:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:20:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg02.java:20:43: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg02.java:21:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:22:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:22:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg02.java:22:41: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
Neg02.java:24:13: compiler.err.not.within.bounds: java.lang.String
Neg02.java:24:33: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
-Neg02.java:25:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:25:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg02.java:25:43: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg02.java:26:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
Neg02.java:26:34: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:27:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:27:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg02.java:27:41: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
Neg02.java:29:13: compiler.err.not.within.bounds: java.lang.String
Neg02.java:29:33: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
-Neg02.java:30:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:30:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg02.java:30:44: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg02.java:31:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:32:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:32:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg02.java:32:42: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
Neg02.java:34:13: compiler.err.not.within.bounds: java.lang.String
Neg02.java:34:34: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
-Neg02.java:35:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:35:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg02.java:35:44: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg02.java:36:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
Neg02.java:36:39: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:37:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:37:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg02.java:37:42: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
Neg02.java:41:13: compiler.err.not.within.bounds: java.lang.String
Neg02.java:41:39: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
-Neg02.java:42:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:42:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg02.java:42:49: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg02.java:43:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:44:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:44:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg02.java:44:47: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
Neg02.java:46:13: compiler.err.not.within.bounds: java.lang.String
Neg02.java:46:39: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
-Neg02.java:47:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:47:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg02.java:47:49: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg02.java:48:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
Neg02.java:48:40: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:49:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:49:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg02.java:49:47: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
Neg02.java:51:13: compiler.err.not.within.bounds: java.lang.String
Neg02.java:51:39: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
-Neg02.java:52:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:52:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg02.java:52:50: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg02.java:53:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:54:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:54:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg02.java:54:48: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
Neg02.java:56:13: compiler.err.not.within.bounds: java.lang.String
Neg02.java:56:40: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<java.lang.String>)
-Neg02.java:57:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg02.java:57:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg02.java:57:50: compiler.err.cant.apply.diamond: X, (compiler.misc.no.unique.maximal.instance.exists: X, java.lang.String,java.lang.Number)
Neg02.java:58:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg02.Foo<java.lang.Number>
Neg02.java:58:45: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg02.Foo<java.lang.Number>
-Neg02.java:59:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg02.java:59:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg02.java:59:48: compiler.err.cant.apply.diamond: X, (compiler.misc.no.conforming.instance.exists: X, Neg02.Foo<X>, Neg02.Foo<? super java.lang.String>)
60 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg03.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg03.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,91 +1,91 @@
Neg03.java:19:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:19:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:20:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:20:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:20:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:21:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:22:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:22:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:22:41: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:24:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:24:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:25:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:25:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:25:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:26:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
Neg03.java:26:34: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:27:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:27:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:27:41: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:29:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:29:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:30:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:30:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:30:44: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:31:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:32:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:32:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:32:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:34:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:34:34: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:35:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:35:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:35:44: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:36:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
Neg03.java:36:39: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:37:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:37:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:37:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:41:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:41:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:42:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:42:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:42:52: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:43:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:44:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:44:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:44:50: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:46:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:46:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:47:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:47:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:47:52: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:48:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
Neg03.java:48:43: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:49:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:49:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:49:50: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:51:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:51:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:52:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:52:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:52:53: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:53:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:54:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:54:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:54:51: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:56:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:56:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:57:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:57:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:57:53: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:58:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
Neg03.java:58:48: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:59:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:59:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:59:51: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:63:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:63:28: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:64:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:64:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:64:38: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:65:23: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:66:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:66:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:66:36: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:68:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:68:28: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:69:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:69:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:69:38: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:70:23: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
Neg03.java:70:36: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:71:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:71:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:71:36: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:73:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:73:28: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:74:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:74:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:74:39: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:75:24: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:76:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:76:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:76:37: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
Neg03.java:78:13: compiler.err.not.within.bounds: java.lang.String
Neg03.java:78:29: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<java.lang.String>)
-Neg03.java:79:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg03.java:79:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg03.java:79:39: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg03.java:80:24: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Neg03<U>.Foo<java.lang.Number>
Neg03.java:80:41: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Neg03<U>.Foo<java.lang.Number>
-Neg03.java:81:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg03.java:81:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg03.java:81:37: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Neg03<U>.Foo<V>, Neg03<U>.Foo<? super java.lang.String>)
90 errors
--- a/langtools/test/tools/javac/generics/diamond/neg/Neg04.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/generics/diamond/neg/Neg04.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,31 +1,31 @@
Neg04.java:18:13: compiler.err.not.within.bounds: java.lang.String
Neg04.java:18:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<java.lang.String>)
-Neg04.java:19:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg04.java:19:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg04.java:19:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg04.java:20:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Foo<java.lang.Number>
-Neg04.java:21:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg04.java:21:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg04.java:21:41: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<? super java.lang.String>)
Neg04.java:23:13: compiler.err.not.within.bounds: java.lang.String
Neg04.java:23:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<java.lang.String>)
-Neg04.java:24:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg04.java:24:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg04.java:24:43: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg04.java:25:21: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String, kindname.class, Foo<java.lang.Number>
Neg04.java:25:34: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Foo<java.lang.Number>
-Neg04.java:26:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg04.java:26:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg04.java:26:41: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<? super java.lang.String>)
Neg04.java:28:13: compiler.err.not.within.bounds: java.lang.String
Neg04.java:28:33: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<java.lang.String>)
-Neg04.java:29:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg04.java:29:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg04.java:29:44: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg04.java:30:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Foo<java.lang.Number>
-Neg04.java:31:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg04.java:31:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg04.java:31:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<? super java.lang.String>)
Neg04.java:33:13: compiler.err.not.within.bounds: java.lang.String
Neg04.java:33:34: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<java.lang.String>)
-Neg04.java:34:23: compiler.err.not.within.bounds: ? extends java.lang.String
+Neg04.java:34:13: compiler.err.not.within.bounds: ? extends java.lang.String
Neg04.java:34:44: compiler.err.cant.apply.diamond: V, (compiler.misc.no.unique.maximal.instance.exists: V, java.lang.String,java.lang.Number)
Neg04.java:35:22: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , java.lang.String,java.lang.String, kindname.class, Foo<java.lang.Number>
Neg04.java:35:39: compiler.err.cant.resolve.location.args: kindname.constructor, Foo, , , kindname.class, Foo<java.lang.Number>
-Neg04.java:36:21: compiler.err.not.within.bounds: ? super java.lang.String
+Neg04.java:36:13: compiler.err.not.within.bounds: ? super java.lang.String
Neg04.java:36:42: compiler.err.cant.apply.diamond: V, (compiler.misc.no.conforming.instance.exists: V, Foo<V>, Foo<? super java.lang.String>)
30 errors
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/processing/6499119/ClassProcessor.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,132 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+import java.io.*;
+import java.util.*;
+import javax.annotation.processing.*;
+import javax.lang.model.element.*;
+import javax.lang.model.SourceVersion;
+import javax.tools.Diagnostic.Kind;
+
+/*
+ * @test
+ * @bug 6499119
+ * @summary Created package-info class file modeled improperly
+ * @compile ClassProcessor.java package-info.java
+ * @compile/process -cp . -processor ClassProcessor -Akind=java java.lang.Object
+ * @compile/process -cp . -processor ClassProcessor -Akind=class java.lang.Object
+ */
+
+@SupportedOptions({ "gen", "expect" })
+@SupportedAnnotationTypes({"*"})
+public class ClassProcessor extends AbstractProcessor {
+ int round = 1;
+
+ public SourceVersion getSupportedSourceVersion() {
+ return SourceVersion.latest();
+ }
+
+ public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
+ if (round == 1) {
+ System.out.println("-- Round 1 --");
+ createPackageFile();
+ } else if (round == 2) {
+ boolean found_foo_A = false;
+ System.out.println("-- Round 2 --");
+ for(Element e: roundEnv.getRootElements()) {
+ System.out.println("ElementKind: " + e.getKind());
+ System.out.println("Modifiers: " + e.getModifiers());
+ System.out.println("Annotations: " + e.getAnnotationMirrors());
+ if (e.getAnnotationMirrors().toString().equals("@foo.A")) {
+ found_foo_A = true;
+ checkEqual("ElementKind", e.getKind().toString(), "PACKAGE");
+ checkEqual("Modifiers", e.getModifiers().toString(), "[]");
+ }
+ }
+ if (!found_foo_A)
+ error("did not find @foo.A");
+ }
+ round++;
+ return true;
+ }
+
+ private void createPackageFile() {
+ Filer filer = processingEnv.getFiler();
+
+ String kind = processingEnv.getOptions().get("kind");
+
+ File pkgInfo;
+ if (kind.equals("java"))
+ pkgInfo = new File(System.getProperty("test.src"), "package-info.java");
+ else
+ pkgInfo = new File(System.getProperty("test.classes"), "foo/package-info.class");
+
+ byte[] bytes = new byte[(int) pkgInfo.length()];
+ DataInputStream in = null;
+ try {
+ in = new DataInputStream(new FileInputStream(pkgInfo));
+ in.readFully(bytes);
+ } catch (IOException ioe) {
+ error("Couldn't read package info file: " + ioe);
+ } finally {
+ if(in != null) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ error("InputStream closing failed: " + e);
+ }
+ }
+ }
+
+ OutputStream out = null;
+ try {
+ if (kind.equals("java"))
+ out = filer.createSourceFile("foo.package-info").openOutputStream();
+ else
+ out = filer.createClassFile("foo.package-info").openOutputStream();
+ out.write(bytes, 0, bytes.length);
+ } catch (IOException ioe) {
+ error("Couldn't create package info file: " + ioe);
+ } finally {
+ if(out != null) {
+ try {
+ out.close();
+ } catch (IOException e) {
+ error("OutputStream closing failed: " + e);
+ }
+ }
+ }
+ }
+
+ private void checkEqual(String label, String actual, String expect) {
+ if (!actual.equals(expect)) {
+ error("Unexpected value for " + label + "; actual=" + actual + ", expected=" + expect);
+ }
+ }
+
+ private void error(String msg) {
+ Messager messager = processingEnv.getMessager();
+ messager.printMessage(Kind.ERROR, msg);
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/processing/6499119/package-info.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,27 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+@A package foo;
+
+@interface A {}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/processing/T6920317.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,462 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6920317
+ * @summary package-info.java file has to be specified on the javac cmdline, else it will not be avail
+ */
+
+import java.io.*;
+import java.util.*;
+import javax.annotation.processing.*;
+import javax.lang.model.*;
+import javax.lang.model.element.*;
+import javax.lang.model.util.*;
+import javax.tools.*;
+
+/**
+ * The test exercises different ways of providing annotations for a package.
+ * Each way provides an annotation with a unique argument. For each test
+ * case, the test verifies that the annotation with the correct argument is
+ * found by the compiler.
+ */
+public class T6920317 {
+ public static void main(String... args) throws Exception {
+ new T6920317().run(args);
+ }
+
+ // Used to describe properties of files to be put on command line, source path, class path
+ enum Kind {
+ /** File is not used. */
+ NONE,
+ /** File is used. */
+ OLD,
+ /** Only applies to files on classpath/sourcepath, when there is another file on the
+ * other path of type OLD, in which case, this file must be newer than the other one. */
+ NEW,
+ /** Only applies to files on classpath/sourcepath, when there is no file in any other
+ * location, in which case, this file will be generated by the annotation processor. */
+ GEN
+ }
+
+ void run(String... args) throws Exception {
+ // if no args given, all test cases are run
+ // if args given, they indicate the test cases to be run
+ for (int i = 0; i < args.length; i++) {
+ tests.add(Integer.valueOf(args[i]));
+ }
+
+ setup();
+
+ // Run tests for all combinations of files on command line, source path and class path.
+ // Invalid combinations are skipped in the test method
+ for (Kind cmdLine: EnumSet.of(Kind.NONE, Kind.OLD)) {
+ for (Kind srcPath: Kind.values()) {
+ for (Kind clsPath: Kind.values()) {
+ try {
+ test(cmdLine, srcPath, clsPath);
+ } catch (Exception e) {
+ e.printStackTrace();
+ error("Exception " + e);
+ // uncomment to stop on first failed test case
+ // throw e;
+ }
+ }
+ }
+ }
+
+ if (errors > 0)
+ throw new Exception(errors + " errors occurred");
+ }
+
+ /** One time setup for files and directories to be used in the various test cases. */
+ void setup() throws Exception {
+ // Annotation used in test cases to annotate package. This file is
+ // given on the command line in test cases.
+ test_java = writeFile("Test.java", "package p; @interface Test { String value(); }");
+ // Compile the annotation for use later in setup
+ File tmpClasses = new File("tmp.classes");
+ compile(tmpClasses, new String[] { }, test_java);
+
+ // package-info file to use on the command line when requied
+ cl_pkgInfo_java = writeFile("cl/p/package-info.java", "@Test(\"CL\") package p;");
+
+ // source path containing package-info
+ sp_old = new File("src.old");
+ writeFile("src.old/p/package-info.java", "@Test(\"SP_OLD\") package p;");
+
+ // class path containing package-info
+ cp_old = new File("classes.old");
+ compile(cp_old, new String[] { "-classpath", tmpClasses.getPath() },
+ writeFile("tmp.old/p/package-info.java", "@Test(\"CP_OLD\") package p;"));
+
+ // source path containing package-info which is newer than the one in cp-old
+ sp_new = new File("src.new");
+ File old_class = new File(cp_old, "p/package-info.class");
+ writeFile("src.new/p/package-info.java", "@Test(\"SP_NEW\") package p;", old_class);
+
+ // class path containing package-info which is newer than the one in sp-old
+ cp_new = new File("classes.new");
+ File old_java = new File(sp_old, "p/package-info.java");
+ compile(cp_new, new String[] { "-classpath", tmpClasses.getPath() },
+ writeFile("tmp.new/p/package-info.java", "@Test(\"CP_NEW\") package p;", old_java));
+
+ // directory containing package-info.java to be "generated" later by annotation processor
+ sp_gen = new File("src.gen");
+ writeFile("src.gen/p/package-info.java", "@Test(\"SP_GEN\") package p;");
+
+ // directory containing package-info.class to be "generated" later by annotation processor
+ cp_gen = new File("classes.gen");
+ compile(cp_gen, new String[] { "-classpath", tmpClasses.getPath() },
+ writeFile("tmp.gen/p/package-info.java", "@Test(\"CP_GEN\") package p;"));
+ }
+
+ void test(Kind cl, Kind sp, Kind cp) throws Exception {
+ if (skip(cl, sp, cp))
+ return;
+
+ ++count;
+ // if test cases specified, skip this test case if not selected
+ if (tests.size() > 0 && !tests.contains(count))
+ return;
+
+ System.err.println("Test " + count + " cl:" + cl + " sp:" + sp + " cp:" + cp);
+
+ // test specific tmp directory
+ File test_tmp = new File("tmp.test" + count);
+ test_tmp.mkdirs();
+
+ // build up list of options and files to be compiled
+ List<String> opts = new ArrayList<String>();
+ List<File> files = new ArrayList<File>();
+
+ // expected value for annotation
+ String expect = null;
+
+ opts.add("-processorpath");
+ opts.add(System.getProperty("test.classes"));
+ opts.add("-processor");
+ opts.add(Processor.class.getName());
+ opts.add("-proc:only");
+ opts.add("-d");
+ opts.add(test_tmp.getPath());
+ //opts.add("-verbose");
+ files.add(test_java);
+
+ /*
+ * Analyze each of cl, cp, sp, building up the options and files to
+ * be compiled, and determining the expected outcome fo the test case.
+ */
+
+ // command line file: either omitted or given
+ if (cl == Kind.OLD) {
+ files.add(cl_pkgInfo_java);
+ // command line files always supercede files on paths
+ expect = "CL";
+ }
+
+ // source path:
+ switch (sp) {
+ case NONE:
+ break;
+
+ case OLD:
+ opts.add("-sourcepath");
+ opts.add(sp_old.getPath());
+ if (expect == null && cp == Kind.NONE) {
+ assert cl == Kind.NONE && cp == Kind.NONE;
+ expect = "SP_OLD";
+ }
+ break;
+
+ case NEW:
+ opts.add("-sourcepath");
+ opts.add(sp_new.getPath());
+ if (expect == null) {
+ assert cl == Kind.NONE && cp == Kind.OLD;
+ expect = "SP_NEW";
+ }
+ break;
+
+ case GEN:
+ opts.add("-Agen=" + new File(sp_gen, "p/package-info.java"));
+ assert cl == Kind.NONE && cp == Kind.NONE;
+ expect = "SP_GEN";
+ break;
+ }
+
+ // class path:
+ switch (cp) {
+ case NONE:
+ break;
+
+ case OLD:
+ opts.add("-classpath");
+ opts.add(cp_old.getPath());
+ if (expect == null && sp == Kind.NONE) {
+ assert cl == Kind.NONE && sp == Kind.NONE;
+ expect = "CP_OLD";
+ }
+ break;
+
+ case NEW:
+ opts.add("-classpath");
+ opts.add(cp_new.getPath());
+ if (expect == null) {
+ assert cl == Kind.NONE && sp == Kind.OLD;
+ expect = "CP_NEW";
+ }
+ break;
+
+ case GEN:
+ opts.add("-Agen=" + new File(cp_gen, "p/package-info.class"));
+ assert cl == Kind.NONE && sp == Kind.NONE;
+ expect = "CP_GEN";
+ break;
+ }
+
+ // pass expected value to annotation processor
+ assert expect != null;
+ opts.add("-Aexpect=" + expect);
+
+ // compile the files with the options that have been built up
+ compile(opts, files);
+ }
+
+ /**
+ * Return true if this combination of parameters does not identify a useful test case.
+ */
+ boolean skip(Kind cl, Kind sp, Kind cp) {
+ // skip if no package files required
+ if (cl == Kind.NONE && sp == Kind.NONE && cp == Kind.NONE)
+ return true;
+
+ // skip if both sp and sp are OLD, since results may be indeterminate
+ if (sp == Kind.OLD && cp == Kind.OLD)
+ return true;
+
+ // skip if sp or cp is NEW but the other is not OLD
+ if ((sp == Kind.NEW && cp != Kind.OLD) || (cp == Kind.NEW && sp != Kind.OLD))
+ return true;
+
+ // only use GEN if no other package-info files present
+ if (sp == Kind.GEN && !(cl == Kind.NONE && cp == Kind.NONE) ||
+ cp == Kind.GEN && !(cl == Kind.NONE && sp == Kind.NONE)) {
+ return true;
+ }
+
+ // remaining combinations are valid
+ return false;
+ }
+
+ /** Write a file with a given body. */
+ File writeFile(String path, String body) throws Exception {
+ File f = new File(path);
+ if (f.getParentFile() != null)
+ f.getParentFile().mkdirs();
+ Writer out = new FileWriter(path);
+ try {
+ out.write(body);
+ } finally {
+ out.close();
+ }
+ return f;
+ }
+
+ /** Write a file with a given body, ensuring that the file is newer than a reference file. */
+ File writeFile(String path, String body, File ref) throws Exception {
+ for (int i = 0; i < 5; i++) {
+ File f = writeFile(path, body);
+ if (f.lastModified() > ref.lastModified())
+ return f;
+ Thread.sleep(2000);
+ }
+ throw new Exception("cannot create file " + path + " newer than " + ref);
+ }
+
+ /** Compile a file to a given directory, with options provided. */
+ void compile(File dir, String[] opts, File src) throws Exception {
+ dir.mkdirs();
+ List<String> opts2 = new ArrayList<String>();
+ opts2.addAll(Arrays.asList("-d", dir.getPath()));
+ opts2.addAll(Arrays.asList(opts));
+ compile(opts2, Collections.singletonList(src));
+ }
+
+ /** Compile files with options provided. */
+ void compile(List<String> opts, List<File> files) throws Exception {
+ System.err.println("javac: " + opts + " " + files);
+ List<String> args = new ArrayList<String>();
+ args.addAll(opts);
+ for (File f: files)
+ args.add(f.getPath());
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ int rc = com.sun.tools.javac.Main.compile(args.toArray(new String[args.size()]), pw);
+ pw.flush();
+ if (sw.getBuffer().length() > 0)
+ System.err.println(sw.toString());
+ if (rc != 0)
+ throw new Exception("compilation failed: rc=" + rc);
+ }
+
+ /** Report an error. */
+ void error(String msg) {
+ System.err.println("Error: " + msg);
+ errors++;
+ }
+
+ /** Test case counter. */
+ int count;
+
+ /** Number of errors found. */
+ int errors;
+
+ /** Optional set of test cases to be run; empty implies all test cases. */
+ Set<Integer> tests = new HashSet<Integer>();
+
+ /* Files created by setup. */
+ File test_java;
+ File sp_old;
+ File sp_new;
+ File sp_gen;
+ File cp_old;
+ File cp_new;
+ File cp_gen;
+ File cl_pkgInfo_java;
+
+ /** Annotation processor used to verify the expected value for the
+ package annotations found by javac. */
+ @SupportedOptions({ "gen", "expect" })
+ @SupportedAnnotationTypes({"*"})
+ public static class Processor extends AbstractProcessor {
+ public SourceVersion getSupportedSourceVersion() {
+ return SourceVersion.latest();
+ }
+
+ public boolean process(Set<? extends TypeElement> annots, RoundEnvironment renv) {
+ round++;
+ System.err.println("Round " + round + " annots:" + annots + " rootElems:" + renv.getRootElements());
+
+ // if this is the first round and the gen option is given, use the filer to create
+ // a copy of the file specified by the gen option.
+ String gen = getOption("gen");
+ if (round == 1 && gen != null) {
+ try {
+ Filer filer = processingEnv.getFiler();
+ JavaFileObject f;
+ if (gen.endsWith(".java"))
+ f = filer.createSourceFile("p.package-info");
+ else
+ f = filer.createClassFile("p.package-info");
+ System.err.println("copy " + gen + " to " + f.getName());
+ write(f, read(new File(gen)));
+ } catch (IOException e) {
+ error("Cannot create package-info file: " + e);
+ }
+ }
+
+ // if annotation processing is complete, verify the package annotation
+ // found by the compiler.
+ if (renv.processingOver()) {
+ System.err.println("final round");
+ Elements eu = processingEnv.getElementUtils();
+ TypeElement te = eu.getTypeElement("p.Test");
+ PackageElement pe = eu.getPackageOf(te);
+ System.err.println("final: te:" + te + " pe:" + pe);
+ List<? extends AnnotationMirror> annos = pe.getAnnotationMirrors();
+ System.err.println("final: annos:" + annos);
+ if (annos.size() == 1) {
+ String expect = "@" + te + "(\"" + getOption("expect") + "\")";
+ String actual = annos.get(0).toString();
+ checkEqual("package annotations", actual, expect);
+ } else {
+ error("Wrong number of annotations found: (" + annos.size() + ") " + annos);
+ }
+ }
+
+ return true;
+ }
+
+ /** Get an option given to the annotation processor. */
+ String getOption(String name) {
+ return processingEnv.getOptions().get(name);
+ }
+
+ /** Read a file. */
+ byte[] read(File file) {
+ byte[] bytes = new byte[(int) file.length()];
+ DataInputStream in = null;
+ try {
+ in = new DataInputStream(new FileInputStream(file));
+ in.readFully(bytes);
+ } catch (IOException e) {
+ error("Error reading file: " + e);
+ } finally {
+ if (in != null) {
+ try {
+ in.close();
+ } catch (IOException e) {
+ error("Error closing file: " + e);
+ }
+ }
+ }
+ return bytes;
+ }
+
+ /** Write a file. */
+ void write(JavaFileObject file, byte[] bytes) {
+ OutputStream out = null;
+ try {
+ out = file.openOutputStream();
+ out.write(bytes, 0, bytes.length);
+ } catch (IOException e) {
+ error("Error writing file: " + e);
+ } finally {
+ if (out != null) {
+ try {
+ out.close();
+ } catch (IOException e) {
+ error("Error closing file: " + e);
+ }
+ }
+ }
+ }
+
+ /** Check two strings are equal, and report an error if they are not. */
+ private void checkEqual(String label, String actual, String expect) {
+ if (!actual.equals(expect)) {
+ error("Unexpected value for " + label + "; actual=" + actual + ", expected=" + expect);
+ }
+ }
+
+ /** Report an error to the annotation processing system. */
+ void error(String msg) {
+ Messager messager = processingEnv.getMessager();
+ messager.printMessage(Diagnostic.Kind.ERROR, msg);
+ }
+
+ int round;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/tree/T6923080.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+/*
+ * This file is not a regular test, but is processed by ./TreeScannerTest.java,
+ * which verifies the operation of the javac TreeScanner.
+ * @bug 6923080
+ * @summary TreeScanner.visitNewClass should scan tree.typeargs
+ */
+class T6923080 {
+ void test() {
+ C c = new <Integer>C(); // exercises TreeScanner.visitNewClass
+ Object o = c.<Float>m(); // exercises TreeScanner.visitApply
+ }
+
+ static class C {
+ <T> C() { }
+ <T> T m() { return null; }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/tree/TreeScannerTest.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,387 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+
+/**
+ * Utility and test program to check javac's internal TreeScanner class.
+ * The program can be run standalone, or as a jtreg test. For info on
+ * command line args, run program with no args.
+ *
+ * <p>
+ * jtreg: Note that by using the -r switch in the test description below, this test
+ * will process all java files in the langtools/test directory, thus implicitly
+ * covering any new language features that may be tested in this test suite.
+ */
+
+/*
+ * @test
+ * @bug 6923080
+ * @summary TreeScanner.visitNewClass should scan tree.typeargs
+ * @run main TreeScannerTest -q -r .
+ */
+
+import java.io.*;
+import java.lang.reflect.*;
+import java.util.*;
+import javax.tools.*;
+
+import com.sun.source.tree.CompilationUnitTree;
+import com.sun.source.util.JavacTask;
+import com.sun.tools.javac.api.JavacTool;
+import com.sun.tools.javac.tree.*;
+import com.sun.tools.javac.tree.JCTree.*;
+import com.sun.tools.javac.util.List;
+
+public class TreeScannerTest {
+ /**
+ * Main entry point.
+ * If test.src is set, program runs in jtreg mode, and will throw an Error
+ * if any errors arise, otherwise System.exit will be used. In jtreg mode,
+ * the default base directory for file args is the value of ${test.src}.
+ * In jtreg mode, the -r option can be given to change the default base
+ * directory to the root test directory.
+ */
+ public static void main(String... args) {
+ String testSrc = System.getProperty("test.src");
+ File baseDir = (testSrc == null) ? null : new File(testSrc);
+ boolean ok = new TreeScannerTest().run(baseDir, args);
+ if (!ok) {
+ if (testSrc != null) // jtreg mode
+ throw new Error("failed");
+ else
+ System.exit(1);
+ }
+ }
+
+ /**
+ * Run the program. A base directory can be provided for file arguments.
+ * In jtreg mode, the -r option can be given to change the default base
+ * directory to the test root directory. For other options, see usage().
+ * @param baseDir base directory for any file arguments.
+ * @param args command line args
+ * @return true if successful or in gui mode
+ */
+ boolean run(File baseDir, String... args) {
+ if (args.length == 0) {
+ usage(System.out);
+ return true;
+ }
+
+ ArrayList<File> files = new ArrayList<File>();
+ for (int i = 0; i < args.length; i++) {
+ String arg = args[i];
+ if (arg.equals("-q"))
+ quiet = true;
+ else if (arg.equals("-v"))
+ verbose = true;
+ else if (arg.equals("-r")) {
+ File d = baseDir;
+ while (!new File(d, "TEST.ROOT").exists()) {
+ d = d.getParentFile();
+ if (d == null)
+ throw new Error("cannot find TEST.ROOT");
+ }
+ baseDir = d;
+ }
+ else if (arg.startsWith("-"))
+ throw new Error("unknown option: " + arg);
+ else {
+ while (i < args.length)
+ files.add(new File(baseDir, args[i++]));
+ }
+ }
+
+ for (File file: files) {
+ if (file.exists())
+ test(file);
+ else
+ error("File not found: " + file);
+ }
+
+ if (fileCount != 1)
+ System.err.println(fileCount + " files read");
+ if (errors > 0)
+ System.err.println(errors + " errors");
+
+ return (errors == 0);
+ }
+
+ /**
+ * Print command line help.
+ * @param out output stream
+ */
+ void usage(PrintStream out) {
+ out.println("Usage:");
+ out.println(" java TreeScannerTest options... files...");
+ out.println("");
+ out.println("where options include:");
+ out.println("-q Quiet: don't report on inapplicable files");
+ out.println("-v Verbose: report on files as they are being read");
+ out.println("");
+ out.println("files may be directories or files");
+ out.println("directories will be scanned recursively");
+ out.println("non java files, or java files which cannot be parsed, will be ignored");
+ out.println("");
+ }
+
+ /**
+ * Test a file. If the file is a directory, it will be recursively scanned
+ * for java files.
+ * @param file the file or directory to test
+ */
+ void test(File file) {
+ if (file.isDirectory()) {
+ for (File f: file.listFiles()) {
+ test(f);
+ }
+ return;
+ }
+
+ if (file.isFile() && file.getName().endsWith(".java")) {
+ try {
+ if (verbose)
+ System.err.println(file);
+ fileCount++;
+ ScanTester t = new ScanTester();
+ t.test(read(file));
+ } catch (ParseException e) {
+ if (!quiet) {
+ error("Error parsing " + file + "\n" + e.getMessage());
+ }
+ } catch (IOException e) {
+ error("Error reading " + file + ": " + e);
+ }
+ return;
+ }
+
+ if (!quiet)
+ error("File " + file + " ignored");
+ }
+
+ /**
+ * Read a file.
+ * @param file the file to be read
+ * @return the tree for the content of the file
+ * @throws IOException if any IO errors occur
+ * @throws TreePosTest.ParseException if any errors occur while parsing the file
+ */
+ JCCompilationUnit read(File file) throws IOException, ParseException {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ Reporter r = new Reporter(pw);
+ JavacTool tool = JavacTool.create();
+ StandardJavaFileManager fm = tool.getStandardFileManager(r, null, null);
+ Iterable<? extends JavaFileObject> files = fm.getJavaFileObjects(file);
+ JavacTask task = tool.getTask(pw, fm, r, Collections.<String>emptyList(), null, files);
+ Iterable<? extends CompilationUnitTree> trees = task.parse();
+ pw.flush();
+ if (r.errors > 0)
+ throw new ParseException(sw.toString());
+ Iterator<? extends CompilationUnitTree> iter = trees.iterator();
+ if (!iter.hasNext())
+ throw new Error("no trees found");
+ JCCompilationUnit t = (JCCompilationUnit) iter.next();
+ if (iter.hasNext())
+ throw new Error("too many trees found");
+ return t;
+ }
+
+ /**
+ * Report an error. When the program is complete, the program will either
+ * exit or throw an Error if any errors have been reported.
+ * @param msg the error message
+ */
+ void error(String msg) {
+ System.err.println(msg);
+ errors++;
+ }
+
+ /**
+ * Report an error for a specific tree node.
+ * @param file the source file for the tree
+ * @param t the tree node
+ * @param label an indication of the error
+ */
+ void error(JavaFileObject file, JCTree t, String msg) {
+ error(file.getName() + ":" + getLine(file, t) + ": " + msg + " " + trim(t, 64));
+ }
+
+ /**
+ * Get a trimmed string for a tree node, with normalized white space and limited length.
+ */
+ String trim(JCTree t, int len) {
+ String s = t.toString().replaceAll("[\r\n]+", " ").replaceAll(" +", " ");
+ return (s.length() < len) ? s : s.substring(0, len);
+ }
+
+ /** Number of files that have been analyzed. */
+ int fileCount;
+ /** Number of errors reported. */
+ int errors;
+ /** Flag: don't report irrelevant files. */
+ boolean quiet;
+ /** Flag: report files as they are processed. */
+ boolean verbose;
+
+ /**
+ * Main class for testing operation of tree scanner.
+ * The set of nodes found by the scanner are compared
+ * against the set of nodes found by reflection.
+ */
+ private class ScanTester extends TreeScanner {
+ /** Main entry method for the class. */
+ void test(JCCompilationUnit tree) {
+ sourcefile = tree.sourcefile;
+ found = new HashSet<JCTree>();
+ scan(tree);
+ expect = new HashSet<JCTree>();
+ reflectiveScan(tree);
+ if (found.equals(expect))
+ return;
+
+ error("Differences found for " + tree.sourcefile.getName());
+
+ if (found.size() != expect.size())
+ error("Size mismatch; found: " + found.size() + ", expected: " + expect.size());
+
+ Set<JCTree> missing = new HashSet<JCTree>();
+ missing.addAll(expect);
+ missing.removeAll(found);
+ for (JCTree t: missing)
+ error(tree.sourcefile, t, "missing");
+
+ Set<JCTree> excess = new HashSet<JCTree>();
+ excess.addAll(found);
+ excess.removeAll(expect);
+ for (JCTree t: excess)
+ error(tree.sourcefile, t, "unexpected");
+ }
+
+ /** Record all tree nodes found by scanner. */
+ @Override
+ public void scan(JCTree tree) {
+ if (tree == null)
+ return;
+ System.err.println("FOUND: " + tree.getTag() + " " + trim(tree, 64));
+ found.add(tree);
+ super.scan(tree);
+ }
+
+ /** record all tree nodes found by reflection. */
+ public void reflectiveScan(Object o) {
+ if (o == null)
+ return;
+ if (o instanceof JCTree) {
+ JCTree tree = (JCTree) o;
+ System.err.println("EXPECT: " + tree.getTag() + " " + trim(tree, 64));
+ expect.add(tree);
+ for (Field f: getFields(tree)) {
+ try {
+ //System.err.println("FIELD: " + f.getName());
+ reflectiveScan(f.get(tree));
+ } catch (IllegalAccessException e) {
+ error(e.toString());
+ }
+ }
+ } else if (o instanceof List) {
+ List<?> list = (List<?>) o;
+ for (Object item: list)
+ reflectiveScan(item);
+ } else
+ error("unexpected item: " + o);
+ }
+
+ JavaFileObject sourcefile;
+ Set<JCTree> found;
+ Set<JCTree> expect;
+ }
+
+ /**
+ * Thrown when errors are found parsing a java file.
+ */
+ private static class ParseException extends Exception {
+ ParseException(String msg) {
+ super(msg);
+ }
+ }
+
+ /**
+ * DiagnosticListener to report diagnostics and count any errors that occur.
+ */
+ private static class Reporter implements DiagnosticListener<JavaFileObject> {
+ Reporter(PrintWriter out) {
+ this.out = out;
+ }
+
+ public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
+ out.println(diagnostic);
+ switch (diagnostic.getKind()) {
+ case ERROR:
+ errors++;
+ }
+ }
+ int errors;
+ PrintWriter out;
+ }
+
+ /**
+ * Get the set of fields for a tree node that may contain child tree nodes.
+ * These are the fields that are subtypes of JCTree or List.
+ * The results are cached, based on the tree's tag.
+ */
+ Set<Field> getFields(JCTree tree) {
+ Set<Field> fields = map.get(tree.getTag());
+ if (fields == null) {
+ fields = new HashSet<Field>();
+ for (Field f: tree.getClass().getFields()) {
+ Class<?> fc = f.getType();
+ if (JCTree.class.isAssignableFrom(fc) || List.class.isAssignableFrom(fc))
+ fields.add(f);
+ }
+ map.put(tree.getTag(), fields);
+ }
+ return fields;
+ }
+ // where
+ Map<Integer, Set<Field>> map = new HashMap<Integer,Set<Field>>();
+
+ /** Get the line number for the primary position for a tree.
+ * The code is intended to be simple, although not necessarily efficient.
+ * However, note that a file manager such as JavacFileManager is likely
+ * to cache the results of file.getCharContent, avoiding the need to read
+ * the bits from disk each time this method is called.
+ */
+ int getLine(JavaFileObject file, JCTree tree) {
+ try {
+ CharSequence cs = file.getCharContent(true);
+ int line = 1;
+ for (int i = 0; i < tree.pos; i++) {
+ if (cs.charAt(i) == '\n') // jtreg tests always use Unix line endings
+ line++;
+ }
+ return line;
+ } catch (IOException e) {
+ return -1;
+ }
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/treeannotests/AnnoTreeTests.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @build DA TA Test TestProcessor
+ * @compile -proc:only -processor TestProcessor AnnoTreeTests.java
+ */
+
+@Test(6)
+class AnnoTreeTests {
+ // primitive types
+ @DA("int") int i1;
+ int i2 = (@TA("int") int) 0;
+
+ // simple array types
+ @DA("int[]") int[] a1;
+ int @TA("int") [] a2;
+ int[] a3 = (@TA("int[]") int[]) a1;
+ int[] a4 = (int @TA("int") []) a1;
+
+ // multi-dimensional array types
+ // (still to come)
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/treeannotests/DA.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,37 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+import java.lang.annotation.*;
+import static java.lang.annotation.ElementType.*;
+
+/**
+ * Annotation used by TestProcessor to indicate the expected type
+ * of the declaration to which the annotation is attached.
+ * These annotations are expected to be found in the modifiers
+ * field on ClassDef, MethodDef and VarDef nodes.
+ */
+@Target({FIELD, LOCAL_VARIABLE, METHOD, PACKAGE, PARAMETER, TYPE})
+@interface DA {
+ String value();
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/treeannotests/TA.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,36 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+import java.lang.annotation.*;
+import static java.lang.annotation.ElementType.*;
+
+/**
+ * Annotation used by TestProcessor to indicate the expected type
+ * to which the annotation is attached.
+ * These annotations are expected to be found in AnnotatedType nodes.
+ */
+@Target({TYPE_USE, TYPE_PARAMETER})
+@interface TA {
+ String value();
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/treeannotests/Test.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+/**
+ * Annotation used by TestProcessor to indicate the expected number of
+ * @DA and @TA annotations in the source tree to which the Test annotation
+ * is attached.
+ */
+@interface Test {
+ int value();
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/treeannotests/TestProcessor.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,302 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+import java.io.*;
+import java.util.*;
+import javax.annotation.processing.*;
+import javax.lang.model.*;
+import javax.lang.model.element.*;
+import javax.lang.model.util.*;
+import javax.tools.*;
+
+import com.sun.source.util.*;
+import com.sun.tools.javac.code.BoundKind;
+import com.sun.tools.javac.tree.JCTree.*;
+import com.sun.tools.javac.tree.TreeScanner;
+import com.sun.tools.javac.tree.*;
+import com.sun.tools.javac.util.List;
+
+/**
+ * Test processor used to check test programs using the @Test, @DA, and @TA
+ * annotations.
+ *
+ * The processor looks for elements annotated with @Test, and analyzes the
+ * syntax trees for those elements. Within such trees, the processor looks
+ * for the DA annotations on decls and TA annotations on types.
+ * The value of these annotations should be a simple string rendition of
+ * the tree node to which it is attached.
+ * The expected number of annotations is given by the parameter to the
+ * @Test annotation itself.
+ */
+@SupportedAnnotationTypes({"Test"})
+public class TestProcessor extends AbstractProcessor {
+ public SourceVersion getSupportedSourceVersion() {
+ return SourceVersion.latest();
+ }
+
+ /** Process trees for elements annotated with the @Test(n) annotation. */
+ public boolean process(Set<? extends TypeElement> annos, RoundEnvironment renv) {
+ if (renv.processingOver())
+ return true;
+
+ Elements elements = processingEnv.getElementUtils();
+ Trees trees = Trees.instance(processingEnv);
+
+ TypeElement testAnno = elements.getTypeElement("Test");
+ for (Element elem: renv.getElementsAnnotatedWith(testAnno)) {
+ System.err.println("ELEM: " + elem);
+ int count = getValue(getAnnoMirror(elem, testAnno), Integer.class);
+ System.err.println("count: " + count);
+ TreePath p = trees.getPath(elem);
+ JavaFileObject file = p.getCompilationUnit().getSourceFile();
+ JCTree tree = (JCTree) p.getLeaf();
+ System.err.println("tree: " + tree);
+ new TestScanner(file).check(tree, count);
+ }
+ return true;
+ }
+
+ /** Get the AnnotationMirror on an element for a given annotation. */
+ AnnotationMirror getAnnoMirror(Element e, TypeElement anno) {
+ Types types = processingEnv.getTypeUtils();
+ for (AnnotationMirror m: e.getAnnotationMirrors()) {
+ if (types.isSameType(m.getAnnotationType(), anno.asType()))
+ return m;
+ }
+ return null;
+ }
+
+ /** Get the value of the value element of an annotation mirror. */
+ <T> T getValue(AnnotationMirror m, Class<T> type) {
+ for (Map.Entry<? extends ExecutableElement,? extends AnnotationValue> e: m.getElementValues().entrySet()) {
+ ExecutableElement ee = e.getKey();
+ if (ee.getSimpleName().contentEquals("value")) {
+ AnnotationValue av = e.getValue();
+ return type.cast(av.getValue());
+ }
+ }
+ return null;
+ }
+
+ /** Report an error to the annotation processing system. */
+ void error(String msg) {
+ Messager messager = processingEnv.getMessager();
+ messager.printMessage(Diagnostic.Kind.ERROR, msg);
+ }
+
+ /** Report an error to the annotation processing system. */
+ void error(JavaFileObject file, JCTree tree, String msg) {
+ // need better API for reporting tree position errors to the messager
+ Messager messager = processingEnv.getMessager();
+ String text = file.getName() + ":" + getLine(file, tree) + ": " + msg;
+ messager.printMessage(Diagnostic.Kind.ERROR, text);
+ }
+
+ /** Get the line number for the primary position for a tree.
+ * The code is intended to be simple, although not necessarily efficient.
+ * However, note that a file manager such as JavacFileManager is likely
+ * to cache the results of file.getCharContent, avoiding the need to read
+ * the bits from disk each time this method is called.
+ */
+ int getLine(JavaFileObject file, JCTree tree) {
+ try {
+ CharSequence cs = file.getCharContent(true);
+ int line = 1;
+ for (int i = 0; i < tree.pos; i++) {
+ if (cs.charAt(i) == '\n') // jtreg tests always use Unix line endings
+ line++;
+ }
+ return line;
+ } catch (IOException e) {
+ return -1;
+ }
+ }
+
+ /** Scan a tree, looking for @DA and @TA annotations, and verifying that such
+ * annotations are attached to the expected tree node matching the string
+ * parameter of the annotation.
+ */
+ class TestScanner extends TreeScanner {
+ /** Create a scanner for a given file. */
+ TestScanner(JavaFileObject file) {
+ this.file = file;
+ }
+
+ /** Check the annotations in a given tree. */
+ void check(JCTree tree, int expectCount) {
+ foundCount = 0;
+ scan(tree);
+ if (foundCount != expectCount)
+ error(file, tree, "Wrong number of annotations found: " + foundCount + ", expected: " + expectCount);
+ }
+
+ /** Check @DA annotations on a class declaration. */
+ @Override
+ public void visitClassDef(JCClassDecl tree) {
+ super.visitClassDef(tree);
+ check(tree.mods.annotations, "DA", tree);
+ }
+
+ /** Check @DA annotations on a method declaration. */
+ @Override
+ public void visitMethodDef(JCMethodDecl tree) {
+ super.visitMethodDef(tree);
+ check(tree.mods.annotations, "DA", tree);
+ }
+
+ /** Check @DA annotations on a field, parameter or local variable declaration. */
+ @Override
+ public void visitVarDef(JCVariableDecl tree) {
+ super.visitVarDef(tree);
+ check(tree.mods.annotations, "DA", tree);
+ }
+
+ /** Check @TA annotations on a type. */
+ public void visitAnnotatedType(JCAnnotatedType tree) {
+ super.visitAnnotatedType(tree);
+ check(tree.annotations, "TA", tree);
+ }
+
+ /** Check to see if a list of annotations contains a named annotation, and
+ * if so, verify the annotation is expected by comparing the value of the
+ * annotation's argument against the string rendition of the reference tree
+ * node.
+ * @param annos the list of annotations to be checked
+ * @param name the name of the annotation to be checked
+ * @param tree the tree against which to compare the annotations's argument
+ */
+ void check(List<? extends JCAnnotation> annos, String name, JCTree tree) {
+ for (List<? extends JCAnnotation> l = annos; l.nonEmpty(); l = l.tail) {
+ JCAnnotation anno = l.head;
+ if (anno.annotationType.toString().equals(name) && (anno.args.size() == 1)) {
+ String expect = getStringValue(anno.args.head);
+ foundCount++;
+ System.err.println("found: " + name + " " + expect);
+ String found = new TypePrinter().print(tree);
+ if (!found.equals(expect))
+ error(file, anno, "Unexpected result: expected: \"" + expect + "\", found: \"" + found + "\"");
+ }
+ }
+ }
+
+ /** Get the string value of an annotation argument, which is given by the
+ * expression <i>name</i>=<i>value</i>.
+ */
+ String getStringValue(JCExpression e) {
+ if (e.getTag() == JCTree.ASSIGN) {
+ JCAssign a = (JCAssign) e;
+ JCExpression rhs = a.rhs;
+ if (rhs.getTag() == JCTree.LITERAL) {
+ JCLiteral l = (JCLiteral) rhs;
+ return (String) l.value;
+ }
+ }
+ throw new IllegalArgumentException(e.toString());
+ }
+
+ /** The file for the tree. Used to locate errors. */
+ JavaFileObject file;
+ /** The number of annotations that have been found. @see #check */
+ int foundCount;
+ }
+
+ /** Convert a type or decl tree to a reference string used by the @DA and @TA annotations. */
+ class TypePrinter extends Visitor {
+ /** Convert a type or decl tree to a string. */
+ String print(JCTree tree) {
+ if (tree == null)
+ return null;
+ tree.accept(this);
+ return result;
+ }
+
+ String print(List<? extends JCTree> list) {
+ return print(list, ", ");
+ }
+
+ String print(List<? extends JCTree> list, String sep) {
+ StringBuilder sb = new StringBuilder();
+ if (list.nonEmpty()) {
+ sb.append(print(list.head));
+ for (List<? extends JCTree> l = list.tail; l.nonEmpty(); l = l.tail) {
+ sb.append(sep);
+ sb.append(print(l.head));
+ }
+ }
+ return sb.toString();
+ }
+
+ @Override
+ public void visitClassDef(JCClassDecl tree) {
+ result = tree.name.toString();
+ }
+
+ @Override
+ public void visitMethodDef(JCMethodDecl tree) {
+ result = tree.name.toString();
+ }
+
+ @Override
+ public void visitVarDef(JCVariableDecl tree) {
+ tree.vartype.accept(this);
+ }
+
+ @Override
+ public void visitAnnotatedType(JCAnnotatedType tree) {
+ tree.underlyingType.accept(this);
+ }
+
+ @Override
+ public void visitTypeIdent(JCPrimitiveTypeTree tree) {
+ result = tree.toString();
+ }
+
+ @Override
+ public void visitTypeArray(JCArrayTypeTree tree) {
+ result = print(tree.elemtype) + "[]";
+ }
+
+ @Override
+ public void visitTypeApply(JCTypeApply tree) {
+ result = print(tree.clazz) + "<" + print(tree.arguments) + ">";
+ }
+
+ @Override
+ public void visitTypeParameter(JCTypeParameter tree) {
+ if (tree.bounds.isEmpty())
+ result = tree.name.toString();
+ else
+ result = tree.name + " extends " + print(tree.bounds, "&");
+ }
+
+ @Override
+ public void visitWildcard(JCWildcard tree) {
+ if (tree.kind.kind == BoundKind.UNBOUND)
+ result = tree.kind.toString();
+ else
+ result = tree.kind + " " + print(tree.inner);
+ }
+
+ private String result;
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/treepostests/TreePosTest.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,752 @@
+/*
+ * Copyright 2010 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.
+ *
+ * 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.
+ */
+
+import java.awt.BorderLayout;
+import java.awt.Color;
+import java.awt.Dimension;
+import java.awt.EventQueue;
+import java.awt.Font;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.io.File;
+import java.io.IOException;
+import java.io.PrintStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.nio.charset.Charset;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import javax.swing.DefaultComboBoxModel;
+import javax.swing.JComboBox;
+import javax.swing.JComponent;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTextArea;
+import javax.swing.JTextField;
+import javax.swing.SwingUtilities;
+import javax.swing.event.CaretEvent;
+import javax.swing.event.CaretListener;
+import javax.swing.text.BadLocationException;
+import javax.swing.text.DefaultHighlighter;
+import javax.swing.text.Highlighter;
+import javax.tools.Diagnostic;
+import javax.tools.DiagnosticListener;
+import javax.tools.JavaFileObject;
+import javax.tools.StandardJavaFileManager;
+
+import com.sun.source.tree.CompilationUnitTree;
+import com.sun.source.util.JavacTask;
+import com.sun.tools.javac.api.JavacTool;
+import com.sun.tools.javac.code.Flags;
+import com.sun.tools.javac.tree.JCTree;
+import com.sun.tools.javac.tree.JCTree.JCCompilationUnit;
+import com.sun.tools.javac.tree.JCTree.JCNewClass;
+import com.sun.tools.javac.tree.JCTree.JCVariableDecl;
+import com.sun.tools.javac.tree.TreeInfo;
+import com.sun.tools.javac.tree.TreeScanner;
+
+import static com.sun.tools.javac.util.Position.NOPOS;
+
+/**
+ * Utility and test program to check validity of tree positions for tree nodes.
+ * The program can be run standalone, or as a jtreg test. In standalone mode,
+ * errors can be displayed in a gui viewer. For info on command line args,
+ * run program with no args.
+ *
+ * <p>
+ * jtreg: Note that by using the -r switch in the test description below, this test
+ * will process all java files in the langtools/test directory, thus implicitly
+ * covering any new language features that may be tested in this test suite.
+ */
+
+/*
+ * @test
+ * @bug 6919889
+ * @summary assorted position errors in compiler syntax trees
+ * @run main TreePosTest -q -r -ef ./tools/javac/typeAnnotations -ef ./tools/javap/typeAnnotations .
+ */
+public class TreePosTest {
+ /**
+ * Main entry point.
+ * If test.src is set, program runs in jtreg mode, and will throw an Error
+ * if any errors arise, otherwise System.exit will be used, unless the gui
+ * viewer is being used. In jtreg mode, the default base directory for file
+ * args is the value of ${test.src}. In jtreg mode, the -r option can be
+ * given to change the default base directory to the root test directory.
+ */
+ public static void main(String... args) {
+ String testSrc = System.getProperty("test.src");
+ File baseDir = (testSrc == null) ? null : new File(testSrc);
+ boolean ok = new TreePosTest().run(baseDir, args);
+ if (!ok) {
+ if (testSrc != null) // jtreg mode
+ throw new Error("failed");
+ else
+ System.exit(1);
+ }
+ }
+
+ /**
+ * Run the program. A base directory can be provided for file arguments.
+ * In jtreg mode, the -r option can be given to change the default base
+ * directory to the test root directory. For other options, see usage().
+ * @param baseDir base directory for any file arguments.
+ * @param args command line args
+ * @return true if successful or in gui mode
+ */
+ boolean run(File baseDir, String... args) {
+ if (args.length == 0) {
+ usage(System.out);
+ return true;
+ }
+
+ List<File> files = new ArrayList<File>();
+ for (int i = 0; i < args.length; i++) {
+ String arg = args[i];
+ if (arg.equals("-encoding") && i + 1 < args.length)
+ encoding = args[++i];
+ else if (arg.equals("-gui"))
+ gui = true;
+ else if (arg.equals("-q"))
+ quiet = true;
+ else if (arg.equals("-v"))
+ verbose = true;
+ else if (arg.equals("-t") && i + 1 < args.length)
+ tags.add(args[++i]);
+ else if (arg.equals("-ef") && i + 1 < args.length)
+ excludeFiles.add(new File(baseDir, args[++i]));
+ else if (arg.equals("-r")) {
+ if (excludeFiles.size() > 0)
+ throw new Error("-r must be used before -ef");
+ File d = baseDir;
+ while (!new File(d, "TEST.ROOT").exists()) {
+ d = d.getParentFile();
+ if (d == null)
+ throw new Error("cannot find TEST.ROOT");
+ }
+ baseDir = d;
+ }
+ else if (arg.startsWith("-"))
+ throw new Error("unknown option: " + arg);
+ else {
+ while (i < args.length)
+ files.add(new File(baseDir, args[i++]));
+ }
+ }
+
+ for (File file: files) {
+ if (file.exists())
+ test(file);
+ else
+ error("File not found: " + file);
+ }
+
+ if (fileCount != 1)
+ System.err.println(fileCount + " files read");
+ if (errors > 0)
+ System.err.println(errors + " errors");
+
+ return (gui || errors == 0);
+ }
+
+ /**
+ * Print command line help.
+ * @param out output stream
+ */
+ void usage(PrintStream out) {
+ out.println("Usage:");
+ out.println(" java TreePosTest options... files...");
+ out.println("");
+ out.println("where options include:");
+ out.println("-gui Display returns in a GUI viewer");
+ out.println("-q Quiet: don't report on inapplicable files");
+ out.println("-v Verbose: report on files as they are being read");
+ out.println("-t tag Limit checks to tree nodes with this tag");
+ out.println(" Can be repeated if desired");
+ out.println("-ef file Exclude file or directory");
+ out.println("");
+ out.println("files may be directories or files");
+ out.println("directories will be scanned recursively");
+ out.println("non java files, or java files which cannot be parsed, will be ignored");
+ out.println("");
+ }
+
+ /**
+ * Test a file. If the file is a directory, it will be recursively scanned
+ * for java files.
+ * @param file the file or directory to test
+ */
+ void test(File file) {
+ if (excludeFiles.contains(file)) {
+ if (!quiet)
+ error("File " + file + " excluded");
+ return;
+ }
+
+ if (file.isDirectory()) {
+ for (File f: file.listFiles()) {
+ test(f);
+ }
+ return;
+ }
+
+ if (file.isFile() && file.getName().endsWith(".java")) {
+ try {
+ if (verbose)
+ System.err.println(file);
+ fileCount++;
+ PosTester p = new PosTester();
+ p.test(read(file));
+ } catch (ParseException e) {
+ if (!quiet) {
+ error("Error parsing " + file + "\n" + e.getMessage());
+ }
+ } catch (IOException e) {
+ error("Error reading " + file + ": " + e);
+ }
+ return;
+ }
+
+ if (!quiet)
+ error("File " + file + " ignored");
+ }
+
+ /**
+ * Read a file.
+ * @param file the file to be read
+ * @return the tree for the content of the file
+ * @throws IOException if any IO errors occur
+ * @throws TreePosTest.ParseException if any errors occur while parsing the file
+ */
+ JCCompilationUnit read(File file) throws IOException, ParseException {
+ StringWriter sw = new StringWriter();
+ PrintWriter pw = new PrintWriter(sw);
+ Reporter r = new Reporter(pw);
+ JavacTool tool = JavacTool.create();
+ Charset cs = (encoding == null ? null : Charset.forName(encoding));
+ StandardJavaFileManager fm = tool.getStandardFileManager(r, null, null);
+ Iterable<? extends JavaFileObject> files = fm.getJavaFileObjects(file);
+ JavacTask task = tool.getTask(pw, fm, r, Collections.<String>emptyList(), null, files);
+ Iterable<? extends CompilationUnitTree> trees = task.parse();
+ pw.flush();
+ if (r.errors > 0)
+ throw new ParseException(sw.toString());
+ Iterator<? extends CompilationUnitTree> iter = trees.iterator();
+ if (!iter.hasNext())
+ throw new Error("no trees found");
+ JCCompilationUnit t = (JCCompilationUnit) iter.next();
+ if (iter.hasNext())
+ throw new Error("too many trees found");
+ return t;
+ }
+
+ /**
+ * Report an error. When the program is complete, the program will either
+ * exit or throw an Error if any errors have been reported.
+ * @param msg the error message
+ */
+ void error(String msg) {
+ System.err.println(msg);
+ errors++;
+ }
+
+ /** Number of files that have been analyzed. */
+ int fileCount;
+ /** Number of errors reported. */
+ int errors;
+ /** Flag: don't report irrelevant files. */
+ boolean quiet;
+ /** Flag: report files as they are processed. */
+ boolean verbose;
+ /** Flag: show errors in GUI viewer. */
+ boolean gui;
+ /** Option: encoding for test files. */
+ String encoding;
+ /** The GUI viewer for errors. */
+ Viewer viewer;
+ /** The set of tags for tree nodes to be analyzed; if empty, all tree nodes
+ * are analyzed. */
+ Set<String> tags = new HashSet<String>();
+ /** Set of files and directories to be excluded from analysis. */
+ Set<File> excludeFiles = new HashSet<File>();
+ /** Table of printable names for tree tag values. */
+ TagNames tagNames = new TagNames();
+
+ /**
+ * Main class for testing assertions concerning tree positions for tree nodes.
+ */
+ private class PosTester extends TreeScanner {
+ void test(JCCompilationUnit tree) {
+ sourcefile = tree.sourcefile;
+ endPosTable = tree.endPositions;
+ encl = new Info();
+ tree.accept(this);
+ }
+
+ @Override
+ public void scan(JCTree tree) {
+ if (tree == null)
+ return;
+
+ Info self = new Info(tree, endPosTable);
+ if (check(self)) {
+ // Modifiers nodes are present throughout the tree even where
+ // there is no corresponding source text.
+ // Redundant semicolons in a class definition can cause empty
+ // initializer blocks with no positions.
+ if ((self.tag == JCTree.MODIFIERS || self.tag == JCTree.BLOCK)
+ && self.pos == NOPOS) {
+ // If pos is NOPOS, so should be the start and end positions
+ check("start == NOPOS", encl, self, self.start == NOPOS);
+ check("end == NOPOS", encl, self, self.end == NOPOS);
+ } else {
+ // For this node, start , pos, and endpos should be all defined
+ check("start != NOPOS", encl, self, self.start != NOPOS);
+ check("pos != NOPOS", encl, self, self.pos != NOPOS);
+ check("end != NOPOS", encl, self, self.end != NOPOS);
+ // The following should normally be ordered
+ // encl.start <= start <= pos <= end <= encl.end
+ // In addition, the position of the enclosing node should be
+ // within this node.
+ // The primary exceptions are for array type nodes, because of the
+ // need to support legacy syntax:
+ // e.g. int a[]; int[] b[]; int f()[] { return null; }
+ // and because of inconsistent nesting of left and right of
+ // array declarations:
+ // e.g. int[][] a = new int[2][];
+ check("encl.start <= start", encl, self, encl.start <= self.start);
+ check("start <= pos", encl, self, self.start <= self.pos);
+ if (!(self.tag == JCTree.TYPEARRAY
+ && (encl.tag == JCTree.VARDEF || encl.tag == JCTree.TYPEARRAY))) {
+ check("encl.pos <= start || end <= encl.pos",
+ encl, self, encl.pos <= self.start || self.end <= encl.pos);
+ }
+ check("pos <= end", encl, self, self.pos <= self.end);
+ if (!(self.tag == JCTree.TYPEARRAY && encl.tag == JCTree.TYPEARRAY)) {
+ check("end <= encl.end", encl, self, self.end <= encl.end);
+ }
+ }
+ }
+
+ Info prevEncl = encl;
+ encl = self;
+ tree.accept(this);
+ encl = prevEncl;
+ }
+
+ @Override
+ public void visitVarDef(JCVariableDecl tree) {
+ // enum member declarations are desugared in the parser and have
+ // ill-defined semantics for tree positions, so for now, we
+ // skip the synthesized bits and just check parts which came from
+ // the original source text
+ if ((tree.mods.flags & Flags.ENUM) != 0) {
+ scan(tree.mods);
+ if (tree.init != null) {
+ if (tree.init.getTag() == JCTree.NEWCLASS) {
+ JCNewClass init = (JCNewClass) tree.init;
+ if (init.args != null && init.args.nonEmpty()) {
+ scan(init.args);
+ }
+ if (init.def != null && init.def.defs != null) {
+ scan(init.def.defs);
+ }
+ }
+ }
+ } else
+ super.visitVarDef(tree);
+ }
+
+ boolean check(Info x) {
+ return tags.size() == 0 || tags.contains(tagNames.get(x.tag));
+ }
+
+ void check(String label, Info encl, Info self, boolean ok) {
+ if (!ok) {
+ if (gui) {
+ if (viewer == null)
+ viewer = new Viewer();
+ viewer.addEntry(sourcefile, label, encl, self);
+ }
+
+ String s = self.tree.toString();
+ String msg = sourcefile.getName() + ": " + label + ": " +
+ "encl:" + encl + " this:" + self + "\n" +
+ s.substring(0, Math.min(80, s.length())).replaceAll("[\r\n]+", " ");
+ error(msg);
+ }
+ }
+
+ JavaFileObject sourcefile;
+ Map<JCTree, Integer> endPosTable;
+ Info encl;
+
+ }
+
+ /**
+ * Utility class providing easy access to position and other info for a tree node.
+ */
+ private class Info {
+ Info() {
+ tree = null;
+ tag = JCTree.ERRONEOUS;
+ start = 0;
+ pos = 0;
+ end = Integer.MAX_VALUE;
+ }
+
+ Info(JCTree tree, Map<JCTree, Integer> endPosTable) {
+ this.tree = tree;
+ tag = tree.getTag();
+ start = TreeInfo.getStartPos(tree);
+ pos = tree.pos;
+ end = TreeInfo.getEndPos(tree, endPosTable);
+ }
+
+ @Override
+ public String toString() {
+ return tagNames.get(tree.getTag()) + "[start:" + start + ",pos:" + pos + ",end:" + end + "]";
+ }
+
+ final JCTree tree;
+ final int tag;
+ final int start;
+ final int pos;
+ final int end;
+ }
+
+ /**
+ * Names for tree tags.
+ * javac does not provide an API to convert tag values to strings, so this class uses
+ * reflection to determine names of public static final int values in JCTree.
+ */
+ private static class TagNames {
+ String get(int tag) {
+ if (map == null) {
+ map = new HashMap<Integer, String>();
+ Class c = JCTree.class;
+ for (Field f : c.getDeclaredFields()) {
+ if (f.getType().equals(int.class)) {
+ int mods = f.getModifiers();
+ if (Modifier.isPublic(mods) && Modifier.isStatic(mods) && Modifier.isFinal(mods)) {
+ try {
+ map.put(f.getInt(null), f.getName());
+ } catch (IllegalAccessException e) {
+ }
+ }
+ }
+ }
+ }
+ String name = map.get(tag);
+ return (name == null) ? "??" : name;
+ }
+
+ private Map<Integer, String> map;
+ }
+
+ /**
+ * Thrown when errors are found parsing a java file.
+ */
+ private static class ParseException extends Exception {
+ ParseException(String msg) {
+ super(msg);
+ }
+ }
+
+ /**
+ * DiagnosticListener to report diagnostics and count any errors that occur.
+ */
+ private static class Reporter implements DiagnosticListener<JavaFileObject> {
+ Reporter(PrintWriter out) {
+ this.out = out;
+ }
+
+ public void report(Diagnostic<? extends JavaFileObject> diagnostic) {
+ out.println(diagnostic);
+ switch (diagnostic.getKind()) {
+ case ERROR:
+ errors++;
+ }
+ }
+ int errors;
+ PrintWriter out;
+ }
+
+ /**
+ * GUI viewer for issues found by TreePosTester. The viewer provides a drop
+ * down list for selecting error conditions, a header area providing details
+ * about an error, and a text area with the ranges of text highlighted as
+ * appropriate.
+ */
+ private class Viewer extends JFrame {
+ /**
+ * Create a viewer.
+ */
+ Viewer() {
+ initGUI();
+ }
+
+ /**
+ * Add another entry to the list of errors.
+ * @param file The file containing the error
+ * @param check The condition that was being tested, and which failed
+ * @param encl the enclosing tree node
+ * @param self the tree node containing the error
+ */
+ void addEntry(JavaFileObject file, String check, Info encl, Info self) {
+ Entry e = new Entry(file, check, encl, self);
+ DefaultComboBoxModel m = (DefaultComboBoxModel) entries.getModel();
+ m.addElement(e);
+ if (m.getSize() == 1)
+ entries.setSelectedItem(e);
+ }
+
+ /**
+ * Initialize the GUI window.
+ */
+ private void initGUI() {
+ JPanel head = new JPanel(new GridBagLayout());
+ GridBagConstraints lc = new GridBagConstraints();
+ GridBagConstraints fc = new GridBagConstraints();
+ fc.anchor = GridBagConstraints.WEST;
+ fc.fill = GridBagConstraints.HORIZONTAL;
+ fc.gridwidth = GridBagConstraints.REMAINDER;
+
+ entries = new JComboBox();
+ entries.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ showEntry((Entry) entries.getSelectedItem());
+ }
+ });
+ fc.insets.bottom = 10;
+ head.add(entries, fc);
+ fc.insets.bottom = 0;
+ head.add(new JLabel("check:"), lc);
+ head.add(checkField = createTextField(80), fc);
+ fc.fill = GridBagConstraints.NONE;
+ head.add(setBackground(new JLabel("encl:"), enclColor), lc);
+ head.add(enclPanel = new InfoPanel(), fc);
+ head.add(setBackground(new JLabel("self:"), selfColor), lc);
+ head.add(selfPanel = new InfoPanel(), fc);
+ add(head, BorderLayout.NORTH);
+
+ body = new JTextArea();
+ body.setFont(Font.decode(Font.MONOSPACED));
+ body.addCaretListener(new CaretListener() {
+ public void caretUpdate(CaretEvent e) {
+ int dot = e.getDot();
+ int mark = e.getMark();
+ if (dot == mark)
+ statusText.setText("dot: " + dot);
+ else
+ statusText.setText("dot: " + dot + ", mark:" + mark);
+ }
+ });
+ JScrollPane p = new JScrollPane(body,
+ JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
+ JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
+ p.setPreferredSize(new Dimension(640, 480));
+ add(p, BorderLayout.CENTER);
+
+ statusText = createTextField(80);
+ add(statusText, BorderLayout.SOUTH);
+
+ pack();
+ setLocationRelativeTo(null); // centered on screen
+ setVisible(true);
+ setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
+ }
+
+ /** Show an entry that has been selected. */
+ private void showEntry(Entry e) {
+ try {
+ // update simple fields
+ setTitle(e.file.getName());
+ checkField.setText(e.check);
+ enclPanel.setInfo(e.encl);
+ selfPanel.setInfo(e.self);
+ // show file text with highlights
+ body.setText(e.file.getCharContent(true).toString());
+ Highlighter highlighter = body.getHighlighter();
+ highlighter.removeAllHighlights();
+ addHighlight(highlighter, e.encl, enclColor);
+ addHighlight(highlighter, e.self, selfColor);
+ scroll(body, getMinPos(enclPanel.info, selfPanel.info));
+ } catch (IOException ex) {
+ body.setText("Cannot read " + e.file.getName() + ": " + e);
+ }
+ }
+
+ /** Create a test field. */
+ private JTextField createTextField(int width) {
+ JTextField f = new JTextField(width);
+ f.setEditable(false);
+ f.setBorder(null);
+ return f;
+ }
+
+ /** Add a highlighted region based on the positions in an Info object. */
+ private void addHighlight(Highlighter h, Info info, Color c) {
+ int start = info.start;
+ int end = info.end;
+ if (start == -1 && end == -1)
+ return;
+ if (start == -1)
+ start = end;
+ if (end == -1)
+ end = start;
+ try {
+ h.addHighlight(info.start, info.end,
+ new DefaultHighlighter.DefaultHighlightPainter(c));
+ if (info.pos != -1) {
+ Color c2 = new Color(c.getRed(), c.getGreen(), c.getBlue(), (int)(.4f * 255)); // 40%
+ h.addHighlight(info.pos, info.pos + 1,
+ new DefaultHighlighter.DefaultHighlightPainter(c2));
+ }
+ } catch (BadLocationException e) {
+ e.printStackTrace();
+ }
+ }
+
+ /** Get the minimum valid position in a set of info objects. */
+ private int getMinPos(Info... values) {
+ int i = Integer.MAX_VALUE;
+ for (Info info: values) {
+ if (info.start >= 0) i = Math.min(i, info.start);
+ if (info.pos >= 0) i = Math.min(i, info.pos);
+ if (info.end >= 0) i = Math.min(i, info.end);
+ }
+ return (i == Integer.MAX_VALUE) ? 0 : i;
+ }
+
+ /** Set the background on a component. */
+ private JComponent setBackground(JComponent comp, Color c) {
+ comp.setOpaque(true);
+ comp.setBackground(c);
+ return comp;
+ }
+
+ /** Scroll a text area to display a given position near the middle of the visible area. */
+ private void scroll(final JTextArea t, final int pos) {
+ // Using invokeLater appears to give text a chance to sort itself out
+ // before the scroll happens; otherwise scrollRectToVisible doesn't work.
+ // Maybe there's a better way to sync with the text...
+ EventQueue.invokeLater(new Runnable() {
+ public void run() {
+ try {
+ Rectangle r = t.modelToView(pos);
+ JScrollPane p = (JScrollPane) SwingUtilities.getAncestorOfClass(JScrollPane.class, t);
+ r.y = Math.max(0, r.y - p.getHeight() * 2 / 5);
+ r.height += p.getHeight() * 4 / 5;
+ t.scrollRectToVisible(r);
+ } catch (BadLocationException ignore) {
+ }
+ }
+ });
+ }
+
+ private JComboBox entries;
+ private JTextField checkField;
+ private InfoPanel enclPanel;
+ private InfoPanel selfPanel;
+ private JTextArea body;
+ private JTextField statusText;
+
+ private Color selfColor = new Color(0.f, 1.f, 0.f, 0.2f); // 20% green
+ private Color enclColor = new Color(1.f, 0.f, 0.f, 0.2f); // 20% red
+
+ /** Panel to display an Info object. */
+ private class InfoPanel extends JPanel {
+ InfoPanel() {
+ add(tagName = createTextField(20));
+ add(new JLabel("start:"));
+ add(addListener(start = createTextField(6)));
+ add(new JLabel("pos:"));
+ add(addListener(pos = createTextField(6)));
+ add(new JLabel("end:"));
+ add(addListener(end = createTextField(6)));
+ }
+
+ void setInfo(Info info) {
+ this.info = info;
+ tagName.setText(tagNames.get(info.tag));
+ start.setText(String.valueOf(info.start));
+ pos.setText(String.valueOf(info.pos));
+ end.setText(String.valueOf(info.end));
+ }
+
+ JTextField addListener(final JTextField f) {
+ f.addMouseListener(new MouseAdapter() {
+ @Override
+ public void mouseClicked(MouseEvent e) {
+ body.setCaretPosition(Integer.valueOf(f.getText()));
+ body.getCaret().setVisible(true);
+ }
+ });
+ return f;
+ }
+
+ Info info;
+ JTextField tagName;
+ JTextField start;
+ JTextField pos;
+ JTextField end;
+ }
+
+ /** Object to record information about an error to be displayed. */
+ private class Entry {
+ Entry(JavaFileObject file, String check, Info encl, Info self) {
+ this.file = file;
+ this.check = check;
+ this.encl = encl;
+ this.self= self;
+ }
+
+ @Override
+ public String toString() {
+ return file.getName() + " " + check + " " + getMinPos(encl, self);
+ }
+
+ final JavaFileObject file;
+ final String check;
+ final Info encl;
+ final Info self;
+ }
+ }
+}
+
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javac/typeAnnotations/classfile/DeadCode.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,181 @@
+/*
+ * Copyright 2009-2010 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.
+ *
+ * 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.
+ */
+
+import java.io.*;
+import java.net.URL;
+import java.util.List;
+
+import com.sun.tools.classfile.*;
+
+/*
+ * @test
+ * @bug 6917130
+ * @summary test that optimized away annotations are not emited to classfile
+ */
+
+public class DeadCode {
+ public static void main(String[] args) throws Exception {
+ new DeadCode().run();
+ }
+
+ public void run() throws Exception {
+ ClassFile cf = getClassFile("DeadCode$Test.class");
+ test(cf);
+ for (Field f : cf.fields) {
+ test(cf, f);
+ }
+ for (Method m: cf.methods) {
+ test(cf, m);
+ }
+
+ countAnnotations();
+
+ if (errors > 0)
+ throw new Exception(errors + " errors found");
+ System.out.println("PASSED");
+ }
+
+ ClassFile getClassFile(String name) throws IOException, ConstantPoolException {
+ URL url = getClass().getResource(name);
+ InputStream in = url.openStream();
+ try {
+ return ClassFile.read(in);
+ } finally {
+ in.close();
+ }
+ }
+
+ /************ Helper annotations counting methods ******************/
+ void test(ClassFile cf) {
+ test(cf, Attribute.RuntimeVisibleTypeAnnotations, true);
+ test(cf, Attribute.RuntimeInvisibleTypeAnnotations, false);
+ }
+
+ void test(ClassFile cf, Method m) {
+ test(cf, m, Attribute.RuntimeVisibleTypeAnnotations, true);
+ test(cf, m, Attribute.RuntimeInvisibleTypeAnnotations, false);
+ }
+
+ void test(ClassFile cf, Field m) {
+ test(cf, m, Attribute.RuntimeVisibleTypeAnnotations, true);
+ test(cf, m, Attribute.RuntimeInvisibleTypeAnnotations, false);
+ }
+
+ // test the result of Attributes.getIndex according to expectations
+ // encoded in the method's name
+ void test(ClassFile cf, String name, boolean visible) {
+ int index = cf.attributes.getIndex(cf.constant_pool, name);
+ if (index != -1) {
+ Attribute attr = cf.attributes.get(index);
+ assert attr instanceof RuntimeTypeAnnotations_attribute;
+ RuntimeTypeAnnotations_attribute tAttr = (RuntimeTypeAnnotations_attribute)attr;
+ all += tAttr.annotations.length;
+ if (visible)
+ visibles += tAttr.annotations.length;
+ else
+ invisibles += tAttr.annotations.length;
+ }
+ }
+
+ // test the result of Attributes.getIndex according to expectations
+ // encoded in the method's name
+ void test(ClassFile cf, Method m, String name, boolean visible) {
+ int index = m.attributes.getIndex(cf.constant_pool, name);
+ if (index != -1) {
+ Attribute attr = m.attributes.get(index);
+ assert attr instanceof RuntimeTypeAnnotations_attribute;
+ RuntimeTypeAnnotations_attribute tAttr = (RuntimeTypeAnnotations_attribute)attr;
+ all += tAttr.annotations.length;
+ if (visible)
+ visibles += tAttr.annotations.length;
+ else
+ invisibles += tAttr.annotations.length;
+ }
+ }
+
+ // test the result of Attributes.getIndex according to expectations
+ // encoded in the method's name
+ void test(ClassFile cf, Field m, String name, boolean visible) {
+ int index = m.attributes.getIndex(cf.constant_pool, name);
+ if (index != -1) {
+ Attribute attr = m.attributes.get(index);
+ assert attr instanceof RuntimeTypeAnnotations_attribute;
+ RuntimeTypeAnnotations_attribute tAttr = (RuntimeTypeAnnotations_attribute)attr;
+ all += tAttr.annotations.length;
+ if (visible)
+ visibles += tAttr.annotations.length;
+ else
+ invisibles += tAttr.annotations.length;
+ }
+ }
+
+ void countAnnotations() {
+ int expected_all = expected_visibles + expected_invisibles;
+
+ if (expected_all != all) {
+ errors++;
+ System.err.println("expected " + expected_all
+ + " annotations but found " + all);
+ }
+
+ if (expected_visibles != visibles) {
+ errors++;
+ System.err.println("expected " + expected_visibles
+ + " visibles annotations but found " + visibles);
+ }
+
+ if (expected_invisibles != invisibles) {
+ errors++;
+ System.err.println("expected " + expected_invisibles
+ + " invisibles annotations but found " + invisibles);
+ }
+
+ }
+
+ int errors;
+ int all;
+ int visibles;
+ int invisibles;
+
+ /*********************** Test class *************************/
+ static int expected_invisibles = 1;
+ static int expected_visibles = 0;
+ static class Test {
+ @interface A {}
+
+ void test() {
+ List<? extends @A Object> o = null;
+ o.toString();
+
+ @A String m;
+ if (false) {
+ @A String a;
+ @A String b = "m";
+ b.toString();
+ List<? extends @A Object> c = null;
+ c.toString();
+ }
+ }
+ }
+
+}
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/arrayclass/DuplicateAnnotationValue.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/arrayclass/DuplicateAnnotationValue.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6843077
+ * @bug 6843077 6919944
* @summary check for duplicate annotation values
* @author Mahmood Ali
* @compile/fail/ref=DuplicateAnnotationValue.out -XDrawDiagnostics -source 1.7 DuplicateAnnotationValue.java
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/arrayclass/DuplicateAnnotationValue.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/arrayclass/DuplicateAnnotationValue.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,2 +1,2 @@
-DuplicateAnnotationValue.java:10:45: compiler.err.duplicate.annotation.member.value: value, A
+DuplicateAnnotationValue.java:10:37: compiler.err.duplicate.annotation.member.value: value, A
1 error
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6843077
+ * @bug 6843077 6919944
* @summary check for duplicate annotation values
* @author Mahmood Ali
* @compile/fail/ref=DuplicateAnnotationValue.out -XDrawDiagnostics -source 1.7 DuplicateAnnotationValue.java
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/arrays/DuplicateAnnotationValue.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,2 +1,2 @@
-DuplicateAnnotationValue.java:10:34: compiler.err.duplicate.annotation.member.value: value, A
+DuplicateAnnotationValue.java:10:26: compiler.err.duplicate.annotation.member.value: value, A
1 error
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6843077
+ * @bug 6843077 6919944
* @summary check for duplicate annotation values for type parameter
* @author Mahmood Ali
* @compile/fail/ref=DuplicateAnnotationValue.out -XDrawDiagnostics -source 1.7 DuplicateAnnotationValue.java
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/innertypeparams/DuplicateAnnotationValue.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,2 +1,2 @@
-DuplicateAnnotationValue.java:10:39: compiler.err.duplicate.annotation.member.value: value, A
+DuplicateAnnotationValue.java:10:31: compiler.err.duplicate.annotation.member.value: value, A
1 error
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6843077
+ * @bug 6843077 6919944
* @summary check for duplicate annotation values
* @author Mahmood Ali
* @compile/fail/ref=DuplicateAnnotationValue.out -XDrawDiagnostics -source 1.7 DuplicateAnnotationValue.java
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/newarray/DuplicateAnnotationValue.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,2 +1,2 @@
-DuplicateAnnotationValue.java:10:51: compiler.err.duplicate.annotation.member.value: value, A
+DuplicateAnnotationValue.java:10:43: compiler.err.duplicate.annotation.member.value: value, A
1 error
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6843077
+ * @bug 6843077 6919944
* @summary check for duplicate annotation values for type parameter
* @author Mahmood Ali
* @compile/fail/ref=DuplicateAnnotationValue.out -XDrawDiagnostics -source 1.7 DuplicateAnnotationValue.java
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/parambounds/DuplicateAnnotationValue.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,2 +1,2 @@
-DuplicateAnnotationValue.java:8:64: compiler.err.duplicate.annotation.member.value: value, A
+DuplicateAnnotationValue.java:8:56: compiler.err.duplicate.annotation.member.value: value, A
1 error
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6843077
+ * @bug 6843077 6919944
* @summary check for duplicate annotation values in receiver
* @author Mahmood Ali
* @compile/fail/ref=DuplicateAnnotationValue.out -XDrawDiagnostics -source 1.7 DuplicateAnnotationValue.java
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/receiver/DuplicateAnnotationValue.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,2 +1,2 @@
-DuplicateAnnotationValue.java:9:37: compiler.err.duplicate.annotation.member.value: value, A
+DuplicateAnnotationValue.java:9:29: compiler.err.duplicate.annotation.member.value: value, A
1 error
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6843077
+ * @bug 6843077 6919944
* @summary check for duplicate annotation values for type parameter
* @author Mahmood Ali
* @compile/fail/ref=DuplicateAnnotationValue.out -XDrawDiagnostics -source 1.7 DuplicateAnnotationValue.java
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/typeArgs/DuplicateAnnotationValue.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,2 +1,2 @@
-DuplicateAnnotationValue.java:9:50: compiler.err.duplicate.annotation.member.value: value, A
+DuplicateAnnotationValue.java:9:42: compiler.err.duplicate.annotation.member.value: value, A
1 error
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6843077
+ * @bug 6843077 6919944
* @summary check for duplicate annotation values for type parameter
* @author Mahmood Ali
* @compile/fail/ref=DuplicateAnnotationValue.out -XDrawDiagnostics -source 1.7 DuplicateAnnotationValue.java
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/typeparams/DuplicateAnnotationValue.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,2 +1,2 @@
-DuplicateAnnotationValue.java:8:54: compiler.err.duplicate.annotation.member.value: value, A
+DuplicateAnnotationValue.java:8:46: compiler.err.duplicate.annotation.member.value: value, A
1 error
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.java Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.java Wed Feb 17 10:24:30 2010 -0800
@@ -1,6 +1,6 @@
/*
* @test /nodynamiccopyright/
- * @bug 6843077
+ * @bug 6843077 6919944
* @summary check for duplicate annotation values for type parameter
* @author Mahmood Ali
* @compile/fail/ref=DuplicateAnnotationValue.out -XDrawDiagnostics -source 1.7 DuplicateAnnotationValue.java
--- a/langtools/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.out Mon Feb 15 10:18:55 2010 -0800
+++ b/langtools/test/tools/javac/typeAnnotations/failures/common/wildcards/DuplicateAnnotationValue.out Wed Feb 17 10:24:30 2010 -0800
@@ -1,2 +1,2 @@
-DuplicateAnnotationValue.java:9:50: compiler.err.duplicate.annotation.member.value: value, A
+DuplicateAnnotationValue.java:9:42: compiler.err.duplicate.annotation.member.value: value, A
1 error
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/langtools/test/tools/javap/typeAnnotations/ArrayClassLiterals2.java Wed Feb 17 10:24:30 2010 -0800
@@ -0,0 +1,82 @@
+/*
+ * Copyright 2009 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.
+ *
+ * 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.
+ */
+
+/*
+ * @test
+ * @bug 6918625
+ * @summary javap dumps type information of array class literals
+ */
+
+import java.io.*;
+
+public class ArrayClassLiterals2 {
+ public static void main(String[] args) throws Exception {
+ new ArrayClassLiterals2().run();
+ }
+
+ public void run() throws IOException {
+ File classFile = new File(System.getProperty("test.classes"), "ArrayClassLiterals2$Test.class");
+
+ verify(classFile,
+ "RuntimeInvisibleTypeAnnotations:",
+ "CLASS_LITERAL_GENERIC_OR_ARRAY"
+ );
+
+ if (errors > 0)
+ throw new Error(errors + " found.");
+ }
+
+ String javap(File f) {
+ StringWriter sw = new StringWriter();
+ PrintWriter out = new PrintWriter(sw);
+ int rc = com.sun.tools.javap.Main.run(new String[] { "-v", f.getPath() }, out);
+ if (rc != 0)
+ throw new Error("javap failed. rc=" + rc);
+ out.close();
+ return sw.toString();
+ }
+
+ void verify(File classFile, String... expects) {
+ String output = javap(classFile);
+ for (String expect: expects) {
+ if (output.indexOf(expect)< 0)
+ error(expect + " not found");
+ }
+ }
+
+ void error(String msg) {
+ System.err.println(msg);
+ errors++;
+ }
+
+ int errors;
+
+
+ /*********************** Test class *************************/
+ static class Test {
+ @interface A { }
+ void test() {
+ Object a = @A String @A [] @A [].class;
+ }
+ }
+}