LRB midpath code quality

Roman Kennke rkennke at redhat.com
Wed Mar 6 08:51:54 UTC 2019


Will try with one region...

Am 6. März 2019 09:44:17 MEZ schrieb Roland Westrelin <rwestrel at redhat.com>:
>
>Maybe having 2 regions instead of a single wider one:
>
>    enum { _heap_stable = 1, _heap_unstable, PATH_LIMIT };
>    Node* region = new RegionNode(PATH_LIMIT);
>Node* val_phi = new PhiNode(region,
>uncasted_val->bottom_type()->is_oopptr());
>Node* raw_mem_phi = PhiNode::make(region, raw_mem, Type::MEMORY,
>TypeRawPtr::BOTTOM);
>
>enum { _not_cset = 1, _not_equal, _evac_path, _null_path, PATH_LIMIT2
>};
>    Node* region2 = new RegionNode(PATH_LIMIT2);
>Node* val_phi2 = new PhiNode(region2,
>uncasted_val->bottom_type()->is_oopptr());
>Node* raw_mem_phi2 = PhiNode::make(region2, raw_mem, Type::MEMORY,
>TypeRawPtr::BOTTOM);
>
>confuses the register allocator. That could be something to try.
>
>Roland.

-- 
Diese Nachricht wurde von meinem Android-Gerät mit K-9 Mail gesendet.


More information about the shenandoah-dev mailing list