First round.
https://codereview.chromium.org/196103004/diff/20001/include/v8.h
File include/v8.h (right):
https://codereview.chromium.org/196103004/diff/20001/include/v8.h#newcode2001
include/v8.h:2001: // Create a symbol. If data is not NULL, it will be
used as a print name.
nit: Comment is outdated.
https://codereview.chromium.org/196103004/diff/20001/include/v8.h#newcode2024
include/v8.h:2024: // Create a private symbol. If data is not NULL, it
will be the print name.
nit: Likewise.
https://codereview.chromium.org/196103004/diff/20001/include/v8.h#newcode2035
include/v8.h:2035: static Local<Private> Global(Isolate *isolate,
Local<String> name);
Using this name there is the risk that it gets confused with the "global
object" and Context::Global() specifically.
https://codereview.chromium.org/196103004/diff/20001/src/runtime.cc
File src/runtime.cc (right):
https://codereview.chromium.org/196103004/diff/20001/src/runtime.cc#newcode637
src/runtime.cc:637:
isolate->factory()->NewJSObject(isolate->object_function(), TENURED);
As discussed offline: This will create a JSObject bound to a specific
context (i.e. obj->map->constructor) and hence keep the native context
which happened to trigger this lazy initialization alive forever.
And you are right, we have the same problem already in the lazy
initialization in the symbol.js file.
https://codereview.chromium.org/196103004/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" 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.