26#ifndef ROUTER_SRC_JIT_EXECUTOR_SRC_JIT_EXECUTOR_COMMON_CONTEXT_H_
27#define ROUTER_SRC_JIT_EXECUTOR_SRC_JIT_EXECUTOR_COMMON_CONTEXT_H_
50 CommonContext(
const std::shared_ptr<shcore::polyglot::IFile_system> &fs,
51 const std::vector<std::string> &module_files,
62 ?
"Got fatal error initializing GraalVM"
66 const std::shared_ptr<shcore::polyglot::IFile_system> &
file_system()
const {
74 void flush()
override;
75 void log(
const char *bytes,
size_t length)
override;
Specialization of the Polyglot_common_context to provide MRS specific logging functions as well as th...
Definition: jit_executor_common_context.h:48
void fatal_error() override
Definition: jit_executor_common_context.cc:67
std::string m_fatal_error_description
Definition: jit_executor_common_context.h:109
void life_cycle_thread()
When persisting objects in GraalVM (creating references so they are available across threads/contexts...
Definition: jit_executor_common_context.cc:166
std::mutex m_mutex
Definition: jit_executor_common_context.h:97
std::string error() const
Definition: jit_executor_common_context.h:60
std::mutex m_finish_mutex
Definition: jit_executor_common_context.h:103
void log(const char *bytes, size_t length) override
Definition: jit_executor_common_context.cc:80
std::unique_ptr< std::thread > m_life_cycle_thread
Definition: jit_executor_common_context.h:96
std::atomic_bool m_fatal_error
Definition: jit_executor_common_context.h:108
std::vector< std::string > m_module_files
Definition: jit_executor_common_context.h:92
CommonContext(const std::shared_ptr< shcore::polyglot::IFile_system > &fs, const std::vector< std::string > &module_files, const shcore::Dictionary_t &globals, const shcore::polyglot::IsolateArgs &isolate_args)
Definition: jit_executor_common_context.cc:43
bool m_terminated
Definition: jit_executor_common_context.h:101
bool start()
Definition: jit_executor_common_context.cc:144
std::shared_ptr< JavaScript > m_base_context
Definition: jit_executor_common_context.h:90
const std::shared_ptr< shcore::polyglot::IFile_system > & file_system() const
Definition: jit_executor_common_context.h:66
bool got_fatal_error() const
Definition: jit_executor_common_context.h:59
std::condition_variable m_finish_condition
Definition: jit_executor_common_context.h:104
const shcore::Dictionary_t & globals() const
Definition: jit_executor_common_context.h:69
std::shared_ptr< shcore::polyglot::IFile_system > m_file_system
Definition: jit_executor_common_context.h:91
static bool m_global_fatal_error
Definition: jit_executor_common_context.h:107
std::condition_variable m_init_condition
Definition: jit_executor_common_context.h:98
std::vector< shcore::polyglot::Store > m_cached_sources
Definition: jit_executor_common_context.h:93
shcore::Dictionary_t m_globals
Definition: jit_executor_common_context.h:94
void flush() override
Definition: jit_executor_common_context.cc:78
poly_engine create_engine() override
Creates the shared engine for the different contexts created with this handler.
Definition: jit_executor_common_context.cc:84
~CommonContext() override
Definition: jit_executor_common_context.cc:53
void initialize(const shcore::polyglot::IsolateArgs &isolate_args) override
Definition: jit_executor_common_context.cc:128
shcore::polyglot::Garbage_collector::Config gc_config() override
Definition: jit_executor_common_context.h:77
shcore::polyglot::IsolateArgs m_isolate_args
Definition: jit_executor_common_context.h:110
void finalize() override
Definition: jit_executor_common_context.cc:199
bool m_initialized
Definition: jit_executor_common_context.h:100
Common context for GraalVM Languages.
Definition: polyglot_common_context.h:65
bool length(const dd::Spatial_reference_system *srs, const Geometry *g1, double *length, bool *null) noexcept
Computes the length of linestrings and multilinestrings.
Definition: length.cc:76
Definition: jit_executor_callbacks.h:36
Value::Map_type_ref Dictionary_t
Definition: jit_executor_value.h:430
Definition: polyglot_garbage_collector.h:81
Definition: polyglot_common_context.h:42