mutable
A Database System for Research and Fast Prototyping
Loading...
Searching...
No Matches
Namespaces | Macros | Typedefs
V8Engine.cpp File Reference
#include "backend/V8Engine.hpp"
#include "backend/Interpreter.hpp"
#include "backend/WasmOperator.hpp"
#include "backend/WasmUtil.hpp"
#include "mutable/util/macro.hpp"
#include "storage/Store.hpp"
#include <chrono>
#include <cstdint>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <fstream>
#include <libplatform/libplatform.h>
#include <mutable/catalog/Catalog.hpp>
#include <mutable/IR/PhysicalOptimizer.hpp>
#include <mutable/IR/Tuple.hpp>
#include <mutable/Options.hpp>
#include <mutable/storage/DataLayoutFactory.hpp>
#include <mutable/storage/Store.hpp>
#include <mutable/util/DotTool.hpp>
#include <mutable/util/enum_ops.hpp>
#include <mutable/util/memory.hpp>
#include <mutable/util/Timer.hpp>
#include <sstream>
#include <stdexcept>
#include <string_view>
#include <unordered_set>
#include "backend/WasmMacro.hpp"
Include dependency graph for V8Engine.cpp:

Go to the source code of this file.

Namespaces

namespace  options
 

‍command-line options for the HeuristicSearchPlanEnumerator


 

Macros

#define CREATE_TEMPLATES(IDXTYPE, KEYTYPE, V8TYPE, IDXNAME, SUFFIX)
 
#define EMIT_FUNC_IMPORTS(KEYTYPE, IDXNAME, SUFFIX)
 
#define ADD_FUNC(FUNC, NAME)
 
#define ADD_FUNC_(FUNC)   ADD_FUNC(FUNC, #FUNC)
 
#define ADD_FUNCS(IDXTYPE, KEYTYPE, V8TYPE, IDXNAME, SUFFIX)
 

Typedefs

using args_t = v8::Local< v8::Value >[]
 

Macro Definition Documentation

◆ ADD_FUNC

#define ADD_FUNC (   FUNC,
  NAME 
)
Value:
{ \
auto func = v8::Function::New(Ctx, (FUNC)).ToLocalChecked(); \
env->Set(Ctx, mkstr(isolate, NAME), func).Check(); \
}
v8::Local< v8::String > mkstr(v8::Isolate &isolate, const std::string &str)
Definition: V8Engine.cpp:1041

◆ ADD_FUNC_

#define ADD_FUNC_ (   FUNC)    ADD_FUNC(FUNC, #FUNC)

◆ ADD_FUNCS

#define ADD_FUNCS (   IDXTYPE,
  KEYTYPE,
  V8TYPE,
  IDXNAME,
  SUFFIX 
)
Value:
ADD_FUNC(index_seek<M_COMMA(IDXTYPE<KEYTYPE>) M_COMMA(V8TYPE) true>, M_STR(idx_lower_bound_##IDXNAME##_##SUFFIX)) \
ADD_FUNC(index_seek<M_COMMA(IDXTYPE<KEYTYPE>) M_COMMA(V8TYPE) false>, M_STR(idx_upper_bound_##IDXNAME##_##SUFFIX)) \
ADD_FUNC(index_sequential_scan<IDXTYPE<KEYTYPE>>, M_STR(idx_scan_##IDXNAME##_##SUFFIX))
#define ADD_FUNC(FUNC, NAME)
#define M_COMMA(X)
Definition: macro.hpp:23
#define M_STR(X)
Definition: macro.hpp:36
void index_sequential_scan(const v8::FunctionCallbackInfo< v8::Value > &info)
Definition: V8Engine.cpp:565
void index_seek(const v8::FunctionCallbackInfo< v8::Value > &info)
Definition: V8Engine.cpp:535

◆ CREATE_TEMPLATES

#define CREATE_TEMPLATES (   IDXTYPE,
  KEYTYPE,
  V8TYPE,
  IDXNAME,
  SUFFIX 
)
Value:
global->Set(isolate_, M_STR(idx_lower_bound_##IDXNAME##_##SUFFIX), v8::FunctionTemplate::New(isolate_, index_seek<IDXTYPE<KEYTYPE>, V8TYPE, true>)); \
global->Set(isolate_, M_STR(idx_upper_bound_##IDXNAME##_##SUFFIX), v8::FunctionTemplate::New(isolate_, index_seek<IDXTYPE<KEYTYPE>, V8TYPE, false>)); \
global->Set(isolate_, M_STR(idx_scan_##IDXNAME##_##SUFFIX), v8::FunctionTemplate::New(isolate_, index_sequential_scan<IDXTYPE<KEYTYPE>>))

◆ EMIT_FUNC_IMPORTS

#define EMIT_FUNC_IMPORTS (   KEYTYPE,
  IDXNAME,
  SUFFIX 
)
Value:
Module::Get().emit_function_import<uint32_t(std::size_t,KEYTYPE)>(M_STR(idx_lower_bound_##IDXNAME##_##SUFFIX)); \
Module::Get().emit_function_import<uint32_t(std::size_t,KEYTYPE)>(M_STR(idx_upper_bound_##IDXNAME##_##SUFFIX)); \
Module::Get().emit_function_import<void(std::size_t,uint32_t,void*,uint32_t)>(M_STR(idx_scan_##IDXNAME##_##SUFFIX))
static Module & Get()
Definition: WasmDSL.hpp:714
void emit_function_import(const char *name)
Definition: WasmDSL.hpp:879

Typedef Documentation

◆ args_t

using args_t = v8::Local<v8::Value>[]

Definition at line 39 of file V8Engine.cpp.