mirror of
https://github.com/nodejs/node.git
synced 2026-11-09 15:11:11 -05:00
src: update to v8 3.24 APIs
This commit is contained in:
1 parent
1c7bf245dc
commit
ce04c726a3
37 files changed
+437
-373
No files matched your search
+14
-13
@@ -36,6 +36,7 @@
|
||||
|
||||
namespace node {
|
||||
|
||||
using v8::EscapableHandleScope;
|
||||
using v8::Handle;
|
||||
using v8::HandleScope;
|
||||
using v8::Isolate;
|
||||
@@ -66,35 +67,35 @@ class ExternString: public ResourceType {
|
||||
static Local<String> NewFromCopy(Isolate* isolate,
|
||||
const TypeName* data,
|
||||
size_t length) {
|
||||
HandleScope scope(isolate);
|
||||
EscapableHandleScope scope(isolate);
|
||||
|
||||
if (length == 0)
|
||||
return scope.Close(String::Empty(isolate));
|
||||
return scope.Escape(String::Empty(isolate));
|
||||
|
||||
TypeName* new_data = new TypeName[length];
|
||||
memcpy(new_data, data, length * sizeof(*new_data));
|
||||
|
||||
return scope.Close(ExternString<ResourceType, TypeName>::New(isolate,
|
||||
new_data,
|
||||
length));
|
||||
return scope.Escape(ExternString<ResourceType, TypeName>::New(isolate,
|
||||
new_data,
|
||||
length));
|
||||
}
|
||||
|
||||
// uses "data" for external resource, and will be free'd on gc
|
||||
static Local<String> New(Isolate* isolate,
|
||||
const TypeName* data,
|
||||
size_t length) {
|
||||
HandleScope scope(isolate);
|
||||
EscapableHandleScope scope(isolate);
|
||||
|
||||
if (length == 0)
|
||||
return scope.Close(String::Empty(isolate));
|
||||
return scope.Escape(String::Empty(isolate));
|
||||
|
||||
ExternString* h_str = new ExternString<ResourceType, TypeName>(isolate,
|
||||
data,
|
||||
length);
|
||||
Local<String> str = String::NewExternal(h_str);
|
||||
Local<String> str = String::NewExternal(isolate, h_str);
|
||||
isolate->AdjustAmountOfExternalAllocatedMemory(length);
|
||||
|
||||
return scope.Close(str);
|
||||
return scope.Escape(str);
|
||||
}
|
||||
|
||||
inline Isolate* isolate() const { return isolate_; }
|
||||
@@ -676,16 +677,16 @@ Local<Value> StringBytes::Encode(Isolate* isolate,
|
||||
const char* buf,
|
||||
size_t buflen,
|
||||
enum encoding encoding) {
|
||||
HandleScope scope(isolate);
|
||||
EscapableHandleScope scope(isolate);
|
||||
|
||||
assert(buflen <= Buffer::kMaxLength);
|
||||
if (!buflen && encoding != BUFFER)
|
||||
return scope.Close(String::Empty(isolate));
|
||||
return scope.Escape(String::Empty(isolate));
|
||||
|
||||
Local<String> val;
|
||||
switch (encoding) {
|
||||
case BUFFER:
|
||||
return scope.Close(Buffer::New(buf, buflen));
|
||||
return scope.Escape(Buffer::New(buf, buflen));
|
||||
|
||||
case ASCII:
|
||||
if (contains_non_ascii(buf, buflen)) {
|
||||
@@ -767,7 +768,7 @@ Local<Value> StringBytes::Encode(Isolate* isolate,
|
||||
break;
|
||||
}
|
||||
|
||||
return scope.Close(val);
|
||||
return scope.Escape(val);
|
||||
}
|
||||
|
||||
} // namespace node
|
||||
Reference in new issue
Block a user