mirror of https://github.com/svaarala/duktape.git
Tree:
9c42b8cb36
add-comment-stripped-dist-source
add-config-profiles
add-function-source-property
add-getownpropertydescriptor-proxy-trap
add-memory-commit-test
add-nonbmp-helpers
api-create-heap-reorder
api-fileline-blame-control
api-get-refcount
api-multi-get
api-new-list-inits
api-push-bufobj-accept-bufobj
api-recheck-builtins
api-set-prototype-accept-null
buffer-index-no-inherit
builtin-construct-only
cpp-exception-improvements
cyclic-jx-gh331
debugger-rework-resume-command
document-snprintf-portability
duk-push-boolean-retval-1
external-bytecode-buffer-initial
footprint-equals-helper
global-object-hash-index
hack-outofmemory-envrec-close
hack-refzero-finalizer-postpone
hide-internal-properties
improve-summarization
lose-const-via-union
master
mingw-setjmp-longjmp-improvement
operator-overloading-minimal
osx-dist-improve-docs
perf-func-self-ref
profile-optimization-training-set
property-caching
proxy-chain-support
remove-extended-utf8-support
remove-unused-object-layout
revert-841-fix-node-loader
runtest-improvements
string-intern-copy-remove
switch-x86-x64-align-default
user-stack-check-macro
v1-maintenance
v1.0-maintenance
v1.1-maintenance
v1.2-maintenance
v1.3-maintenance
v1.4-maintenance
v1.5-maintenance
v1.6-maintenance
v1.7-maintenance
v1.8-maintenance
v2-maintenance
v2.0-maintenance
v2.1-maintenance
v2.2-maintenance
v2.3-maintenance
v2.4-maintenance
v2.5-maintenance
v2.6-maintenance
virtual-prototype-property
weak-references
website-benchmarks-page
add-rom-builtin-support-20160125i
convert-makedist-to-python-20160113
debugger-heap-walking-support-20160303a
fix-debugger-reattach-reentry-20160219a
hstring-size-optimization-20160302b
rom-user-builtins-20160203b
v0.1.0
v0.10.0
v0.11.0
v0.12.0
v0.2.0
v0.3.0
v0.4.0
v0.5.0
v0.6.0
v0.7.0
v0.8.0
v0.9.0
v1.0.0
v1.0.1
v1.0.2
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.2.0
v1.2.1
v1.2.2
v1.2.3
v1.2.4
v1.2.5
v1.2.6
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.4.0
v1.4.1
v1.4.2
v1.5.0
v1.5.1
v1.5.2
v1.6.0
v1.6.1
v1.7.0
v1.8.0
v2.0.0
v2.0.1
v2.0.2
v2.0.3
v2.1.0
v2.1.1
v2.1.2
v2.2.0
v2.2.1
v2.3.0
v2.4.0
v2.5.0
v2.6.0
v2.7.0
${ noResults }
3 Commits (9c42b8cb367ba8b16c200375bc1cc95bf144e165)
Author | SHA1 | Message | Date |
---|---|---|---|
Sami Vaarala | c6f9ee1550 |
Fix Symbol object .valueOf()
|
8 years ago |
Sami Vaarala | a08c85753e |
Make symbol checks unlikely
Usually symbol checks are in code paths expecting a string; make these unlikely. For code paths where a symbol is expected, make the check likely. |
8 years ago |
Sami Vaarala | 5ed6bb980b |
Add initial, minimal ES6 Symbol support
* Strings with 0xFF byte prefix are considered special symbols: they have typeof "symbol" but still mostly behave as strings (e.g. allow ToString) so that existing code dealing with internal keys, especially inside Duktape, can work with fewer changes. * Strings with 0x80 byte prefix are global symbols, e.g. Symbol.for('foo') creates the byte representatio: 0x80 "foo" * Strings with 0x81 byte prefix are unique symbols; the 0x81 byte is followed by the Symbol description, and an internal string component ensuring uniqueness is separated by a 0xFF byte (which can never appear anywhere in an extended UTF-8 string). The unique suffix is up to Duktape internals, currently two 32-bit counters are used. For example: 0x81 "mySymbol" 0xFF "0-17". * Well-known symbols use the 0x81 prefix but lack a unique suffix, so their format is 0x81 <description> 0xFF. * ES6 distinguishes between an undefined symbol description and an empty string symbol description. This distinction is not currently visible via Ecmascript bindings but may be visible in the future. Append an extra 0xFF to the unique suffix when the description is undefined, i.e. 0x81 0xFF <unique suffix> 0xFF. |
8 years ago |