btraceio / btrace

Compare a4195db ... +0 ... 0cc7edb

Coverage Reach
runtime/Instrumentor.java runtime/InstrumentingMethodVisitor.java runtime/Preprocessor.java runtime/StackTrackingMethodVisitor.java runtime/instr/MethodInstrumentor.java runtime/instr/ArrayAllocInstrumentor.java runtime/instr/SynchronizedInstrumentor.java runtime/instr/ArrayAccessInstrumentor.java runtime/instr/ObjectAllocInstrumentor.java runtime/instr/FieldAccessInstrumentor.java runtime/instr/ErrorReturnInstrumentor.java runtime/instr/MethodCallInstrumentor.java runtime/instr/CatchInstrumentor.java runtime/instr/TypeCheckInstrumentor.java runtime/instr/LineNumberInstrumentor.java runtime/instr/ThrowInstrumentor.java runtime/instr/MethodReturnInstrumentor.java runtime/instr/MethodEntryInstrumentor.java runtime/instr/MethodEntryExitInstrumentor.java runtime/BTraceProbePersisted.java runtime/Assembler.java runtime/BTraceProbeNode.java runtime/BTraceMethodNode.java runtime/CallGraph.java runtime/ClassInfo.java runtime/ClassFilter.java runtime/MethodVerifier.java runtime/OnMethod.java runtime/TypeUtils.java runtime/BTraceTransformer.java runtime/BTraceProbeSupport.java runtime/BTraceClassReader.java runtime/InstrumentUtils.java runtime/Verifier.java runtime/Constants.java runtime/VariableMapper.java runtime/ProbeDescriptorLoader.java runtime/SpecialParameterHolder.java runtime/BTraceProbeFactory.java runtime/BTraceClassWriter.java runtime/Location.java runtime/OnProbe.java runtime/ClassCache.java runtime/BTraceMethodVisitor.java runtime/ProbeDescriptor.java runtime/InstrumentingClassVisitor.java runtime/Level.java compiler/PCPP.java compiler/Postprocessor.java compiler/VerifierVisitor.java compiler/CallGraph1.java compiler/Compiler.java compiler/Verifier.java compiler/CompilerHelper.java compiler/ConcatenatingReader.java compiler/MemoryJavaFileManager.java compiler/Printer.java compiler/CompilerClassWriter.java compiler/AnnotationSerializer.java BTraceRuntime.java BTraceUtils.java agent/Main.java agent/Client.java agent/TraceOutputWriter.java agent/RemoteClient.java agent/FileClient.java agent/PerfReaderImpl.java agent/ClientContext.java agent/NullPerfReaderImpl.java util/templates/impl/MethodTrackingExpander.java util/templates/TemplateExpanderVisitor.java util/templates/Template.java util/templates/BTraceTemplates.java util/templates/BaseTemplateExpander.java util/templates/TemplateExpander.java util/LongMap.java util/Interval.java util/PrefixMap.java util/MethodID.java util/Messages.java client/Client.java client/Main.java client/ProbeDump.java DOTWriter.java comm/GridDataCommand.java comm/WireIO.java comm/MessageCommand.java comm/InstrumentCommand.java comm/NumberMapDataCommand.java comm/StringMapDataCommand.java comm/SetSettingsCommand.java comm/NumberDataCommand.java comm/ErrorCommand.java comm/RetransformClassNotification.java comm/RetransformationStartNotification.java comm/ExitCommand.java comm/RenameCommand.java comm/EventCommand.java comm/Command.java comm/OkayCommand.java comm/DataCommand.java api/impl/BTraceEngineImpl.java api/impl/BTraceTaskImpl.java api/impl/BTraceTaskDispatcher.java api/impl/BTraceEngineListeners.java api/BTraceTask.java api/BTraceCompiler.java api/BTraceSettings.java api/BTraceEngine.java BTraceMBean.java aggregation/Aggregation.java aggregation/Quantize.java aggregation/AggregationKey.java aggregation/HistogramData.java aggregation/Average.java aggregation/AggregationFunction.java aggregation/Count.java aggregation/Minimum.java aggregation/Maximum.java aggregation/Sum.java profiling/MethodInvocationRecorder.java profiling/MethodInvocationProfiler.java XMLSerializer.java shared/MethodSerializer.java shared/LowMemoryHandler.java shared/TimerHandler.java shared/EventHandler.java shared/ErrorHandler.java shared/ExitHandler.java services/impl/Statsd.java services/impl/QManager.java services/impl/Printer.java services/api/Service.java services/spi/RuntimeService.java services/spi/SimpleService.java spi/BaseBTraceCompiler.java spi/impl/PortLocatorImpl.java spi/impl/BTraceSettingsProviderImpl.java spi/impl/BTraceCompilerFactoryImpl.java spi/OutputProvider.java spi/ClasspathProvider.java instr/MethodTracker.java instr/RandomIntProvider.java instr/random/SharedRandomIntProvider.java instr/random/ThreadLocalRandomIntProvider.java SharedSettings.java Profiler.java ArgsMap.java BTraceDeque.java DebugSupport.java BTraceMap.java annotations/Kind.java annotations/Sampled.java annotations/ServiceType.java annotations/Where.java DotWriterFormatter.java MemoryClassLoader.java VerifierException.java ExitException.java AnyType.java

