26#ifndef ROUTER_SRC_JIT_EXECUTOR_SRC_JIT_EXECUTOR_COMMON_CONTEXT_H_
27#define ROUTER_SRC_JIT_EXECUTOR_SRC_JIT_EXECUTOR_COMMON_CONTEXT_H_
48 CommonContext(
const std::shared_ptr<shcore::polyglot::IFile_system> &fs,
49 const std::vector<std::string> &module_files,
51 const std::vector<std::string> &isolate_args);
54 void initialize(
const std::vector<std::string> &isolate_args)
override;
60 ?
"Got fatal error initializing GraalVM"
64 const std::shared_ptr<shcore::polyglot::IFile_system> &
file_system()
const {
72 void flush()
override;
73 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:46
void fatal_error() override
Definition: jit_executor_common_context.cc:67
std::string m_fatal_error_description
Definition: jit_executor_common_context.h:107
void life_cycle_thread()
When persisting objects in GraalVM (creating references so they are available across threads/contexts...
Definition: jit_executor_common_context.cc:165
std::mutex m_mutex
Definition: jit_executor_common_context.h:95
std::string error() const
Definition: jit_executor_common_context.h:58
std::vector< std::string > m_isolate_args
Definition: jit_executor_common_context.h:108
std::mutex m_finish_mutex
Definition: jit_executor_common_context.h:101
void log(const char *bytes, size_t length) override
Definition: jit_executor_common_context.cc:80
bool m_fatal_error
Definition: jit_executor_common_context.h:106
std::unique_ptr< std::thread > m_life_cycle_thread
Definition: jit_executor_common_context.h:94
std::vector< std::string > m_module_files
Definition: jit_executor_common_context.h:90
bool m_terminated
Definition: jit_executor_common_context.h:99
bool start()
Definition: jit_executor_common_context.cc:143
std::shared_ptr< JavaScript > m_base_context
Definition: jit_executor_common_context.h:88
const std::shared_ptr< shcore::polyglot::IFile_system > & file_system() const
Definition: jit_executor_common_context.h:64
bool got_fatal_error() const
Definition: jit_executor_common_context.h:57
CommonContext(const std::shared_ptr< shcore::polyglot::IFile_system > &fs, const std::vector< std::string > &module_files, const shcore::Dictionary_t &globals, const std::vector< std::string > &isolate_args)
Definition: jit_executor_common_context.cc:43
std::condition_variable m_finish_condition
Definition: jit_executor_common_context.h:102
const shcore::Dictionary_t & globals() const
Definition: jit_executor_common_context.h:67
std::shared_ptr< shcore::polyglot::IFile_system > m_file_system
Definition: jit_executor_common_context.h:89
static bool m_global_fatal_error
Definition: jit_executor_common_context.h:105
std::condition_variable m_init_condition
Definition: jit_executor_common_context.h:96
std::vector< shcore::polyglot::Store > m_cached_sources
Definition: jit_executor_common_context.h:91
shcore::Dictionary_t m_globals
Definition: jit_executor_common_context.h:92
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
shcore::polyglot::Garbage_collector::Config gc_config() override
Definition: jit_executor_common_context.h:75
void initialize(const std::vector< std::string > &isolate_args) override
Definition: jit_executor_common_context.cc:128
void finalize() override
Definition: jit_executor_common_context.cc:198
bool m_initialized
Definition: jit_executor_common_context.h:98
Common context for GraalVM Languages.
Definition: polyglot_common_context.h:57
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