src/share/vm/runtime/icache.hpp

Print this page

        

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2004, Oracle and/or its affiliates. All rights reserved.
+ * 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,10 +20,16 @@
  * 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,11 +66,20 @@
 
 
 // Must be included before the definition of ICacheStubGenerator
 // because ICacheStubGenerator uses ICache definitions.
 
-#include "incls/_icache_pd.hpp.incl"
+#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,5 +126,7 @@
   // 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