src/share/vm/oops/methodData.cpp

Print this page
rev 4136 : 7153771: array bound check elimination for c1
Summary: when possible optimize out array bound checks, inserting predicates when needed.
Reviewed-by:

@@ -390,10 +390,13 @@
 
   return new (loader_data, size, false, THREAD) MethodData(method(), size, CHECK_NULL);
 }
 
 int MethodData::bytecode_cell_count(Bytecodes::Code code) {
+#if defined(COMPILER1) && !defined(COMPILER2)
+  return no_profile_data;
+#endif
   switch (code) {
   case Bytecodes::_checkcast:
   case Bytecodes::_instanceof:
   case Bytecodes::_aastore:
     if (TypeProfileCasts) {

@@ -507,10 +510,13 @@
 
 // Initialize an individual data segment.  Returns the size of
 // the segment in bytes.
 int MethodData::initialize_data(BytecodeStream* stream,
                                        int data_index) {
+#if defined(COMPILER1) && !defined(COMPILER2)
+  return 0;
+#endif
   int cell_count = -1;
   int tag = DataLayout::no_tag;
   DataLayout* data_layout = data_layout_at(data_index);
   Bytecodes::Code c = stream->code();
   switch (c) {