noop_compiler_callbacks.h revision a59dd80f9f48cb750d329d4d4af2d99d72b484d1
1c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom/*
2c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom * Copyright (C) 2013 The Android Open Source Project
3c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom *
4c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom * Licensed under the Apache License, Version 2.0 (the "License");
5c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom * you may not use this file except in compliance with the License.
6c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom * You may obtain a copy of the License at
7c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom *
8c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom *      http://www.apache.org/licenses/LICENSE-2.0
9c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom *
10c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom * Unless required by applicable law or agreed to in writing, software
11c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom * distributed under the License is distributed on an "AS IS" BASIS,
12c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom * See the License for the specific language governing permissions and
14c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom * limitations under the License.
15c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom */
16c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom
17c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom#ifndef ART_RUNTIME_NOOP_COMPILER_CALLBACKS_H_
18c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom#define ART_RUNTIME_NOOP_COMPILER_CALLBACKS_H_
19c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom
20c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom#include "compiler_callbacks.h"
21c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom
22c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstromnamespace art {
23c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom
24c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstromclass NoopCompilerCallbacks FINAL : public CompilerCallbacks {
25c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom public:
26c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom  NoopCompilerCallbacks() {}
27c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom  ~NoopCompilerCallbacks() {}
28e63db27db913f1a88e2095a1ee8239b2bb9124e8Ian Rogers
29c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom  bool MethodVerified(verifier::MethodVerifier* verifier) OVERRIDE {
30c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom    return true;
31c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom  }
32e63db27db913f1a88e2095a1ee8239b2bb9124e8Ian Rogers
33c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom  void ClassRejected(ClassReference ref) OVERRIDE {}
34e63db27db913f1a88e2095a1ee8239b2bb9124e8Ian Rogers
35a59dd80f9f48cb750d329d4d4af2d99d72b484d1Alex Light  // This is only used by compilers which need to be able to run without relocation even when it
36a59dd80f9f48cb750d329d4d4af2d99d72b484d1Alex Light  // would normally be enabled. For example the patchoat executable, and dex2oat --image, both need
37a59dd80f9f48cb750d329d4d4af2d99d72b484d1Alex Light  // to disable the relocation since both deal with writing out the images directly.
38a59dd80f9f48cb750d329d4d4af2d99d72b484d1Alex Light  bool IsRelocationPossible() OVERRIDE { return false; }
39a59dd80f9f48cb750d329d4d4af2d99d72b484d1Alex Light
40e63db27db913f1a88e2095a1ee8239b2bb9124e8Ian Rogers private:
41e63db27db913f1a88e2095a1ee8239b2bb9124e8Ian Rogers  DISALLOW_COPY_AND_ASSIGN(NoopCompilerCallbacks);
42c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom};
43c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom
44c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom}  // namespace art
45c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom
46c0a1b18ac71ec0ff3ec0cca3cc8db9eb74e50690Brian Carlstrom#endif  // ART_RUNTIME_NOOP_COMPILER_CALLBACKS_H_
47