Thank you for your notes. Here is another revision.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.cc
File src/hydrogen-instructions.cc (right):
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.cc#newcode3598
src/hydrogen-instructions.cc:3598: Representation::Smi());
On 2014/02/03 13:51:32, Toon Verwaest wrote:
filler_map
Done.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.cc#newcode4248
src/hydrogen-instructions.cc:4248: if (!map.is_null()) {
On 2014/02/03 13:51:32, Toon Verwaest wrote:
I think you should use map->instance_size() -
map->unused_property_fields() *
kPointerSize as the limit between visible and nonvisible memory; that
way also
header-fields and hidden inobject properties are included.
Done.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.h
File src/hydrogen-instructions.h (left):
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.h#oldcode6388
src/hydrogen-instructions.h:6388: // The entry could be either
previously initialized or not.
On 2014/02/03 13:45:39, titzer wrote:
Please preserve the comments here.
Done.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.h#oldcode6514
src/hydrogen-instructions.h:6514: obj->IsAllocate() ||
obj->IsInnerAllocatedObject());
On 2014/02/03 13:51:32, Toon Verwaest wrote:
The equivalent ASSERT should still hold using the access'
ExistingInobjectPropertyField right?
Done.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.h#oldcode6704
src/hydrogen-instructions.h:6704: obj->IsAllocate() ||
obj->IsInnerAllocatedObject());
On 2014/02/03 13:51:32, Toon Verwaest wrote:
Same as above
The HObjectAccess mechanism is not applicable to HStoreKeyed.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.h
File src/hydrogen-instructions.h (right):
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.h#newcode5756
src/hydrogen-instructions.h:5756: return HObjectAccess(kDouble,
On 2014/02/03 13:51:32, Toon Verwaest wrote:
spurious change
Done.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.h#newcode5912
src/hydrogen-instructions.h:5912: static HObjectAccess
ForJSObjectOffset(Handle<Map> map, int offset,
On 2014/02/03 13:45:39, titzer wrote:
Can we call this one ForMapAndOffset?
Done.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.h#newcode5918
src/hydrogen-instructions.h:5918: static HObjectAccess
ForJSObjectOffsetUnsafe(int offset,
On 2014/02/03 13:45:39, titzer wrote:
And then we can keep the ForJSObjectOffset for this one.
In offline discussions we have chosen a better name:
ForObservableJSObjectPropertyAt.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen-instructions.h#newcode5939
src/hydrogen-instructions.h:5939: static HObjectAccess
ForJSTypedArrayLength() {
On 2014/02/03 13:51:32, Toon Verwaest wrote:
You can probably get a map for each of the unsafe accesses below.
For all these special cases we already know that the access is made to
existing in-object property. I would prefer not to pass maps in the
cases below.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen.cc
File src/hydrogen.cc (right):
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen.cc#newcode8021
src/hydrogen.cc:8021:
HObjectAccess::ForJSObjectOffsetUnsafe(JSFunction::kContextOffset));
On 2014/02/03 13:51:32, Toon Verwaest wrote:
target->map();
Done.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen.cc#newcode8028
src/hydrogen.cc:8028: GlobalObject::kGlobalReceiverOffset));
On 2014/02/03 13:51:32, Toon Verwaest wrote:
target->context()->global_object()->map()
Done.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen.cc#newcode8418
src/hydrogen.cc:8418: JSFunction::kPrototypeOrInitialMapOffset));
On 2014/02/03 13:51:32, Toon Verwaest wrote:
constructor->map()
Done.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen.cc#newcode8525
src/hydrogen.cc:8525: HObjectAccess::ForJSObjectOffsetUnsafe(offset),
On 2014/02/03 13:51:32, Toon Verwaest wrote:
I presume we can get the map in from where we start building this?
We can't get the exact map for this access.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen.cc#newcode10404
src/hydrogen.cc:10404:
HObjectAccess::ForJSObjectOffsetUnsafe(JSValue::kValueOffset)));
On 2014/02/03 13:51:32, Toon Verwaest wrote:
Maybe we should pass in a prototypical JSValue map? Eg the one for
numbers?
We can't get the exact map for this access.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen.cc#newcode10475
src/hydrogen.cc:10475:
HObjectAccess::ForJSObjectOffsetUnsafe(JSValue::kValueOffset), value);
On 2014/02/03 13:51:32, Toon Verwaest wrote:
Same here.
We can't get the exact map for this access.
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen.h
File src/hydrogen.h (right):
https://codereview.chromium.org/149063010/diff/20001/src/hydrogen.h#newcode2313
src/hydrogen.h:2313: *access =
HObjectAccess::ForJSObjectOffsetUnsafe(offset);
On 2014/02/03 13:51:32, Toon Verwaest wrote:
Use map()
Done.
https://codereview.chromium.org/149063010/
--
--
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/groups/opt_out.