src/share/vm/shark/sharkContext.hpp

Print this page
rev 3850 : [mq]: shark.patch

*** 40,54 **** SharkContext(const char* name); private: llvm::Module* _module; - #if SHARK_LLVM_VERSION >= 27 public: - #else - private: - #endif llvm::Module* module() const { return _module; } // Get this thread's SharkContext --- 40,50 ----
*** 57,187 **** return *SharkCompiler::compiler()->context(); } // Module accessors public: - #if SHARK_LLVM_VERSION < 27 - llvm::ModuleProvider* module_provider() const { - return new llvm::ExistingModuleProvider(module()); - } - #endif void add_function(llvm::Function* function) const { module()->getFunctionList().push_back(function); } llvm::Constant* get_external(const char* name, ! const llvm::FunctionType* sig) { return module()->getOrInsertFunction(name, sig); } // Basic types private: ! const llvm::Type* _void_type; ! const llvm::IntegerType* _bit_type; ! const llvm::IntegerType* _jbyte_type; ! const llvm::IntegerType* _jshort_type; ! const llvm::IntegerType* _jint_type; ! const llvm::IntegerType* _jlong_type; ! const llvm::Type* _jfloat_type; ! const llvm::Type* _jdouble_type; public: ! const llvm::Type* void_type() const { return _void_type; } ! const llvm::IntegerType* bit_type() const { return _bit_type; } ! const llvm::IntegerType* jbyte_type() const { return _jbyte_type; } ! const llvm::IntegerType* jshort_type() const { return _jshort_type; } ! const llvm::IntegerType* jint_type() const { return _jint_type; } ! const llvm::IntegerType* jlong_type() const { return _jlong_type; } ! const llvm::Type* jfloat_type() const { return _jfloat_type; } ! const llvm::Type* jdouble_type() const { return _jdouble_type; } ! const llvm::IntegerType* intptr_type() const { return LP64_ONLY(jlong_type()) NOT_LP64(jint_type()); } // Compound types private: ! const llvm::PointerType* _itableOffsetEntry_type; ! const llvm::PointerType* _jniEnv_type; ! const llvm::PointerType* _jniHandleBlock_type; ! const llvm::PointerType* _klass_type; ! const llvm::PointerType* _Method*_type; ! const llvm::ArrayType* _monitor_type; ! const llvm::PointerType* _oop_type; ! const llvm::PointerType* _thread_type; ! const llvm::PointerType* _zeroStack_type; ! const llvm::FunctionType* _entry_point_type; ! const llvm::FunctionType* _osr_entry_point_type; public: ! const llvm::PointerType* itableOffsetEntry_type() const { return _itableOffsetEntry_type; } ! const llvm::PointerType* jniEnv_type() const { return _jniEnv_type; } ! const llvm::PointerType* jniHandleBlock_type() const { return _jniHandleBlock_type; } ! const llvm::PointerType* klass_type() const { return _klass_type; } ! const llvm::PointerType* Method*_type() const { ! return _Method*_type; } ! const llvm::ArrayType* monitor_type() const { return _monitor_type; } ! const llvm::PointerType* oop_type() const { return _oop_type; } ! const llvm::PointerType* thread_type() const { return _thread_type; } ! const llvm::PointerType* zeroStack_type() const { return _zeroStack_type; } ! const llvm::FunctionType* entry_point_type() const { return _entry_point_type; } ! const llvm::FunctionType* osr_entry_point_type() const { return _osr_entry_point_type; } // Mappings private: ! const llvm::Type* _to_stackType[T_CONFLICT]; ! const llvm::Type* _to_arrayType[T_CONFLICT]; private: ! const llvm::Type* map_type(const llvm::Type* const* table, BasicType type) const { assert(type >= 0 && type < T_CONFLICT, "unhandled type"); ! const llvm::Type* result = table[type]; assert(result != NULL, "unhandled type"); return result; } public: ! const llvm::Type* to_stackType(BasicType type) const { return map_type(_to_stackType, type); } ! const llvm::Type* to_arrayType(BasicType type) const { return map_type(_to_arrayType, type); } // Functions queued for freeing private: --- 53,182 ---- return *SharkCompiler::compiler()->context(); } // Module accessors public: void add_function(llvm::Function* function) const { module()->getFunctionList().push_back(function); } llvm::Constant* get_external(const char* name, ! llvm::FunctionType* sig) { return module()->getOrInsertFunction(name, sig); } // Basic types private: ! llvm::Type* _void_type; ! llvm::IntegerType* _bit_type; ! llvm::IntegerType* _jbyte_type; ! llvm::IntegerType* _jshort_type; ! llvm::IntegerType* _jint_type; ! llvm::IntegerType* _jlong_type; ! llvm::Type* _jfloat_type; ! llvm::Type* _jdouble_type; public: ! llvm::Type* void_type() const { return _void_type; } ! llvm::IntegerType* bit_type() const { return _bit_type; } ! llvm::IntegerType* jbyte_type() const { return _jbyte_type; } ! llvm::IntegerType* jshort_type() const { return _jshort_type; } ! llvm::IntegerType* jint_type() const { return _jint_type; } ! llvm::IntegerType* jlong_type() const { return _jlong_type; } ! llvm::Type* jfloat_type() const { return _jfloat_type; } ! llvm::Type* jdouble_type() const { return _jdouble_type; } ! llvm::IntegerType* intptr_type() const { return LP64_ONLY(jlong_type()) NOT_LP64(jint_type()); } // Compound types private: ! llvm::PointerType* _itableOffsetEntry_type; ! llvm::PointerType* _jniEnv_type; ! llvm::PointerType* _jniHandleBlock_type; ! llvm::PointerType* _Metadata_type; ! llvm::PointerType* _klass_type; ! llvm::PointerType* _Method_type; ! llvm::ArrayType* _monitor_type; ! llvm::PointerType* _oop_type; ! llvm::PointerType* _thread_type; ! llvm::PointerType* _zeroStack_type; ! llvm::FunctionType* _entry_point_type; ! llvm::FunctionType* _osr_entry_point_type; public: ! llvm::PointerType* itableOffsetEntry_type() const { return _itableOffsetEntry_type; } ! llvm::PointerType* jniEnv_type() const { return _jniEnv_type; } ! llvm::PointerType* jniHandleBlock_type() const { return _jniHandleBlock_type; } ! llvm::PointerType* Metadata_type() const { ! return _Metadata_type; ! } ! llvm::PointerType* klass_type() const { return _klass_type; } ! llvm::PointerType* Method_type() const { ! return _Method_type; } ! llvm::ArrayType* monitor_type() const { return _monitor_type; } ! llvm::PointerType* oop_type() const { return _oop_type; } ! llvm::PointerType* thread_type() const { return _thread_type; } ! llvm::PointerType* zeroStack_type() const { return _zeroStack_type; } ! llvm::FunctionType* entry_point_type() const { return _entry_point_type; } ! llvm::FunctionType* osr_entry_point_type() const { return _osr_entry_point_type; } // Mappings private: ! llvm::Type* _to_stackType[T_CONFLICT]; ! llvm::Type* _to_arrayType[T_CONFLICT]; private: ! llvm::Type* map_type(llvm::Type* const* table, BasicType type) const { assert(type >= 0 && type < T_CONFLICT, "unhandled type"); ! llvm::Type* result = table[type]; assert(result != NULL, "unhandled type"); return result; } public: ! llvm::Type* to_stackType(BasicType type) const { return map_type(_to_stackType, type); } ! llvm::Type* to_arrayType(BasicType type) const { return map_type(_to_arrayType, type); } // Functions queued for freeing private: