mirror of https://github.com/svaarala/duktape.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.3 KiB
35 lines
1.3 KiB
--- !ditz.rubyforge.org,2008-03-06/issue
|
|
title: add a lightweight native pointer type to enable (non-compliant) built-in size optimization
|
|
desc: |-
|
|
For 32-bit platforms the 8-byte tagged type can point to a C function directly,
|
|
and has 16 bits free to provide additional metadata, such as function argument
|
|
count or 'length' property.
|
|
|
|
These lightweight function values could be used to optimize the memory usage of
|
|
built-ins: there are about 180 built-ins now, each taking ~90-100 bytes, for a
|
|
total of 16-20 kB. A lightweight function pointer would make the functions
|
|
strictly non-compliant (as they might not have the exactly correct properties
|
|
and new properties could not be added) but would drop "hello world" footprint
|
|
by almost 20 kB.
|
|
|
|
A lightweight function values might also be useful for many C programmers,
|
|
as often it's not that important what properties functions have.
|
|
type: :task
|
|
component: duk
|
|
release:
|
|
reporter: Sami Vaarala <sami.vaarala@iki.fi>
|
|
status: :unstarted
|
|
disposition:
|
|
creation_time: 2014-03-27 22:08:51.790272 Z
|
|
references: []
|
|
|
|
id: a22c35bd0659c31a83b047811fea0053a7e463c1
|
|
log_events:
|
|
- - 2014-03-27 22:08:52.062161 Z
|
|
- Sami Vaarala <sami.vaarala@iki.fi>
|
|
- created
|
|
- ""
|
|
- - 2014-03-27 22:23:15.575242 Z
|
|
- Sami Vaarala <sami.vaarala@iki.fi>
|
|
- unassigned from release v0.11
|
|
- ""
|
|
|