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