Skip to content

Commit d76dd50

Browse files
schrnzpartipan-dot
andcommitted
Fixes for new api (imports) and other ARTist upstream changes
Co-authored-by: Parthipan Ramesh <[email protected]>
1 parent f771080 commit d76dd50

File tree

7 files changed

+45
-39
lines changed

7 files changed

+45
-39
lines changed

Manifest.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"manifest_version": 1,
3-
"package_name": "saarland.cispa.artist.module.trace",
3+
"package_name": "saarland.cispa.artist.modules.trace",
44
"name": "Trace Module",
5-
"description": "This module logs all called methods.",
5+
"description": "This module logs the names of all called methods to logcat. ",
66
"author": "Sebastian Weisgerber <[email protected]>, Oliver Schranz <[email protected]>, Parthipan Ramesh <[email protected]>",
77
"version": 1
88
}

codelib.apk

3.34 KB
Binary file not shown.

src/codelib.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
#include <string>
2727
#include <unordered_set>
28-
#include <artist/env/codelib.h>
28+
#include <artist/api/modules/codelib.h>
2929

3030
using std::string;
3131
using std::unordered_set;

src/instrumentation_pass.cc

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -22,15 +22,9 @@
2222

2323
#include <atomic>
2424

25-
#include <artist/artist_log.h>
26-
#include <artist/injection/injection_visitor.h>
27-
#include <artist/env/java_env.h>
28-
#include <artist/injection/primitives.h>
29-
#include <artist/injection/boolean.h>
30-
#include <artist/injection/integer.h>
31-
#include <artist/injection/float.h>
32-
#include <artist/verbose_printer.h>
33-
#include <artist/injection/char.h>
25+
#include <artist/api/io/artist_log.h>
26+
#include <artist/api/env/java_env.h>
27+
#include <artist/api/injection/primitives.h>
3428

3529
#include "instrumentation_pass.h"
3630
#include "codelib.h"
@@ -44,21 +38,18 @@ using std::sort;
4438

4539
using art::Target;
4640
using art::Parameter;
47-
using art::Char;
4841
using art::InjectionTarget ;
4942

