Vyacheslav Egorov (2013-10-30T16:33:43.000Z)
> Rationale being faster polyfilled execution

The main reason for H being one shot is to allow optimizing compiler
*elide* updating it in most cases to eliminate memory traffic.

After thinking about it a bit I propose the following alternative step 5:

Math.H is from the very beggining a non-configurable non-writable
accessor property with a getter that returns hidden inner value and
always zeros inner value.

--
Vyacheslav Egorov


On Wed, Oct 30, 2013 at 5:28 PM, Olov Lassus <olov.lassus at gmail.com> wrote:
> 2013/10/30 Vyacheslav Egorov <me at mrale.ph>
>>
>> 5. A one shot property Math.H is created that returns ch' on the first
>> access and deletes itself.
>
>
> Alternative step 5: Math.H is assigned ch'.
>
> Rationale being faster polyfilled execution, in combination with a lack of
> imagination from my side to come up with a use case where any code would be
> interested in knowing (at run-time) whether Math.H exists or not (i.e.
> whether it has already been read). Does such a use case exist?
>
> If all of JSC, Chakra, V8 et.al reliably optimizes away most overhead of a
> polyfilled Math.H getter then perhaps this does not matter.
>
> /Olov
>
domenic at domenicdenicola.com (2013-11-03T22:19:50.738Z)
> Rationale being faster polyfilled execution

The main reason for H being one shot is to allow optimizing compiler
*elide* updating it in most cases to eliminate memory traffic.

After thinking about it a bit I propose the following alternative step 5:

`Math.H` is from the very beggining a non-configurable non-writable
accessor property with a getter that returns hidden inner value and
always zeros inner value.