src: reading/owner/onread/onconnection for tcp
authorJackson Tian <shyvo1987@gmail.com>
Sat, 23 Aug 2014 14:48:13 +0000 (22:48 +0800)
committerFedor Indutny <fedor@indutny.com>
Tue, 2 Sep 2014 12:20:56 +0000 (16:20 +0400)
Initialize fields to avoid Hidden Class creation in runtime.

Reviewed-By: Fedor Indutny <fedor@indutny.com>
src/tcp_wrap.cc

index ecaffef..702dd4d 100644 (file)
@@ -50,6 +50,7 @@ using v8::PropertyAttribute;
 using v8::String;
 using v8::Undefined;
 using v8::Value;
+using v8::Boolean;
 
 typedef class ReqWrap<uv_connect_t> ConnectWrap;
 
@@ -83,6 +84,18 @@ void TCPWrap::Initialize(Handle<Object> target,
                                      v8::DEFAULT,
                                      attributes);
 
+  // Init properties
+  t->InstanceTemplate()->Set(String::NewFromUtf8(env->isolate(), "reading"),
+                             Boolean::New(env->isolate(), false));
+  t->InstanceTemplate()->Set(String::NewFromUtf8(env->isolate(), "owner"),
+                             Null(env->isolate()));
+  t->InstanceTemplate()->Set(String::NewFromUtf8(env->isolate(), "onread"),
+                             Null(env->isolate()));
+  t->InstanceTemplate()->Set(String::NewFromUtf8(env->isolate(),
+                                                 "onconnection"),
+                             Null(env->isolate()));
+
+
   NODE_SET_PROTOTYPE_METHOD(t, "close", HandleWrap::Close);
 
   NODE_SET_PROTOTYPE_METHOD(t, "ref", HandleWrap::Ref);