The reasoning behind this change is that in the future we'll have
FunctionTemplates that can be called through accessors without even
allocating the JSFunction. Registering the last called value isn't possible
in that case...

Perhaps rather than fully getting rid of the parameter we should change the
API to pass undefined if there is no closure. In that case the
FunctionTemplate would need to be instantiated manually through the API to
get to the callee.

Wdyt Enrico?
Toon

On Thu, Dec 10, 2015, 20:59 Alex Kodat <[email protected]> wrote:

> Sorry if this would have been more appropriate on v8-dev but just
> downloaded the latest and greatest 4.9 commit and discovered that Callee is
> no longer available in FunctionCallBackInfo. While I'm sure there was a
> good reason for this, my sample size of one embedder registers one "ouch".
> Dunno if this affects any other embedders but I guess this is a head's up
> in case anyone wants to check.
>
> I currently use Callee as a convenience when passing around
> FunctionCallBackInfo: for adding the function name to a Throw or as
> debugging information it's very convenient. Callee is also very useful in
> the common pattern of allowing a constructor to be called without a New and
> invoking it as a constructor under the covers:
> args.Callee()->NewInstance(argc, argsForConstructor).
>
> The former use is easy to work around but painful as I now need to add an
> extra parameter to a ton of internal C++ methods. The latter is more
> challenging as I now need to add a persistent reference to all my C++
> constructors.
>
> I guess I'll just suck it up but if this affects anyone else one way to
> help people deal with this would be to keep a weak reference in the Isolate
> to last C++ function called that's made available via something like
> isolate->LastCallee(). I'd be happy to submit a project to add such a call
> (obviously on purely selfish grounds) but I suspect it would be
> (justifiably) rejected if I'm the world's only user of Callee.
>
> So are there any others out there?
>
> Thanks
>
> --
> --
> v8-users mailing list
> [email protected]
> http://groups.google.com/group/v8-users
> ---
> You received this message because you are subscribed to the Google Groups
> "v8-users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
v8-users mailing list
[email protected]
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to