1Test stopped using breakpoint 2NORMAL RUN: Single call with no interference on (ID: 0) StandardTestObject { cnt: 0 } 3NORMAL RUN: result for (ID: 0) StandardTestObject { cnt: 2 } is IntContainer { value: 1 } 4Single call with force-early-return on (ID: 1) StandardTestObject { cnt: 0 } 5Will force return of OveriddenReturnValue { id: 0 } 6result for (ID: 1) StandardTestObject { cnt: 1 } is OveriddenReturnValue { id: 0 } 7Test stopped using breakpoint with declared synchronized function 8NORMAL RUN: Single call with no interference on (ID: 2) SynchronizedFunctionTestObject { cnt: 0 } 9NORMAL RUN: result for (ID: 2) SynchronizedFunctionTestObject { cnt: 2 } is IntContainer { value: 1 } 10Single call with force-early-return on (ID: 3) SynchronizedFunctionTestObject { cnt: 0 } 11Will force return of OveriddenReturnValue { id: 1 } 12result for (ID: 3) SynchronizedFunctionTestObject { cnt: 1 } is OveriddenReturnValue { id: 1 } 13Test stopped using breakpoint with synchronized block 14NORMAL RUN: Single call with no interference on (ID: 4) SynchronizedTestObject { cnt: 0 } 15NORMAL RUN: result for (ID: 4) SynchronizedTestObject { cnt: 2 } is IntContainer { value: 1 } 16Single call with force-early-return on (ID: 5) SynchronizedTestObject { cnt: 0 } 17Will force return of OveriddenReturnValue { id: 2 } 18result for (ID: 5) SynchronizedTestObject { cnt: 1 } is OveriddenReturnValue { id: 2 } 19Test stopped on single step 20NORMAL RUN: Single call with no interference on (ID: 6) StandardTestObject { cnt: 0 } 21NORMAL RUN: result for (ID: 6) StandardTestObject { cnt: 2 } is IntContainer { value: 1 } 22Single call with force-early-return on (ID: 7) StandardTestObject { cnt: 0 } 23Will force return of OveriddenReturnValue { id: 3 } 24result for (ID: 7) StandardTestObject { cnt: 1 } is OveriddenReturnValue { id: 3 } 25Test stopped on field access 26NORMAL RUN: Single call with no interference on (ID: 8) FieldBasedTestObject { TARGET_FIELD: 0 } 27NORMAL RUN: result for (ID: 8) FieldBasedTestObject { TARGET_FIELD: 10 } is IntContainer { value: 10 } 28Single call with force-early-return on (ID: 9) FieldBasedTestObject { TARGET_FIELD: 0 } 29Will force return of OveriddenReturnValue { id: 4 } 30result for (ID: 9) FieldBasedTestObject { TARGET_FIELD: 0 } is OveriddenReturnValue { id: 4 } 31Test stopped on field modification 32NORMAL RUN: Single call with no interference on (ID: 10) FieldBasedTestObject { TARGET_FIELD: 0 } 33NORMAL RUN: result for (ID: 10) FieldBasedTestObject { TARGET_FIELD: 10 } is IntContainer { value: 10 } 34Single call with force-early-return on (ID: 11) FieldBasedTestObject { TARGET_FIELD: 0 } 35Will force return of OveriddenReturnValue { id: 5 } 36result for (ID: 11) FieldBasedTestObject { TARGET_FIELD: 0 } is OveriddenReturnValue { id: 5 } 37Test stopped during Method Exit of calledFunction 38NORMAL RUN: Single call with no interference on (ID: 12) StandardTestObject { cnt: 0 } 39NORMAL RUN: result for (ID: 12) StandardTestObject { cnt: 2 } is IntContainer { value: 1 } 40Single call with force-early-return on (ID: 13) StandardTestObject { cnt: 0 } 41Will force return of OveriddenReturnValue { id: 6 } 42result for (ID: 13) StandardTestObject { cnt: 2 } is OveriddenReturnValue { id: 6 } 43Test stopped during Method Enter of calledFunction 44NORMAL RUN: Single call with no interference on (ID: 14) StandardTestObject { cnt: 0 } 45NORMAL RUN: result for (ID: 14) StandardTestObject { cnt: 2 } is IntContainer { value: 1 } 46Single call with force-early-return on (ID: 15) StandardTestObject { cnt: 0 } 47Will force return of OveriddenReturnValue { id: 7 } 48result for (ID: 15) StandardTestObject { cnt: 0 } is OveriddenReturnValue { id: 7 } 49Test stopped during Method Exit due to exception thrown in same function 50NORMAL RUN: Single call with no interference on (ID: 16) ExceptionOnceObject { cnt: 0, throwInSub: false } 51Uncaught exception in thread Thread[Test1968 target thread - 16,5,main] - art.Test1968$ExceptionOnceObject$TestError: null 52 art.Test1968$ExceptionOnceObject.calledFunction(Test1968.java) 53 art.Test1968$AbstractTestObject.run(Test1968.java) 54 art.Test1968$2.run(Test1968.java) 55 java.lang.Thread.run(Thread.java) 56 57NORMAL RUN: result for (ID: 16) ExceptionOnceObject { cnt: 1, throwInSub: false } is null 58Single call with force-early-return on (ID: 17) ExceptionOnceObject { cnt: 0, throwInSub: false } 59Will force return of OveriddenReturnValue { id: 8 } 60result for (ID: 17) ExceptionOnceObject { cnt: 1, throwInSub: false } is OveriddenReturnValue { id: 8 } 61Test stopped during Method Exit due to exception thrown in subroutine 62NORMAL RUN: Single call with no interference on (ID: 18) ExceptionOnceObject { cnt: 0, throwInSub: true } 63Uncaught exception in thread Thread[Test1968 target thread - 18,5,main] - art.Test1968$ExceptionOnceObject$TestError: null 64 art.Test1968$ExceptionOnceObject.doThrow(Test1968.java) 65 art.Test1968$ExceptionOnceObject.calledFunction(Test1968.java) 66 art.Test1968$AbstractTestObject.run(Test1968.java) 67 art.Test1968$2.run(Test1968.java) 68 java.lang.Thread.run(Thread.java) 69 70NORMAL RUN: result for (ID: 18) ExceptionOnceObject { cnt: 1, throwInSub: true } is null 71Single call with force-early-return on (ID: 19) ExceptionOnceObject { cnt: 0, throwInSub: true } 72Will force return of OveriddenReturnValue { id: 9 } 73result for (ID: 19) ExceptionOnceObject { cnt: 1, throwInSub: true } is OveriddenReturnValue { id: 9 } 74Test stopped during notifyFramePop with exception on pop of calledFunction 75NORMAL RUN: Single call with no interference on (ID: 20) ExceptionThrowTestObject { cnt: 0, baseCnt: 0 } 76art.Test1968$ExceptionThrowTestObject$TestError thrown and caught! 77NORMAL RUN: result for (ID: 20) ExceptionThrowTestObject { cnt: 2, baseCnt: 2 } is null 78Single call with force-early-return on (ID: 21) ExceptionThrowTestObject { cnt: 0, baseCnt: 0 } 79Will force return of OveriddenReturnValue { id: 10 } 80result for (ID: 21) ExceptionThrowTestObject { cnt: 2, baseCnt: 2 } is OveriddenReturnValue { id: 10 } 81Test stopped during notifyFramePop with exception on pop of doThrow 82NORMAL RUN: Single call with no interference on (ID: 22) ExceptionCatchTestObject { cnt: 0 } 83art.Test1968$ExceptionCatchTestObject$TestError caught in called function. 84NORMAL RUN: result for (ID: 22) ExceptionCatchTestObject { cnt: 2 } is IntContainer { value: 1 } 85Single call with force-early-return on (ID: 23) ExceptionCatchTestObject { cnt: 0 } 86Will force return of OveriddenReturnValue { id: 11 } 87result for (ID: 23) ExceptionCatchTestObject { cnt: 101 } is IntContainer { value: 1 } 88Test stopped during ExceptionCatch event of calledFunction (catch in called function, throw in called function) 89NORMAL RUN: Single call with no interference on (ID: 24) ExceptionThrowTestObject { cnt: 0, baseCnt: 0 } 90art.Test1968$ExceptionThrowTestObject$TestError caught in same function. 91NORMAL RUN: result for (ID: 24) ExceptionThrowTestObject { cnt: 111, baseCnt: 2 } is IntContainer { value: 11 } 92Single call with force-early-return on (ID: 25) ExceptionThrowTestObject { cnt: 0, baseCnt: 0 } 93Will force return of OveriddenReturnValue { id: 12 } 94result for (ID: 25) ExceptionThrowTestObject { cnt: 11, baseCnt: 2 } is OveriddenReturnValue { id: 12 } 95Test stopped during ExceptionCatch event of calledFunction (catch in called function, throw in subroutine) 96NORMAL RUN: Single call with no interference on (ID: 26) ExceptionCatchTestObject { cnt: 0 } 97art.Test1968$ExceptionCatchTestObject$TestError caught in called function. 98NORMAL RUN: result for (ID: 26) ExceptionCatchTestObject { cnt: 2 } is IntContainer { value: 1 } 99Single call with force-early-return on (ID: 27) ExceptionCatchTestObject { cnt: 0 } 100Will force return of OveriddenReturnValue { id: 13 } 101result for (ID: 27) ExceptionCatchTestObject { cnt: 1 } is OveriddenReturnValue { id: 13 } 102Test stopped during Exception event of calledFunction (catch in calling function) 103NORMAL RUN: Single call with no interference on (ID: 28) ExceptionThrowTestObject { cnt: 0, baseCnt: 0 } 104art.Test1968$ExceptionThrowTestObject$TestError thrown and caught! 105NORMAL RUN: result for (ID: 28) ExceptionThrowTestObject { cnt: 2, baseCnt: 2 } is null 106Single call with force-early-return on (ID: 29) ExceptionThrowTestObject { cnt: 0, baseCnt: 0 } 107Will force return of OveriddenReturnValue { id: 14 } 108result for (ID: 29) ExceptionThrowTestObject { cnt: 2, baseCnt: 2 } is OveriddenReturnValue { id: 14 } 109Test stopped during Exception event of calledFunction (catch in called function) 110NORMAL RUN: Single call with no interference on (ID: 30) ExceptionThrowTestObject { cnt: 0, baseCnt: 0 } 111art.Test1968$ExceptionThrowTestObject$TestError caught in same function. 112NORMAL RUN: result for (ID: 30) ExceptionThrowTestObject { cnt: 111, baseCnt: 2 } is IntContainer { value: 11 } 113Single call with force-early-return on (ID: 31) ExceptionThrowTestObject { cnt: 0, baseCnt: 0 } 114Will force return of OveriddenReturnValue { id: 15 } 115result for (ID: 31) ExceptionThrowTestObject { cnt: 11, baseCnt: 2 } is OveriddenReturnValue { id: 15 } 116Test stopped during Exception event of calledFunction (catch in parent of calling function) 117NORMAL RUN: Single call with no interference on (ID: 32) ExceptionThrowFarTestObject { cnt: 0, baseCnt: 0 } 118art.Test1968$ExceptionThrowFarTestObject$TestError thrown and caught! 119NORMAL RUN: result for (ID: 32) ExceptionThrowFarTestObject { cnt: 2, baseCnt: 2 } is null 120Single call with force-early-return on (ID: 33) ExceptionThrowFarTestObject { cnt: 0, baseCnt: 0 } 121Will force return of OveriddenReturnValue { id: 16 } 122result for (ID: 33) ExceptionThrowFarTestObject { cnt: 2, baseCnt: 2 } is OveriddenReturnValue { id: 16 } 123Test stopped during Exception event of calledFunction (catch in called function) 124NORMAL RUN: Single call with no interference on (ID: 34) ExceptionThrowFarTestObject { cnt: 0, baseCnt: 0 } 125art.Test1968$ExceptionThrowFarTestObject$TestError caught in same function. 126NORMAL RUN: result for (ID: 34) ExceptionThrowFarTestObject { cnt: 111, baseCnt: 2 } is IntContainer { value: 101 } 127Single call with force-early-return on (ID: 35) ExceptionThrowFarTestObject { cnt: 0, baseCnt: 0 } 128Will force return of OveriddenReturnValue { id: 17 } 129result for (ID: 35) ExceptionThrowFarTestObject { cnt: 101, baseCnt: 2 } is OveriddenReturnValue { id: 17 } 130Test stopped during random Suspend. 131NORMAL RUN: Single call with no interference on (ID: 36) SuspendSuddenlyObject { cnt: 0, spun: false } 132NORMAL RUN: result for (ID: 36) SuspendSuddenlyObject { cnt: 2, spun: true } is IntContainer { value: 1 } 133Single call with force-early-return on (ID: 37) SuspendSuddenlyObject { cnt: 0, spun: false } 134Will force return of OveriddenReturnValue { id: 18 } 135result for (ID: 37) SuspendSuddenlyObject { cnt: 1, spun: true } is OveriddenReturnValue { id: 18 } 136Test stopped during a native method fails 137NORMAL RUN: Single call with no interference on (ID: 38) NativeCalledObject { cnt: 0 } 138NORMAL RUN: result for (ID: 38) NativeCalledObject { cnt: 2 } is IntContainer { value: 1 } 139Single call with force-early-return on (ID: 39) NativeCalledObject { cnt: 0 } 140Will force return of OveriddenReturnValue { id: 19 } 141Failed to force-return due to java.lang.RuntimeException: JVMTI_ERROR_OPAQUE_FRAME 142 art.NonStandardExit.forceEarlyReturnObject(Native Method) 143 art.NonStandardExit.forceEarlyReturn(NonStandardExit.java) 144 art.Test1968$TestSuspender.performForceReturn(Test1968.java) 145 art.Test1968.runTestOn(Test1968.java) 146 art.Test1968.runTestOn(Test1968.java) 147 art.Test1968.runTestOn(Test1968.java) 148 art.Test1968.runTests(Test1968.java) 149 <Additional frames hidden> 150 151result for (ID: 39) NativeCalledObject { cnt: 2 } is IntContainer { value: 1 } 152Test stopped in a method called by native succeeds 153NORMAL RUN: Single call with no interference on (ID: 40) NativeCallerObject { cnt: 0 } 154NORMAL RUN: result for (ID: 40) NativeCallerObject { cnt: 2 } is IntContainer { value: 1 } 155Single call with force-early-return on (ID: 41) NativeCallerObject { cnt: 0 } 156Will force return of OveriddenReturnValue { id: 20 } 157result for (ID: 41) NativeCallerObject { cnt: 2 } is OveriddenReturnValue { id: 20 } 158Test stopped in a static method 159NORMAL RUN: Single call with no interference on (ID: 42) StaticMethodObject { cnt: 0 } 160NORMAL RUN: result for (ID: 42) StaticMethodObject { cnt: 2 } is IntContainer { value: 1 } 161Single call with force-early-return on (ID: 43) StaticMethodObject { cnt: 0 } 162Will force return of OveriddenReturnValue { id: 21 } 163result for (ID: 43) StaticMethodObject { cnt: 1 } is OveriddenReturnValue { id: 21 } 164Test force-return of void function fails! 165NORMAL RUN: Single call with no interference on (ID: 44) BadForceVoidObject { cnt: 0 } 166NORMAL RUN: result for (ID: 44) BadForceVoidObject { cnt: 2 } is null 167Single call with force-early-return on (ID: 45) BadForceVoidObject { cnt: 0 } 168Will force return of OveriddenReturnValue { id: 22 } 169Failed to force-return due to java.lang.RuntimeException: JVMTI_ERROR_TYPE_MISMATCH 170 art.NonStandardExit.forceEarlyReturnObject(Native Method) 171 art.NonStandardExit.forceEarlyReturn(NonStandardExit.java) 172 art.Test1968$TestSuspender.performForceReturn(Test1968.java) 173 art.Test1968.runTestOn(Test1968.java) 174 art.Test1968.runTestOn(Test1968.java) 175 art.Test1968.runTestOn(Test1968.java) 176 art.Test1968.runTests(Test1968.java) 177 <Additional frames hidden> 178 179result for (ID: 45) BadForceVoidObject { cnt: 2 } is null 180Test force-return of int function fails! 181NORMAL RUN: Single call with no interference on (ID: 46) BadForceIntObject { cnt: 0 } 182NORMAL RUN: result for (ID: 46) BadForceIntObject { cnt: 2 } is 1 183Single call with force-early-return on (ID: 47) BadForceIntObject { cnt: 0 } 184Will force return of OveriddenReturnValue { id: 23 } 185Failed to force-return due to java.lang.RuntimeException: JVMTI_ERROR_TYPE_MISMATCH 186 art.NonStandardExit.forceEarlyReturnObject(Native Method) 187 art.NonStandardExit.forceEarlyReturn(NonStandardExit.java) 188 art.Test1968$TestSuspender.performForceReturn(Test1968.java) 189 art.Test1968.runTestOn(Test1968.java) 190 art.Test1968.runTestOn(Test1968.java) 191 art.Test1968.runTestOn(Test1968.java) 192 art.Test1968.runTests(Test1968.java) 193 <Additional frames hidden> 194 195result for (ID: 47) BadForceIntObject { cnt: 2 } is 1 196