diff --git a/bugs/issue-6e20016d7d9985d8e7bf8481d38be083787e6447.yaml b/bugs/issue-6e20016d7d9985d8e7bf8481d38be083787e6447.yaml index 67b978f7..4199cae3 100644 --- a/bugs/issue-6e20016d7d9985d8e7bf8481d38be083787e6447.yaml +++ b/bugs/issue-6e20016d7d9985d8e7bf8481d38be083787e6447.yaml @@ -3,7 +3,7 @@ title: "function instance optimization: prototype object, often not needed but m desc: "" type: :task component: duk -release: +release: v1.1 reporter: sva status: :unstarted disposition: @@ -20,3 +20,7 @@ log_events: - sva - unassigned from release v0.10 - "" +- - 2014-09-26 20:43:45.299503 Z + - Sami Vaarala + - assigned to release v1.1 from unassigned + - "" diff --git a/bugs/issue-d351318e427eec601f6d5e2fe2068081a7551e43.yaml b/bugs/issue-d351318e427eec601f6d5e2fe2068081a7551e43.yaml index 21c52e9d..ecf8c029 100644 --- a/bugs/issue-d351318e427eec601f6d5e2fe2068081a7551e43.yaml +++ b/bugs/issue-d351318e427eec601f6d5e2fe2068081a7551e43.yaml @@ -17,7 +17,7 @@ desc: |- (because it hasn't been needed), so the function would be collectable. type: :task component: duk -release: +release: v1.1 reporter: sva status: :unstarted disposition: @@ -30,3 +30,7 @@ log_events: - sva - created - "" +- - 2014-09-26 20:43:37.510818 Z + - Sami Vaarala + - assigned to release v1.1 from unassigned + - "" diff --git a/bugs/issue-e0372b1a5c59036f4372a1a1e919ee4a2644e7a0.yaml b/bugs/issue-e0372b1a5c59036f4372a1a1e919ee4a2644e7a0.yaml new file mode 100644 index 00000000..109932be --- /dev/null +++ b/bugs/issue-e0372b1a5c59036f4372a1a1e919ee4a2644e7a0.yaml @@ -0,0 +1,34 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: lazy .prototype for objects +desc: |- + One way to deal with the annoying function prototype loop (and also to + reduce memory use) would be to implement the "prototype" property of a + function instance as an auto-spawning virtual property. + + The property would need to behave as it was present (e.g. enumerate) + but only be defined as a concrete value if actually read, written, + used in a constructor call etc. This spawning behavior doesn't have + to be exact: it can be exaggerated to spawn the property just in case + to simplify implementation. For instance, it would be OK to spawn the + property for enumeration even if the value was not ready during + enumeration. + + The lazy prototype behavior needs a flag which is cleared when the lazy + creation actually happens. This is the case because user code may + delete the prototype, and once that has been done, the prototype must not + magically spawn back. +type: :task +component: duk +release: v1.1 +reporter: Sami Vaarala +status: :unstarted +disposition: +creation_time: 2014-09-26 20:46:56.145454 Z +references: [] + +id: e0372b1a5c59036f4372a1a1e919ee4a2644e7a0 +log_events: +- - 2014-09-26 20:46:56.332664 Z + - Sami Vaarala + - created + - ""