diff --git a/bugs/issue-3078863bb06ec9af3c2ec4d0f7bf66a741473f9d.yaml b/bugs/issue-3078863bb06ec9af3c2ec4d0f7bf66a741473f9d.yaml new file mode 100644 index 00000000..45d7f8a1 --- /dev/null +++ b/bugs/issue-3078863bb06ec9af3c2ec4d0f7bf66a741473f9d.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: "compiler/executor: atomic inc/dec primitive to avoid multiple opcodes used now" +desc: "" +type: :task +component: duk +release: v1.1 +reporter: Sami Vaarala +status: :unstarted +disposition: +creation_time: 2014-08-21 15:04:42.578272 Z +references: [] + +id: 3078863bb06ec9af3c2ec4d0f7bf66a741473f9d +log_events: +- - 2014-08-21 15:04:42.770186 Z + - Sami Vaarala + - created + - "" diff --git a/bugs/issue-3d4480f1a7cb079085bf84e256fae778ba180988.yaml b/bugs/issue-3d4480f1a7cb079085bf84e256fae778ba180988.yaml new file mode 100644 index 00000000..014444a1 --- /dev/null +++ b/bugs/issue-3d4480f1a7cb079085bf84e256fae778ba180988.yaml @@ -0,0 +1,25 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: move testcase knownissue status to an external file? +desc: |- + The known issue status of a test case changes when bugs are fixed and introduced, + and it's tedious diff on the test case itself. The other test case metadata is + more static; e.g. if a testcase tests for non-standard real world behavior, that + fact doesn't change often. + + A single knownissues file would be more easier to maintain and would also provide + a more concise description of still open issues. +type: :task +component: duk +release: v1.1 +reporter: Sami Vaarala +status: :unstarted +disposition: +creation_time: 2014-08-21 21:56:21.233924 Z +references: [] + +id: 3d4480f1a7cb079085bf84e256fae778ba180988 +log_events: +- - 2014-08-21 21:56:21.422913 Z + - Sami Vaarala + - created + - "" diff --git a/bugs/issue-68a5328a4af21b48d912d366a5b043e01d5c3c2b.yaml b/bugs/issue-68a5328a4af21b48d912d366a5b043e01d5c3c2b.yaml new file mode 100644 index 00000000..f2608ecc --- /dev/null +++ b/bugs/issue-68a5328a4af21b48d912d366a5b043e01d5c3c2b.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: "softint: add softint marker to Duktape.env" +desc: E.g. 'i' after duk_tval packing indicator. +type: :task +component: duk +release: v1.1 +reporter: Sami Vaarala +status: :unstarted +disposition: +creation_time: 2014-08-22 08:41:28.746188 Z +references: [] + +id: 68a5328a4af21b48d912d366a5b043e01d5c3c2b +log_events: +- - 2014-08-22 08:41:28.906128 Z + - Sami Vaarala + - created + - "" diff --git a/bugs/issue-74f1c80ef1dc38fd26bec23122bc70526a66b8c0.yaml b/bugs/issue-74f1c80ef1dc38fd26bec23122bc70526a66b8c0.yaml new file mode 100644 index 00000000..c10589a5 --- /dev/null +++ b/bugs/issue-74f1c80ef1dc38fd26bec23122bc70526a66b8c0.yaml @@ -0,0 +1,33 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: "softint: enable if soft fp in use" +desc: |- + Enable FASTINT support automatically when soft floating points are in use + and other requirements are met. + + Soft FP usage can be detected e.g. with __SOFTFP__ on GCC. It's critical + to detect that actual soft FP library calls are being generated by the + compiler - not that soft floats are supported, or that a soft float ABI is + being used. + + The user should then have two defines to force FASTINT one way or another: + + * DUK_OPT_FASTINT48: force fastint into use + + * DUK_OPT_NO_FASTINT48: disable fastints forcibly + + Both yes/no flags are needed if Duktape defaults based on the environment. +type: :task +component: duk +release: v1.1 +reporter: Sami Vaarala +status: :unstarted +disposition: +creation_time: 2014-08-22 08:41:06.842133 Z +references: [] + +id: 74f1c80ef1dc38fd26bec23122bc70526a66b8c0 +log_events: +- - 2014-08-22 08:41:07.258009 Z + - Sami Vaarala + - created + - "" diff --git a/bugs/issue-7b9f48ec3b80bd2e218c17b0faee263172599841.yaml b/bugs/issue-7b9f48ec3b80bd2e218c17b0faee263172599841.yaml index 2c2717eb..2d1753fb 100644 --- a/bugs/issue-7b9f48ec3b80bd2e218c17b0faee263172599841.yaml +++ b/bugs/issue-7b9f48ec3b80bd2e218c17b0faee263172599841.yaml @@ -3,7 +3,7 @@ title: move errcreate/errthrow hooks to stash objects? (if so, only C code can i desc: "" type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -20,3 +20,7 @@ log_events: - Sami Vaarala - assigned to release v0.12 from v0.11 - "" +- - 2014-08-22 08:46:20.851308 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-90be1af3f0df607b65410b6507534c29b8ba8d1b.yaml b/bugs/issue-90be1af3f0df607b65410b6507534c29b8ba8d1b.yaml index fd68cac7..aca97968 100644 --- a/bugs/issue-90be1af3f0df607b65410b6507534c29b8ba8d1b.yaml +++ b/bugs/issue-90be1af3f0df607b65410b6507534c29b8ba8d1b.yaml @@ -14,7 +14,7 @@ desc: |- proxies into account. type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -31,3 +31,7 @@ log_events: - Sami Vaarala - assigned to release v0.12 from v0.11 - "" +- - 2014-08-22 08:46:21.026374 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-9ed6308c91bd5b7aa6f0dfdc9319915137b561c4.yaml b/bugs/issue-9ed6308c91bd5b7aa6f0dfdc9319915137b561c4.yaml index 11d66668..98c42381 100644 --- a/bugs/issue-9ed6308c91bd5b7aa6f0dfdc9319915137b561c4.yaml +++ b/bugs/issue-9ed6308c91bd5b7aa6f0dfdc9319915137b561c4.yaml @@ -3,7 +3,7 @@ title: "Proxy: Object.prototype.toString.call(proxy) should unconditionally retu desc: "" type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -20,3 +20,7 @@ log_events: - Sami Vaarala - assigned to release v0.12 from v0.11 - "" +- - 2014-08-22 08:46:21.375336 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-9fb59099fc344a02efcdbf5095a2d1c18a6f74ab.yaml b/bugs/issue-9fb59099fc344a02efcdbf5095a2d1c18a6f74ab.yaml new file mode 100644 index 00000000..6e27e0a5 --- /dev/null +++ b/bugs/issue-9fb59099fc344a02efcdbf5095a2d1c18a6f74ab.yaml @@ -0,0 +1,18 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: "executor/compiler: make TONUM an inplace operation (it is always used that way now)" +desc: "" +type: :task +component: duk +release: v1.1 +reporter: Sami Vaarala +status: :unstarted +disposition: +creation_time: 2014-08-21 15:24:27.567694 Z +references: [] + +id: 9fb59099fc344a02efcdbf5095a2d1c18a6f74ab +log_events: +- - 2014-08-21 15:24:27.871636 Z + - Sami Vaarala + - created + - "" diff --git a/bugs/issue-a272462323504bffd23ed7462fa409928f40472e.yaml b/bugs/issue-a272462323504bffd23ed7462fa409928f40472e.yaml new file mode 100644 index 00000000..d5992686 --- /dev/null +++ b/bugs/issue-a272462323504bffd23ed7462fa409928f40472e.yaml @@ -0,0 +1,21 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: add internal structures to duktape.h to facilitate better footprint optimization +desc: |- + The macros implementing public Duktape API calls should have access to + the internal structures so that they can read/write internal values and + flags directly without going through an actual helper call. +type: :task +component: duk +release: v1.1 +reporter: Sami Vaarala +status: :unstarted +disposition: +creation_time: 2014-08-20 10:10:54.385283 Z +references: [] + +id: a272462323504bffd23ed7462fa409928f40472e +log_events: +- - 2014-08-20 10:10:54.606249 Z + - Sami Vaarala + - created + - "" diff --git a/bugs/issue-a4d68fbf811b8b4f65200662393f3141dfe4c243.yaml b/bugs/issue-a4d68fbf811b8b4f65200662393f3141dfe4c243.yaml index 0a16c489..51e1f99b 100644 --- a/bugs/issue-a4d68fbf811b8b4f65200662393f3141dfe4c243.yaml +++ b/bugs/issue-a4d68fbf811b8b4f65200662393f3141dfe4c243.yaml @@ -27,7 +27,7 @@ desc: |- propagation in another thread. type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -44,3 +44,7 @@ log_events: - Sami Vaarala - assigned to release v0.12 from v0.11 - "" +- - 2014-08-22 08:46:20.285832 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-a862974a855fd448d5650559a1194c50d087bad9.yaml b/bugs/issue-a862974a855fd448d5650559a1194c50d087bad9.yaml new file mode 100644 index 00000000..dd34dae2 --- /dev/null +++ b/bugs/issue-a862974a855fd448d5650559a1194c50d087bad9.yaml @@ -0,0 +1,29 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: optimized 'iswhole' primitive +desc: |- + To support the FASTINT branch, there needs to be an optimized primitive + for checking whether a number is a whole number which be represented with + N bits (e.g. signed 48 bits). + + For the FASTINT branch, a quick reject is not useful, as numbers are + usually expected to be integers. A quick accept is useful if that is at + all possible. + + In any case, the DUK_SET_TVAL_NUMBER() handler should have a fast inlined + version because the check is made by default for all numbers where FASTINT + fast paths are not explicitly implemented. +type: :task +component: duk +release: +reporter: Sami Vaarala +status: :unstarted +disposition: +creation_time: 2014-08-20 10:10:02.391046 Z +references: [] + +id: a862974a855fd448d5650559a1194c50d087bad9 +log_events: +- - 2014-08-20 10:10:02.748091 Z + - Sami Vaarala + - created + - "" diff --git a/bugs/issue-a97e6cf0b309134667645b774effb7bfb2f345b1.yaml b/bugs/issue-a97e6cf0b309134667645b774effb7bfb2f345b1.yaml index 737469e7..14b94851 100644 --- a/bugs/issue-a97e6cf0b309134667645b774effb7bfb2f345b1.yaml +++ b/bugs/issue-a97e6cf0b309134667645b774effb7bfb2f345b1.yaml @@ -8,7 +8,7 @@ desc: |- casts in the code a lot. type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -21,3 +21,7 @@ log_events: - Sami Vaarala - created - "" +- - 2014-08-22 08:46:19.941480 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-ab5ed16dfbc49b4925ad763d5c12711b2b55c8c6.yaml b/bugs/issue-ab5ed16dfbc49b4925ad763d5c12711b2b55c8c6.yaml index 2271194c..ac40e5b2 100644 --- a/bugs/issue-ab5ed16dfbc49b4925ad763d5c12711b2b55c8c6.yaml +++ b/bugs/issue-ab5ed16dfbc49b4925ad763d5c12711b2b55c8c6.yaml @@ -3,7 +3,7 @@ title: add documentation for revised threading limitations desc: "" type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -20,3 +20,7 @@ log_events: - Sami Vaarala - assigned to release v0.12 from v0.11 - "" +- - 2014-08-22 08:46:20.113241 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-ad8f6b006cd9c4bb3f41da2e1a6d24387c2a7eed.yaml b/bugs/issue-ad8f6b006cd9c4bb3f41da2e1a6d24387c2a7eed.yaml index d8cf2dcb..8a0a2c16 100644 --- a/bugs/issue-ad8f6b006cd9c4bb3f41da2e1a6d24387c2a7eed.yaml +++ b/bugs/issue-ad8f6b006cd9c4bb3f41da2e1a6d24387c2a7eed.yaml @@ -3,7 +3,7 @@ title: "Proxy: Object.getPrototypeOf() should return prototype of target (not pr desc: "" type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -20,3 +20,7 @@ log_events: - Sami Vaarala - assigned to release v0.12 from v0.11 - "" +- - 2014-08-22 08:46:21.732670 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-b39a1fec201f4a846d611fff8735f52388b9f13b.yaml b/bugs/issue-b39a1fec201f4a846d611fff8735f52388b9f13b.yaml index e84bd160..f79c4780 100644 --- a/bugs/issue-b39a1fec201f4a846d611fff8735f52388b9f13b.yaml +++ b/bugs/issue-b39a1fec201f4a846d611fff8735f52388b9f13b.yaml @@ -3,7 +3,7 @@ title: optional bytecode load/save primitives desc: "" type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -39,3 +39,7 @@ log_events: given to duk_compile(). Another option is to make the bytecode primitives entirely separate: duk_bytecode_dump(), duk_bytecode_load(). User should be able to load bytecode from a buffer (like with duk_compile()). +- - 2014-08-22 08:46:20.458669 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-bda173b6da17832b487bf3cda950bbd0b86714b5.yaml b/bugs/issue-bda173b6da17832b487bf3cda950bbd0b86714b5.yaml index b0b0b4f8..72af4fd1 100644 --- a/bugs/issue-bda173b6da17832b487bf3cda950bbd0b86714b5.yaml +++ b/bugs/issue-bda173b6da17832b487bf3cda950bbd0b86714b5.yaml @@ -3,7 +3,7 @@ title: add a bytecode compiler executable to the project desc: "" type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -27,3 +27,7 @@ log_events: The easiest first step is probably to add a compile option to the duk_cmdline.c executable. It would also make sense to add support for executing bytecode from the command line executable. +- - 2014-08-22 08:46:20.660424 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-c2c0f091a515a1996db136eb3d126ed80407f651.yaml b/bugs/issue-c2c0f091a515a1996db136eb3d126ed80407f651.yaml index 781f7b57..11ff86d6 100644 --- a/bugs/issue-c2c0f091a515a1996db136eb3d126ed80407f651.yaml +++ b/bugs/issue-c2c0f091a515a1996db136eb3d126ed80407f651.yaml @@ -24,7 +24,7 @@ desc: |- flags right now). type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -41,3 +41,7 @@ log_events: - Sami Vaarala - assigned to release v0.12 from v0.11 - "" +- - 2014-08-22 08:46:21.200580 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - "" diff --git a/bugs/issue-c5f6b9485d7e2e7359ed7a01b631784ec32ae0d4.yaml b/bugs/issue-c5f6b9485d7e2e7359ed7a01b631784ec32ae0d4.yaml new file mode 100644 index 00000000..47bf5d7f --- /dev/null +++ b/bugs/issue-c5f6b9485d7e2e7359ed7a01b631784ec32ae0d4.yaml @@ -0,0 +1,44 @@ +--- !ditz.rubyforge.org,2008-03-06/issue +title: mark-and-sweep _finalizer access error causes uncaught error +desc: |- + If _finalizer access fails with error due to prototype loop or perhaps + because a devious user has set it to an accessor value, mark-and-sweep + and/or reference counting can now throw an uncaught error during GC + handling (which is quite fatal). + + Finalizer checks should tolerate _finalizer lookup errors and assume + there is no finalizer if the property cannot be read? +type: :bugfix +component: duk +release: v0.12 +reporter: Sami Vaarala +status: :unstarted +disposition: +creation_time: 2014-08-20 10:49:54.364530 Z +references: [] + +id: c5f6b9485d7e2e7359ed7a01b631784ec32ae0d4 +log_events: +- - 2014-08-20 10:49:54.567675 Z + - Sami Vaarala + - created + - "" +- - 2014-08-20 11:00:59.838404 Z + - Sami Vaarala + - commented + - |- + The culprit seems to be a duk_hobject_hasprop_raw() check inside mark-and-sweep. + This wouldn't throw an error for an accessor (which is as intended) but does + throw for a prototype loop. + + Possible fixes: + + * Put the duk_hobject_hasprop_raw() check inside a duk_safe_call(). This is + quite expensive as 99% objects don't have a finalizer. + + * Add a variant of duk_hobject_hasprop_raw() (or a flag) which will check for + property existence but never throws an error - if prototype loop occurs, + pretend that the property doesn't exist. + + * Deny prototype loops also for C code. This means a prototype walk when the + prototype is set, which is more expensive than ideal. diff --git a/bugs/issue-fed6e920d07f5a6070a4dae9c0121bd812f0a619.yaml b/bugs/issue-fed6e920d07f5a6070a4dae9c0121bd812f0a619.yaml index 626c704a..7440d12b 100644 --- a/bugs/issue-fed6e920d07f5a6070a4dae9c0121bd812f0a619.yaml +++ b/bugs/issue-fed6e920d07f5a6070a4dae9c0121bd812f0a619.yaml @@ -3,7 +3,7 @@ title: "Proxy: typeof proxy should return typeof target (unconditionally)" desc: "" type: :task component: duk -release: v0.12 +release: v1.1 reporter: Sami Vaarala status: :unstarted disposition: @@ -20,3 +20,7 @@ log_events: - Sami Vaarala - assigned to release v0.12 from v0.11 - "" +- - 2014-08-22 08:46:21.551917 Z + - Sami Vaarala + - assigned to release v1.1 from v0.12 + - ""