Sha256: 58a51931427945cf3df2f704a1ca848c5267c051582e6369f61a9796a3289c5f

Contents?: true

Size: 672 Bytes

Versions: 4

Compression:

Stored size: 672 Bytes

Contents

#ifndef JOHNSON_TRACEMONKEY_RUNTIME_H
#define JOHNSON_TRACEMONKEY_RUNTIME_H

#include "tracemonkey.h"

//#define LEAK_ROOT_NAMES

#define RAISE_JS_ERROR(rb_runtime, ex) \
  do {\
    JohnsonRuntime * _rt = NULL;\
    Data_Get_Struct(rb_runtime, JohnsonRuntime, _rt);\
    rb_funcall(CLASS_OF(rb_runtime), rb_intern("raise_js_exception"), 1,\
      convert_to_ruby(_rt, ex)); \
  } while(0)

typedef struct {
  JSObject* global;
  JSRuntime* js;

  JSHashTable *jsids; // jsid -> rbid
  JSHashTable *rbids; // rbid -> jsid
} JohnsonRuntime;

JSContext* johnson_get_current_context(JohnsonRuntime* runtime);
void init_Johnson_TraceMonkey_Runtime(VALUE tracemonkey);

#endif

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
smparkes-johnson-1.1.2.6 ext/tracemonkey/runtime.h
smparkes-johnson-1.1.2.5 ext/tracemonkey/runtime.h
smparkes-johnson-1.1.2.4 ext/tracemonkey/runtime.h
smparkes-johnson-1.1.2.3 ext/tracemonkey/runtime.h