--- a/hotspot/src/share/vm/oops/methodDataOop.cpp Mon Apr 20 14:48:03 2009 -0700
+++ b/hotspot/src/share/vm/oops/methodDataOop.cpp Tue Apr 21 23:21:04 2009 -0700
@@ -442,6 +442,8 @@
case Bytecodes::_invokevirtual:
case Bytecodes::_invokeinterface:
return VirtualCallData::static_cell_count();
+ case Bytecodes::_invokedynamic:
+ return CounterData::static_cell_count();
case Bytecodes::_ret:
return RetData::static_cell_count();
case Bytecodes::_ifeq:
@@ -570,6 +572,11 @@
cell_count = VirtualCallData::static_cell_count();
tag = DataLayout::virtual_call_data_tag;
break;
+ case Bytecodes::_invokedynamic:
+ // %%% should make a type profile for any invokedynamic that takes a ref argument
+ cell_count = CounterData::static_cell_count();
+ tag = DataLayout::counter_data_tag;
+ break;
case Bytecodes::_ret:
cell_count = RetData::static_cell_count();
tag = DataLayout::ret_data_tag;