diff options
author | Rickard Green <[email protected]> | 2017-04-11 15:05:51 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2017-04-11 15:05:51 +0200 |
commit | 92a3b1a37182527d0bf8b6242d54e7fae6f4bbf9 (patch) | |
tree | 133119634987a6eeede055d644fe2f999ea3d318 /erts/emulator/beam/erl_bif_info.c | |
parent | b66834310f1d3f30a7b4d5c02753053d3f9d7ef8 (diff) | |
parent | 6520f78d4b878ff66adcf8d25de331d8ad06dd1d (diff) | |
download | otp-92a3b1a37182527d0bf8b6242d54e7fae6f4bbf9.tar.gz otp-92a3b1a37182527d0bf8b6242d54e7fae6f4bbf9.tar.bz2 otp-92a3b1a37182527d0bf8b6242d54e7fae6f4bbf9.zip |
Merge branch 'rickard/pcre-8.40'
OTP-14331
* rickard/pcre-8.40:
Update documentation
Update README.pcre_update.md
Stack guard for PCRE
Adjust for incompatibility between PCRE 8.40 and perl 5.22.1
Generate re replacement and split tests with perl vsn 5.22.1
Fix re_SUITE:pcre_compile_workspace_overflow/1
Skip line with lockout of modifiers in PCRE tests
Update tests for PCRE version 8.40
Update PCRE to version 8.40
Conflicts:
erts/emulator/beam/beam_debug.c
Diffstat (limited to 'erts/emulator/beam/erl_bif_info.c')
-rw-r--r-- | erts/emulator/beam/erl_bif_info.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c index 025f99330a..3a8687dc59 100644 --- a/erts/emulator/beam/erl_bif_info.c +++ b/erts/emulator/beam/erl_bif_info.c @@ -3743,6 +3743,21 @@ BIF_RETTYPE erts_debug_get_internal_state_1(BIF_ALIST_1) BIF_RET(erts_sint64_to_big(value, &hp)); } } + else if (ERTS_IS_ATOM_STR("stack_check", BIF_ARG_1)) { + UWord size; + char c; + if (erts_is_above_stack_limit(&c)) + size = erts_check_stack_recursion_downwards(&c); + else + size = erts_check_stack_recursion_upwards(&c); + if (IS_SSMALL(size)) + BIF_RET(make_small(size)); + else { + Uint hsz = BIG_UWORD_HEAP_SIZE(size); + Eterm *hp = HAlloc(BIF_P, hsz); + BIF_RET(uword_to_big(size, hp)); + } + } } else if (is_tuple(BIF_ARG_1)) { Eterm* tp = tuple_val(BIF_ARG_1); |