This LGTM as a start.

There is not yet any sharing of maps for proxies. We will have to sort out if
and  how we might do that when we begin to optimize performance.


http://codereview.chromium.org/6932068/diff/1/include/v8.h
File include/v8.h (right):

http://codereview.chromium.org/6932068/diff/1/include/v8.h#newcode3670
include/v8.h:3670: static const int kJSObjectType = 0xa2;
Wow, that's brittle.

http://codereview.chromium.org/6932068/diff/1/src/objects.cc
File src/objects.cc (right):

http://codereview.chromium.org/6932068/diff/1/src/objects.cc#newcode136
src/objects.cc:136: if (IsSmi()) {
Not your code, but this looks clumsy.  Isn't

Isolate* isolate = Isolate::Current();
Context* global_context = isolate->context()->global_context();
holder = ...

the same but better?

http://codereview.chromium.org/6932068/diff/1/src/proxy.js
File src/proxy.js (right):

http://codereview.chromium.org/6932068/diff/1/src/proxy.js#newcode64
src/proxy.js:64: if (type != "object" && type != "function") proto =
$Object.prototype
You should write this as if (!IS_SPEC_OBJECT(proto)).

http://codereview.chromium.org/6932068/diff/1/src/runtime.cc
File src/runtime.cc (right):

http://codereview.chromium.org/6932068/diff/1/src/runtime.cc#newcode592
src/runtime.cc:592: HandleScope scope(isolate);
We can remove this HandleScope and call the Heap:: instead of Factor::
version of the allocation function.

http://codereview.chromium.org/6932068/

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to