Skip to content
This repository

Jul 06, 2013

  1. Ben Noordhuis

    lib, src: upgrade after v8 api change

    This is a big commit that touches just about every file in the src/
    directory. The V8 API has changed in significant ways. The most
    important changes are:
    
    * Binding functions take a const v8::FunctionCallbackInfo<T>& argument
      rather than a const v8::Arguments& argument.
    
    * Binding functions return void rather than v8::Handle<v8::Value>. The
      return value is returned with the args.GetReturnValue().Set() family
      of functions.
    
    * v8::Persistent<T> no longer derives from v8::Handle<T> and no longer
      allows you to directly dereference the object that the persistent
      handle points to. This means that the common pattern of caching
      oft-used JS values in a persistent handle no longer quite works,
      you first need to reconstruct a v8::Local<T> from the persistent
      handle with the Local<T>::New(isolate, persistent) factory method.
    
    A handful of (internal) convenience classes and functions have been
    added to make dealing with the new API a little easier.
    
    The most visible one is node::Cached<T>, which wraps a v8::Persistent<T>
    with some template sugar. It can hold arbitrary types but so far it's
    exclusively used for v8::Strings (which was by far the most commonly
    cached handle type.)
    bnoordhuis authored

Jun 11, 2013

  1. Ben Noordhuis

    src: upgrade after v8 api change

    The prototype of v8::Persistent<T>::MakeWeak() has changed. Update the
    code in src/ to follow suit.
    bnoordhuis authored

Jun 07, 2013

  1. Ben Noordhuis

    src: unexport node_isolate

    Commit 0bba590 accidentally (or maybe erroneously) added node_isolate
    to src/node.h and src/node_object_wrap.h.
    
    Undo that, said variable is not for public consumption. Add-on authors
    should use v8::Isolate::GetCurrent() instead.
    
    I missed that while reviewing. Mea culpa.
    
    Fixes #5639.
    bnoordhuis authored

Apr 12, 2013

  1. Fedor Indutny

    Merge branch 'v0.10'

    Conflicts:
    	ChangeLog
    	deps/uv/src/version.c
    	src/node.h
    	src/node_crypto.cc
    	src/node_crypto_bio.cc
    	src/node_crypto_bio.h
    	src/node_object_wrap.h
    	src/node_version.h
    indutny authored

Apr 10, 2013

  1. Trevor Norris

    src: add node_isolate to remaining scopes

    trevnorris authored bnoordhuis committed
  2. Ben Noordhuis

    src: don't SetInternalField() in ObjectWrap dtor

    Call SetPointerInInternalField(0, NULL) rather than
    SetInternalField(0, Undefined()).
    
    Fixes the following spurious NULL pointer dereference in debug builds:
    
      #0  0x03ad2821 in v8::internal::FixedArrayBase::length ()
      #1  0x03ad1dfc in v8::internal::FixedArray::get ()
      #2  0x03ae05dd in v8::internal::Context::global_object ()
      #3  0x03b6b87d in v8::internal::Context::builtins ()
      #4  0x03ae1871 in v8::internal::Isolate::js_builtins_object ()
      #5  0x03ab4fab in v8::CallV8HeapFunction ()
      #6  0x03ab4d4a in v8::Value::Equals ()
      #7  0x03b4f38b in CheckEqualsHelper ()
      #8  0x03ac0f4b in v8::Object::SetInternalField ()
      #9  0x06a99ddd in node::ObjectWrap::~ObjectWrap ()
      #10 0x06a8b051 in node::Buffer::~Buffer ()
      #11 0x06a8afbb in node::Buffer::~Buffer ()
      #12 0x06a8af5e in node::Buffer::~Buffer ()
      #13 0x06a9e569 in node::ObjectWrap::WeakCallback ()
    bnoordhuis authored

Mar 20, 2013

  1. Trevor Norris

    bindings: update api

    All compile time warnings about using deprecated APIs have been
    suppressed by updating node's API. Though there are still many function
    calls that can accept Isolate, and still need to be updated.
    
    node_isolate had to be added as an extern variable in node.h and
    node_object_wrap.h
    
    Also a couple small fixes for Error handling.
    
    Before v8 3.16.6 the error stack message was lazily written when it was
    needed, which allowed you to change the message after instantiation.
    Then the stack would be written with the new message the first time it
    was accessed. Though that has changed. Now it creates the stack message
    on instantiation. So setting a different message afterwards won't be
    displayed.
    
    This is not a complete fix for the problem. Getting error without any
    message isn't very useful.
    trevnorris authored bnoordhuis committed

Feb 25, 2013

  1. Ben Noordhuis

    src, test: downgrade to v8 3.14 api

    bnoordhuis authored

Jan 04, 2013

  1. Fedor Indutny

    object_wrap: add missing HandleScope

    by Sven Panne's suggestion, see [0] for details.
    
    [0]: https://code.google.com/p/v8/issues/detail?id=2468
    indutny authored

Jan 02, 2013

  1. Fedor Indutny

    bindings: update to new v8 apis

    GetPointerFromInternalField() is deprecated now, we should use
    GetAlignedPointerFromInternalField().
    indutny authored

Aug 20, 2012

  1. Bert Belder

    unix: don't explicitly instantiate v8::Persistent<x> templates

    These explicit instantiations were added to make MSVC happy. It turns
    out that some older versions of gcc and llvm now complain about duplicate
    symbols, so we instantiate these templates only when MSVC is used.
    piscisaureus authored

Aug 16, 2012

  1. Bert Belder

    windows: avoid MSVC warnings about templates not having a dll interface

    piscisaureus authored

Mar 09, 2012

  1. Ben Noordhuis

    core: use proper #include directives

    bnoordhuis authored

Nov 17, 2011

  1. ry

    Fixes #2140. Fix illumos build.

    ry authored

Nov 16, 2011

  1. Bert Belder

    Windows: make Buffer and ObjectWrap available to compiled extensions

    Closes GH-2036
    piscisaureus authored

Sep 05, 2011

  1. ry

    ObjectWraps should be MarkIndependent

    ry authored

Mar 15, 2011

  1. ry

    Update copyright headers

    ry authored

Oct 04, 2010

  1. ry

    ClearWeak on ObjectWraps. I /think/ this is the correct semantics

    ry authored

Sep 13, 2010

  1. ry

    Fix style in node_object_wrap.h

    ry authored

Sep 09, 2010

  1. ry

    Use SetPointerInInternalField

    ry authored

Jun 04, 2010

  1. ry

    Allow ObjectWrap destructors before Wrap()

    ry authored

May 24, 2010

  1. ry

    Create a public Buffer constructor for use in addons.

    ry authored

Jan 28, 2010

  1. ry

    ObjectWrap fixed - buffers working!

    Hot bug fix from net2 branch.
    ry authored

Dec 07, 2009

  1. ry

    Attach/Detach -> Ref/Unref

    ry authored

Oct 27, 2009

  1. ry

    Prefix all source files with node_

    ry authored
Something went wrong with that request. Please try again.