No flags found

Use flags to group coverage reports by test type, project and/or folders.
Then setup custom commit statuses and notifications for each flag.

e.g., #unittest #integration

#production #enterprise

#frontend #backend

Learn more about Codecov Flags here.


@@ -348,7 +348,7 @@
Loading
348 348
    private final LocalVarTypes localTypes = new LocalVarTypes();
349 349
    private final Set<Integer> frameOffsets = new HashSet<>();
350 350
    private final Map<Label, SavedState> jumpTargetStates = new HashMap<>();
351 -
    private final Map<Label, Label> tryCatchHandlerMap = new HashMap<>();
351 +
    private final Map<Label, Set<Label>> tryCatchHandlerMap = new HashMap<>();
352 352
353 353
    private int argsSize = 0;
354 354
    private int localsTailPtr = 0;
@@ -1205,10 +1205,12 @@
Loading
1205 1205
            newLocals.clear();
1206 1206
            newLocals.addAll(ss.newLocals);
1207 1207
        }
1208 -
        Label handler = tryCatchHandlerMap.get(label);
1209 -
        if (handler != null) {
1210 -
            if (!jumpTargetStates.containsKey(handler)) {
1211 -
                jumpTargetStates.put(handler, new SavedState(variableMapper, localTypes, stack, newLocals, SavedState.EXCEPTION));
1208 +
        Set<Label> handlers = tryCatchHandlerMap.get(label);
1209 +
        if (handlers != null) {
1210 +
            for (Label handler:handlers){
1211 +
                if (!jumpTargetStates.containsKey(handler)) {
1212 +
                    jumpTargetStates.put(handler, new SavedState(variableMapper, localTypes, stack, newLocals, SavedState.EXCEPTION));
1213 +
                }
1212 1214
            }
1213 1215
        }
1214 1216
        super.visitLabel(label);
@@ -1284,7 +1286,12 @@
Loading
1284 1286
1285 1287
    @Override
1286 1288
    public void addTryCatchHandler(Label start, Label handler) {
1287 -
        tryCatchHandlerMap.put(start, handler);
1289 +
        Set<Label> handlers = tryCatchHandlerMap.get(start);
1290 +
        if (handlers == null){
1291 +
            handlers = new HashSet<>();
1292 +
        }
1293 +
        handlers.add(handler);
1294 +
        tryCatchHandlerMap.put(start,handlers);
1288 1295
    }
1289 1296
1290 1297
    @Override

Everything is accounted for!

No changes detected that need to be reviewed.
What changes does Codecov check for?
Lines, not adjusted in diff, that have changed coverage data.
Files that introduced coverage data that had none before.
Files that have missing coverage data that once were tracked.
Files Complexity Coverage
src/share/classes/com/sun/btrace +2.00% 23.80% 0.03% 29.77%
Project Totals (160 files) 23.80% 29.77%
Loading