src/share/vm/runtime/icache.hpp
Print this page
*** 1,7 ****
/*
! * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
--- 1,7 ----
/*
! * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
*** 20,29 ****
--- 20,35 ----
* or visit www.oracle.com if you need additional information or have any
* questions.
*
*/
+ #ifndef SHARE_VM_RUNTIME_ICACHE_HPP
+ #define SHARE_VM_RUNTIME_ICACHE_HPP
+
+ #include "memory/allocation.hpp"
+ #include "runtime/stubCodeGenerator.hpp"
+
// Interface for updating the instruction cache. Whenever the VM modifies
// code, part of the processor instruction cache potentially has to be flushed.
// Default implementation is in icache.cpp, and can be hidden per-platform.
// Most platforms must provide only ICacheStubGenerator::generate_icache_flush().
*** 60,70 ****
// Must be included before the definition of ICacheStubGenerator
// because ICacheStubGenerator uses ICache definitions.
! #include "incls/_icache_pd.hpp.incl"
class ICacheStubGenerator : public StubCodeGenerator {
public:
ICacheStubGenerator(CodeBuffer *c) : StubCodeGenerator(c) {}
--- 66,85 ----
// Must be included before the definition of ICacheStubGenerator
// because ICacheStubGenerator uses ICache definitions.
! #ifdef TARGET_ARCH_x86
! # include "icache_x86.hpp"
! #endif
! #ifdef TARGET_ARCH_sparc
! # include "icache_sparc.hpp"
! #endif
! #ifdef TARGET_ARCH_zero
! # include "icache_zero.hpp"
! #endif
!
class ICacheStubGenerator : public StubCodeGenerator {
public:
ICacheStubGenerator(CodeBuffer *c) : StubCodeGenerator(c) {}
*** 111,115 ****
--- 126,132 ----
// flush_icache_stub to the address of the stub it generates before
// the StubCodeMark destructor is invoked.
void generate_icache_flush(ICache::flush_icache_stub_t* flush_icache_stub);
};
+
+ #endif // SHARE_VM_RUNTIME_ICACHE_HPP