001/* 002 * This file is part of the Jikes RVM project (http://jikesrvm.org). 003 * 004 * This file is licensed to You under the Eclipse Public License (EPL); 005 * You may not use this file except in compliance with the License. You 006 * may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/eclipse-1.0.php 009 * 010 * See the COPYRIGHT.txt file distributed with this work for information 011 * regarding copyright ownership. 012 */ 013package org.jikesrvm.adaptive.database.methodsamples; 014 015import org.jikesrvm.VM; 016import org.jikesrvm.compilers.common.CompiledMethod; 017 018/** 019 * Wrapper around a pair of parallel arrays: 020 * <ol> 021 * <li>an array of compiled method id's 022 * <li>an array of counts: how many times each compiled method id is counted 023 * </ol> 024 */ 025public final class MethodCountSet { 026 /** 027 * array of compiled methods 028 */ 029 CompiledMethod[] cms; 030 /** 031 * array of counts 032 */ 033 double[] counters; 034 035 /** 036 * Constructor 037 * 038 * @param _cms array of compiled method ids 039 * @param _counters array of counters 040 */ 041 MethodCountSet(CompiledMethod[] _cms, double[] _counters) { 042 if (VM.VerifyAssertions) VM._assert(_cms.length == _counters.length); 043 cms = _cms; 044 counters = _counters; 045 } 046 047 /** 048 * String representation of fields 049 * 050 * @return string representation of compiled method id's and their counts 051 */ 052 @Override 053 public String toString() { 054 StringBuilder ans = new StringBuilder(); 055 for (int i = 0; i < cms.length; i++) { 056 ans.append(cms[i]); 057 ans.append(" = "); 058 ans.append(counters[i]); 059 ans.append("\n"); 060 } 061 return ans.toString(); 062 } 063}