Sha256: f5f4da58d745a0e8c0ea3c5db89d1fd036dc15055a479d8c9a65b8697e29e5a7

Contents?: true

Size: 677 Bytes

Versions: 5

Compression:

Stored size: 677 Bytes

Contents

#ifndef JOHNSON_SPIDERMONKEY_RUNTIME_H
#define JOHNSON_SPIDERMONKEY_RUNTIME_H

#include "spidermonkey.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_SpiderMonkey_Runtime(VALUE spidermonkey);

#endif

Version data entries

5 entries across 5 versions & 2 rubygems

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