• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Tests basic functions in the jvmti plugin.
2
3This tests that we are able to redefine methods/constructors on the
4java.lang.Object class at runtime.
5
6This also (indirectly) tests that we correctly handle reading annotations on
7obsolete methods. This is something that is not normally done since there is no
8way to get a reference to an obsolete method outside of the runtime but some
9annotations on the Object class are read by the runtime directly.
10
11NB This test cannot be run on the RI at the moment.
12
13If this test starts failing during the doCommonClassRedefinition call it is
14possible that the definition of Object contained in the base64 DEX_BYTES array
15has become stale and will need to be recreated. The only difference from the
16normal Object dex bytes is that (a) it contains only the bytes of the Object
17class itself, and (b) it adds an
18'invoke-static {p0}, Ljava/lang/Object;->NotifyConstructed(Ljava/lang/Object;)V'
19to the <init> function.
20
21It is also possible it could fail due to the pattern of allocations caused by
22doing string concatenation or printing changing. In this case you should simply
23update the expected-stdout.txt file.
24