Skip to content
This repository was archived by the owner on Dec 4, 2023. It is now read-only.

Commit e0852e8

Browse files
committed
make compatible with v8 3.15.11
1 parent 4c25753 commit e0852e8

5 files changed

Lines changed: 14 additions & 13 deletions

File tree

ext/v8/backref.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ namespace rr {
3232
}
3333

3434
v8::Handle<v8::Value> Backref::toExternal() {
35-
v8::Local<v8::Value> wrapper = v8::External::Wrap(this);
35+
v8::Local<v8::Value> wrapper = v8::External::New(this);
3636
v8::Persistent<v8::Value>::New(wrapper).MakeWeak(this, &release);
3737
return wrapper;
3838
}
@@ -42,4 +42,4 @@ namespace rr {
4242
Backref* backref = (Backref*)data;
4343
delete backref;
4444
}
45-
}
45+
}

ext/v8/context.cc

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@ void Context::Init() {
1717
defineMethod("UseDefaultSecurityToken", &UseDefaultSecurityToken).
1818
defineMethod("GetSecurityToken", &GetSecurityToken).
1919
defineMethod("HasOutOfMemoryException", &HasOutOfMemoryException).
20-
defineMethod("SetData", &SetData).
21-
defineMethod("GetData", &GetData).
20+
defineMethod("SetEmbedderData", &SetEmbedderData).
21+
defineMethod("GetEmbedderData", &GetEmbedderData).
2222
defineMethod("AllowCodeGenerationFromStrings", &AllowCodeGenerationFromStrings).
2323
defineMethod("IsCodeGenerationFromStringsAllowed", &IsCodeGenerationFromStringsAllowed).
2424
defineMethod("Enter", &Enter).
@@ -77,12 +77,12 @@ VALUE Context::InContext(VALUE self) {
7777
return Bool(v8::Context::InContext());
7878
}
7979

80-
VALUE Context::SetData(VALUE self, VALUE data) {
81-
Void(Context(self)->SetData(String(data)));
80+
VALUE Context::SetEmbedderData(VALUE self, VALUE index, VALUE data) {
81+
Void(Context(self)->SetEmbedderData(NUM2INT(index), Value(data)));
8282
}
8383

84-
VALUE Context::GetData(VALUE self) {
85-
return Value(Context(self)->GetData());
84+
VALUE Context::GetEmbedderData(VALUE self, VALUE index) {
85+
Void(Context(self)->GetEmbedderData(NUM2INT(index)));
8686
}
8787

8888
VALUE Context::AllowCodeGenerationFromStrings(VALUE self, VALUE allow) {

ext/v8/object.cc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,8 @@ Object::operator VALUE() {
144144
backref = new Backref(value);
145145
handle->SetHiddenValue(key, backref->toExternal());
146146
} else {
147-
backref = (Backref*)v8::External::Unwrap(external);
147+
v8::Local<v8::External> wrapper = v8::External::Cast(*external);
148+
backref = (Backref*)wrapper->Value();
148149
value = backref->get();
149150
if (!RTEST(value)) {
150151
value = downcast();
@@ -331,4 +332,4 @@ VALUE Object::CallAsConstructor(VALUE self, VALUE argv) {
331332
return Value(Object(self)->CallAsConstructor(RARRAY_LENINT(argv), Value::array<Value>(argv)));
332333
}
333334

334-
}
335+
}

ext/v8/rr.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -319,8 +319,8 @@ class Context : public Ref<v8::Context> {
319319
static VALUE GetSecurityToken(VALUE self);
320320
static VALUE HasOutOfMemoryException(VALUE self);
321321
static VALUE InContext(VALUE self);
322-
static VALUE SetData(VALUE self, VALUE data);
323-
static VALUE GetData(VALUE self);
322+
static VALUE SetEmbedderData(VALUE self, VALUE index, VALUE data);
323+
static VALUE GetEmbedderData(VALUE self, VALUE index);
324324
static VALUE AllowCodeGenerationFromStrings(VALUE self, VALUE allow);
325325
static VALUE IsCodeGenerationFromStringsAllowed(VALUE self);
326326

therubyracer.gemspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,5 +17,5 @@ Gem::Specification.new do |gem|
1717
gem.version = V8::VERSION
1818

1919
gem.add_dependency 'ref'
20-
gem.add_dependency 'libv8', '~> 3.11.8.5'
20+
gem.add_dependency 'libv8', '~> 3.15.11.0'
2121
end

0 commit comments

Comments
 (0)