50-
vector<Injection> HTraceArtist::ProvideInjections() const {
43+
vector<shared_ptr<const Injection>> HTraceArtist::ProvideInjections() const {
5144
vector<shared_ptr<const Parameter>> params;
52-
auto param = make_shared<const Char>();
53-
params.push_back(param);
5445

55-
vector<const Target> targets;
56-
const Target target(Target::GENERIC_TARGET, InjectionTarget::METHOD_END);
46+
vector<shared_ptr<const Target>> targets;
47+
auto target = make_shared<const Target>(Target::GENERIC_TARGET, InjectionTarget::METHOD_END);
5748
targets.push_back(target);
5849

59-
Injection injection(TraceCodeLib::TRACELOG, params, targets);
50+
auto injection = make_shared<const Injection>(TraceCodeLib::TRACELOG, params, targets);
6051

61-
vector<Injection> results;
52+
vector<shared_ptr<const Injection>> results;
6253
results.push_back(injection);
6354
return results;
6455
}

src/instrumentation_pass.h

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@
2323
#ifndef ART_MODULES_TRACE_TRACE_ARTIST_H_
2424
#define ART_MODULES_TRACE_TRACE_ARTIST_H_
2525

26-
#include <artist/injection/universal_artist.h>
26+
#include <artist/api/injection/injection_artist.h>
2727

28-
using art::HUniversalArtist;
28+
using art::HInjectionArtist;
2929
using art::MethodInfo;
3030
using art::OptimizingCompilerStats;
3131
using art::Injection;
3232

33-
class HTraceArtist : public HUniversalArtist {
33+
class HTraceArtist : public HInjectionArtist {
3434
public:
3535
explicit HTraceArtist(
3636
const MethodInfo& method_info,
@@ -39,7 +39,7 @@ class HTraceArtist : public HUniversalArtist {
3939
#endif
4040
const char* pass_name = "TraceArtist"
4141
, OptimizingCompilerStats* stats = nullptr)
42-
: HUniversalArtist(method_info
42+
: HInjectionArtist(method_info
4343
#ifdef BUILD_MARSHMALLOW
4444
, is_in_ssa_form
4545
#endif
@@ -48,7 +48,7 @@ class HTraceArtist : public HUniversalArtist {
4848
// Nothing
4949
}
5050

51-
vector<Injection> ProvideInjections() const OVERRIDE;
51+
vector<shared_ptr<const Injection>> ProvideInjections() const OVERRIDE;
5252
};
5353

5454
#endif // ART_MODULES_TRACE_TRACE_ARTIST_H_

src/module.cc

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
*
2020
*/
2121

22-
#include <artist/filtering/method_name_filters.h>
22+
#include <artist/api/filtering/method_name_filters.h>
2323

2424
#include "module.h"
2525
#include "instrumentation_pass.h"
@@ -28,22 +28,35 @@
2828
using std::make_shared;
2929
using std::unique_ptr;
3030

31-
shared_ptr <HArtist> TraceModule::createPass(const MethodInfo &method_info) const {
32-
return make_shared<HTraceArtist>(method_info);
31+
using art::MethodNameBlacklist;
32+
using art::FilesystemHelper;
33+
34+
35+
HArtist *TraceModule::createPass(const MethodInfo &method_info) const {
36+
return new(method_info.GetGraph()->GetArena()) HTraceArtist(method_info);
3337
}
3438

3539
shared_ptr<const CodeLib> TraceModule::createCodeLib() const {
36-
return make_shared<TraceCodeLib>();
40+
return make_shared<TraceCodeLib>();
3741
}
3842

3943
// skip android support lib ui methods since they bloat up the log
40-
unique_ptr <Filter> TraceModule::getMethodFilter() const {
41-
const vector<const string> ui = {"android.support."};
42-
return unique_ptr<Filter>(new art::BlacklistFilter(ui));
44+
unique_ptr<Filter> TraceModule::getMethodFilter() const {
45+
const vector<const string> blackListDefinition = {
46+
"android.support.",
47+
};
48+
return unique_ptr<Filter>(new MethodNameBlacklist(blackListDefinition));
4349
}
4450

45-
// the class factories
51+
TraceModule::TraceModule(shared_ptr<const FilesystemHelper> fs) : Module(fs) {}
52+
4653

47-
extern "C" shared_ptr <art::Module> create() {
48-
return make_shared<TraceModule>();
54+
// the class factory
55+
56+
extern "C" shared_ptr <art::Module> create(shared_ptr<const FilesystemHelper> fshelper) {
57+
return make_shared<TraceModule>(fshelper);
4958
}
59+
60+
extern "C" art::ModuleId get_id() {
61+
return "saarland.cispa.artist.modules.trace";
62+
}

src/module.h

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,19 +22,21 @@
2222
#ifndef ART_MODULES_TRACE_TRACE_MODULE_H_
2323
#define ART_MODULES_TRACE_TRACE_MODULE_H_
2424

25-
#include <artist/modules/module.h>
25+
#include <artist/api/modules/module.h>
2626

2727
using art::Module;
2828
using art::HArtist;
2929
using art::MethodInfo;
3030
using art::CodeLib;
3131
using art::Filter;
32+
using art::FilesystemHelper;
3233

3334
class TraceModule : public Module {
34-
shared_ptr<HArtist> createPass(const MethodInfo& method_info) const OVERRIDE;
35-
shared_ptr<const CodeLib> createCodeLib() const OVERRIDE;
35+
HArtist* createPass(const MethodInfo& method_info) const OVERRIDE;
36+
shared_ptr<const CodeLib> createCodeLib() const OVERRIDE;
3637

37-
public:
38+
public:
39+
explicit TraceModule(shared_ptr<const FilesystemHelper> fs);
3840
unique_ptr<Filter> getMethodFilter() const OVERRIDE;
3941
};
4042

0 commit comments

Comments
 (0)