Sha256: 4b6dae292ecd0eb659a7db49acfa9810a31a47a2280fb062bd1ccd9360c4b6cf

Contents?: true

Size: 535 Bytes

Versions: 33

Compression:

Stored size: 535 Bytes

Contents

#include <v8_ref.h>
#include "stdio.h"
using namespace v8;


v8_ref::v8_ref(Handle<void> object, VALUE ref) : handle(Persistent<void>::New(object)), references(ref) {

}

v8_ref::~v8_ref() {  
  handle.Dispose();
}

void v8_ref_mark(v8_ref* ref) {
  if (ref->references != 0) {
    rb_gc_mark(ref->references);
  }
}

void v8_ref_free(v8_ref* ref) {
  delete ref;
}

VALUE V8_Ref_Create(VALUE ruby_class, v8::Handle<void> handle, VALUE ref) {
  return Data_Wrap_Struct(ruby_class, v8_ref_mark, v8_ref_free, new v8_ref(handle, ref));
}

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
therubyracer-0.6.3 ext/v8/v8_ref.cpp
therubyracer-0.6.2 ext/v8/v8_ref.cpp
therubyracer-0.6.1 ext/v8/v8_ref.cpp
therubyracer-0.6.0 ext/v8/v8_ref.cpp
therubyracer-0.5.5 ext/v8/v8_ref.cpp
therubyracer-0.5.4 ext/v8/v8_ref.cpp
therubyracer-0.5.3 ext/v8/v8_ref.cpp
therubyracer-0.5.2-x86-darwin-10 ext/v8/v8_ref.cpp
therubyracer-0.5.2 ext/v8/v8_ref.cpp
therubyracer-0.5.1-x86-darwin-9 ext/v8/v8_ref.cpp
therubyracer-0.5.1-x86-darwin-10 ext/v8/v8_ref.cpp
therubyracer-0.5.1 ext/v8/v8_ref.cpp
therubyracer-0.5.0-x86-darwin-9 ext/v8/v8_ref.cpp
therubyracer-0.5.0-x86-linux ext/v8/v8_ref.cpp
therubyracer-0.5.0-x86_64-linux ext/v8/v8_ref.cpp
therubyracer-0.4.9-x86_64-linux ext/v8/v8_ref.cpp
therubyracer-0.5.0-x86-darwin-10 ext/v8/v8_ref.cpp
therubyracer-0.5.0 ext/v8/v8_ref.cpp
therubyracer-0.4.9-x86-linux ext/v8/v8_ref.cpp
therubyracer-0.4.9-x86-darwin-10 ext/v8/v8_ref.cpp