Sami Vaarala
0a310ce580
Testcases for valstack shrink
8 years ago
Sami Vaarala
a9fa2362ec
Rework value stack grow/shrink, lazy shrink
* Make value stack and call stack limits configurable via DUK_USE_xxx
options. Also make value stack grow/shrink constants configurable.
* Rewrite value stack grow/shrink check primitives for better hot/cold path
handling.
* Use a proportional spare for grow and shrink sizes so that applications
needing a large value stack have fewer value stack resizes.
* Grow value stack allocation when entering a call or when explicitly requested
via e.g. duk_require_stack().
* Never shrink the value stack when entering a call, so that the unwind path
is guaranteed to have value stack to handle a protected call return. This
guarantee is only needed for protected call but is now applied to all calls
for simplicity.
* Don't perform a value stack shrink check at all in function return anymore.
It would be OK from protected call semantics perspective to do a shrink
attempt without throwing if it fails.
* Perform a value stack shrink check in mark-and-sweep only for now. When
emergency GC is running, shrink to a minimal size respecting current value
stack reserve.
8 years ago
Sami Vaarala
97ebbcefc7
Merge pull request #1536 from svaarala/fix-check-require-stack-top
Fix duk_{check,require}_stack_top() reserve calculation
8 years ago
Sami Vaarala
d1b20f5ec9
Releases: duk_{check,require}_stack_top() reserve
8 years ago
Sami Vaarala
d164bd44ce
Fix duk_{check,require}_stack_top() reserve
8 years ago
Sami Vaarala
a51b5c0306
Improve duk_{check,require}_stack_top() test case
Cover case where there is an existing call in the call stack; this was
handled incorrectly so the updated test covers the bug.
8 years ago
Sami Vaarala
54bef09ef1
Merge pull request #1525 from svaarala/unpack-fast-path
Add a duk_harray fast path to the internal duk_unpack_array_like() helper
8 years ago
Sami Vaarala
503020c764
Releases: duk_harray unpack fast path
8 years ago
Sami Vaarala
ea217a30ec
duk_unpack_array_like() fastpath
8 years ago
Sami Vaarala
a3d39da5db
Merge pull request #1522 from svaarala/func-call-direct-handling-cleanups
Some cleanups for direct .call() and .apply() handling
8 years ago
Sami Vaarala
fb3ec6633c
Releases: .call()/.apply() cleanup
8 years ago
Sami Vaarala
2d8af4dc86
Simplify .call/.apply handling
8 years ago
Sami Vaarala
f209463718
Merge pull request #1421 from svaarala/func-call-direct-handling
Direct handling of .call(), .apply(), etc
8 years ago
Sami Vaarala
194075c805
Releases: .call() and .apply() inline handling
8 years ago
Sami Vaarala
076f206056
Release notes: .call/.apply
8 years ago
Sami Vaarala
4cbb65ce2c
Debugger doc update for 'special_call'
8 years ago
Sami Vaarala
973bfb38a4
Website yield and .call/.apply
8 years ago
Sami Vaarala
dd0cc4fa1c
Perf tests for .call/.apply
8 years ago
Sami Vaarala
56d0e2b8fc
Update testcase known issues
8 years ago
Sami Vaarala
0394a4f280
Testcases for direct .call/.apply handling
8 years ago
Sami Vaarala
22b72646a2
Don't shrink value stack for a call
8 years ago
Sami Vaarala
4c2a198978
Direct call handling of .call() and .apply()
Handle .call() and .apply() directly without them being visible on the call
stack.
8 years ago
Sami Vaarala
9ad07cd4cc
Genbuiltins support for special_call flag
8 years ago
Sami Vaarala
601cd7153d
Merge pull request #1518 from svaarala/fix-reflect-construct-extra-args
Fix Reflect.construct() handling of extra arguments (4 or more arguments)
8 years ago
Sami Vaarala
e111b401b8
Releases: Reflect.apply() extra arg handling
8 years ago
Sami Vaarala
4bc11b8ea6
Fix Reflect.construct() extra argument handling
8 years ago
Sami Vaarala
63c0504059
Add testcase for Reflect.construct() extra args
8 years ago
Sami Vaarala
b1241ccf26
Merge pull request #1515 from svaarala/native-function-prototype
Add a %NativeFunctionPrototype% for user created Duktape/C functions and lightfuncs
8 years ago
Sami Vaarala
155bd43cb2
Releases: %NativeFunctionPrototype%
8 years ago
Sami Vaarala
5de8fdbc77
2.2 migration note for %NativeFunctionPrototype%
8 years ago
Sami Vaarala
db35cddd51
Internal doc updates for DUKFUNC flag change
8 years ago
Sami Vaarala
b2667848dd
Testcase updates for %NativeFunctionPrototype%
8 years ago
Sami Vaarala
adcc4e5bed
Use %NativeFunctionPrototype% for native functions
Not applied to built-in native functions which must inherit directly
from Function.prototype.
8 years ago
Sami Vaarala
dd5028889d
Handle accessor .length in genbuiltins
8 years ago
Sami Vaarala
0035404cb8
Merge pull request #1516 from svaarala/fix-dump-function-template-length
Fix duk_dump_function() .length handling when _Formals omitted
8 years ago
Sami Vaarala
aa5afbd14a
Releases: dump/load _Formals
8 years ago
Sami Vaarala
41c26b2baa
Testcase expect fix for _Formals dump change
8 years ago
Sami Vaarala
8d5ec2bff3
Handle missing and empty _Formals in dump format
The distinction matters when loading back: if _Formals was omitted, we don't
want to load back an empty _Formals array for a function template because it
then breaks function instance .length computation.
8 years ago
Sami Vaarala
38fa6441f0
Merge pull request #1512 from svaarala/v2.0.3-release-prep
Release preparations for 2.0.3 release
8 years ago
Sami Vaarala
629b73bb35
Add 2.0.3 download link
8 years ago
Sami Vaarala
ff6702233f
Releases: add 2.0.3 release
8 years ago
Sami Vaarala
e5fe166944
Merge pull request #1511 from svaarala/fix-msvc-cast-warning
Fix a harmless MSVC cast warning
8 years ago
Sami Vaarala
c9911a464c
Releases: MSVC cast warning
8 years ago
Sami Vaarala
e6fcf1e1c9
Fix a harmless MSVC cast warning
8 years ago
Sami Vaarala
5c870aa359
Merge pull request #1510 from svaarala/no-inline-large-rare-opcodes
Move large and rare opcodes into NOINLINE helpers
8 years ago
Sami Vaarala
46704aea32
Releases: rare/large opcode NOINLINE helper
8 years ago
Sami Vaarala
eaebc35e71
Move large and rare opcodes into NOINLINE helpers
Move handling of the following opcodes into NOINLINE helpers to make the
main dispatch function smaller and a bit better performing:
* INITSET and INITGET
* TRYCATCH
* ENDTRY
* ENDCATCH
* ENDFIN
* INITENUM and NEXTENUM
8 years ago
Sami Vaarala
4c86048b3f
Merge pull request #1509 from svaarala/fix-opcode-debug-print-outofsync
Fix out-of-sync opcode list for internal debug print %!I format
8 years ago
Sami Vaarala
ebbd338c6f
Releases: debug opcode names
8 years ago
Sami Vaarala
e9f20f62f5
Fix out-of-sync opcode debug printing
8 years ago