summaryrefslogtreecommitdiff
path: root/embed.fnc
Commit message (Collapse)AuthorAgeFilesLines
* Fix the build for -Dmad - f0e3f042f14b829f missed a couple of things.Nicholas Clark2009-09-141-1/+1
|
* Remove obsolete functions is_uni_alnumc, is_uni_alnumc_lc, is_utf8_alnumcRafael Garcia-Suarez2009-09-131-3/+0
|
* finish implementing -DB vs. -DxChip Salzenberg2009-08-301-0/+6
|
* Speed up repeatcpy() by at least 40% for 1-char or numerous repeatsVincent Pit2009-08-271-1/+1
| | | | | | | | | | | | And don't make it receive the interpreter anymore. For 1-char repeats, use memset(). Otherwise, use the old implementation up to some (small) length, and then use memcpy() in a binary manner, based on what we previously copied. Note that we use memcpy() so both strings shouldn't overlap. The previous implementation didn't allow this as well. This would be a good place to use the restrict keyword from C99. I'm not sure if Configure has a probe for it.
* delimcopy(), ibcmp(), ibcmp_locale(), instr(), ninstr() and rninstr() from ↵Vincent Pit2009-08-271-6/+6
| | | | util.c don't need the interpreter as well
* Don't pass the the interpreter to is_ascii_string(), is_utf8_char(), ↵Vincent Pit2009-08-271-5/+5
| | | | is_utf8_string(), is_utf8_string_loclen() as they don't need it
* In C<use utf8; a=>'b'>, do not set utf8 flag on 'a' [perl #68812]Chip Salzenberg2009-08-261-0/+1
|
* Use less constness in MAD codeRafael Garcia-Suarez2009-08-261-1/+1
| | | | This suppresses warnings, because sometimes the constness was taken away
* Add clear magic to %^H so that the HE chain is reset when you empty it.Zefram2009-08-211-0/+1
| | | | This fixes [perl #68590] : %^H not lexical enough.
* Perl_die_nocontext() is also called with NULL from XS extensions that want ↵Vincent Pit2009-08-131-1/+1
| | | | | | to set $@ themselves. This commit goes with 52a5bfab8876f302d269f1bfa46eae1998f0d3ca.
* Merge gv_IOadd() into gv_add_by_type().Nicholas Clark2009-08-081-5/+5
|
* Perl_newIO() can become a mathom by making newIO() a wrapper around newSV_type()Nicholas Clark2009-08-081-1/+1
| | | | and tweaking Perl_sv_upgrade().
* Merge gv_AVadd(), gv_HVadd() and gv_SVadd() into gv_add_by_type().Nicholas Clark2009-08-081-3/+4
| | | | The "short" names become macro wrappers, and the Perl_* versions become mathoms.
* Make gv_IOadd accept a NULL argumentRafael Garcia-Suarez2009-08-061-1/+1
| | | | This fixes bug #68182
* Merge branch 'deletelocal' into bleadVincent Pit2009-07-291-1/+4
|\
| * Introduce "delete local"Vincent Pit2009-07-251-0/+1
| |
| * Introduce save_hdelete() and SAVEHDELETE()Vincent Pit2009-07-251-0/+1
| | | | | | | | save_hdelete() is just like save_delete() except that it takes an SV instead of char buffer.
| * Introduce save_aelem_flags()Vincent Pit2009-07-251-1/+2
| | | | | | | | It's the symmetric of save_helem_flags(). save_aelem() is now a macro wrapping around save_aelem_flags().
* | Add support for new flag D in embed.fnc (deprecated)Rafael Garcia-Suarez2009-07-271-0/+1
| |
* | Make cxinc member of the public APIRafael Garcia-Suarez2009-07-271-1/+1
| | | | | | | | | | This way, MULTICALL_PUSH will be available to XS code without defining PERL_CORE or PERL_EXT (bug #67894)
* | much better swap logic to support reentrancy and fix assert failureGeorge Greer2009-07-261-1/+0
|/ | | | | | | | | | | Commit c74340f9 added backreferences as well as the idea of a ->swap regex pointer to keep track of the match offsets in case of backtracking. The problem is that when Perl re-enters the regex engine to handle utf8::SWASHNEW, the ->swap is not saved/restored/cleared so any capture from the utf8 (Perl) code could inadvertently modify the regex match data that caused the utf8 swash to get built. This change should close out RT #60508
* Modify the return value of Gv_AMupdate to indicate a compilation errorRafael Garcia-Suarez2009-07-091-1/+1
| | | | | This way we'll restore most of the performance on object desctruction lost by the previous commit
* Add a parameter "destructing" to Gv_AMupdate()Rafael Garcia-Suarez2009-07-081-1/+1
| | | | | | | | This boolean parameter indicates if the function has been called to update the overload magic table while looking up the DESTROY method. In this case, it's probably best to avoid croaking if those tables could not be updated (for example due to a method that could not be loaded.)
* Instead of a const char *, pass a HEK * to anonymise_cv().Nicholas Clark2009-06-221-1/+1
| | | | | This will cope properly with Unicode package names. It also allows use of more efficient perl API calls, avoiding any strlen()s.
* invert and rename PERL_MEM_LOG_STDERR to PERL_MEM_LOG_NOIMPLJim Cromie2009-06-211-1/+1
| | | | | | | Most users who want PERL_MEM_LOG want the default implementation, give it to them. Users providing their own implementation can obtain current behavior by adding -DPERL_MEM_LOG_NOIMPL. Frankly, the average user probably wants _ENV by default too.
* When a glob is deleted, mark its sub as ANON.Ben Morrow2009-06-211-0/+1
|
* Implement new regex escape \NRafael Garcia-Suarez2009-06-161-1/+1
| | | | | | \N, like in Perl 6, is equivalent to . but not influenced by /s. It matches any character except \n. Note that followed by { and a non-number, \N is still a named character.
* Merge Perl_magic_setisa() and Perl_magic_clearisa(), to remove duplicated logic.Nicholas Clark2009-05-211-1/+1
|
* Merge the bulk of Perl_magic_clearsig() into Perl_magic_setsig().Nicholas Clark2009-05-201-1/+1
| | | | | | | | | | | | The comment at the top of Perl_magic_clearsig() said: XXX Some of this code was copied from Perl_magic_setsig. A little refactoring might be in order. and it was not wrong. Perl_magic_clearsig() is almost equivalent to Perl_magic_setsig() with the new signal handler as "DEFAULT". Externally, the sv parameter to Perl_magic_setsig() was Not NULL, so use a NULL sv to signal that the code is being called as Perl_magic_clearsig(), for the places where the behaviour of the two diverges.
* Add S_sv_dup_inc_multiple(), used in place of loops that call sv_dup_inc().Nicholas Clark2009-05-181-0/+4
| | | | Just 4 uses already give a size saving with gcc -Os.
* Inline S_glob_2pv() into Perl_sv_2pv_flags(). (Existing bugs included.)Nicholas Clark2009-05-121-1/+0
| | | | Change 27942 missed this. (675c862fe1d4abfd048dce5f1958cca54b16c501)
* Convert xsutils.c and lib/attributes.pm to a regular XS extension.Nicholas Clark2009-04-121-2/+0
|
* Change Perl_newCONSTSUB() so that a NULL sv generates an empty list return.Nicholas Clark2009-03-291-1/+1
| | | | Don't call DESTROY if it's a constant subroutine.
* In Perl_newCONSTSUB(), sv should not be NULL.Nicholas Clark2009-03-291-1/+1
|
* In Perl_sv_setsv_cow(), dstr can be NULL.Nicholas Clark2009-03-281-1/+1
|
* For S_incpush(), dir is never NULL, and len is always > 0.Nicholas Clark2009-02-221-1/+1
|
* Optimise S_incpush() by avoiding repeatedly copying libdir to subdir.Nicholas Clark2009-02-221-1/+1
| | | | | | | | | Specifically, copy it once with newSVsv(), then pass libdir to S_incpush_if_exists(), and if that creates a new SV, use newSVsv() there to re-do the copy. Otherwise reset the length of the passed-in SV (which is subdir), back to the length of libdir, effectively truncating it back to be equal to libdir. This avoids repeated copying of the same bytes over the same memory that already holds those bytes.
* Unwind the implicit loop in S_init_perllib(), by writing the code out longhand.Nicholas Clark2009-02-221-1/+1
| | | | | Call it only once, remove the old_vers parameter, and all the related conditional code.
* Pass the length of the string to S_incpush_use_sep(), where known.Nicholas Clark2009-02-171-1/+1
|
* Ensure that the pointer to S_incpush_use_sep() is never NULL.Nicholas Clark2009-02-151-1/+1
|
* Loop in S_init_perllib(), only calling S_incpush*() with INCPUSH_ADD_OLD_VERSNicholas Clark2009-02-151-1/+1
| | | | | | | | | | | the second time (and only for those entries at had it). Implement the loop by calling init_perllib() twice, to avoid a rats nest of re-indenting. Add a new flag to S_incpush() INCPUSH_NOT_BASEDIR, to supress pushing the base directory a second time on the secnod call. With this change, re-ordering of @INC from version-orientated to prefix- orientated is partly complete. ARCHLIB and PRIVLIB remain at their old place in the @INC order.
* Refactor the separator splitting loop of S_incpush() into a S_incpush_use_sep().Nicholas Clark2009-02-151-1/+3
| | | | | | Add a parameter to S_incpush() to optionally pass in the length. As S_incpush() treats the directory parameter as const char, remove some malloc()s elsewhere that were copying data on the assumption that it was not const safe.
* Refactor S_incpush() to take 1 flags parameter, instead of 5 positional booleansNicholas Clark2009-02-151-1/+1
| | | | (which are impossible to remember).
* For -I, need to also unshift version and architecture libs onto @INC (RT#6665)Nicholas Clark2009-02-151-1/+1
| | | | (20189146be79a0596543441fa369c6bf7f85103f only added the given directory.)
* suidperl goes.Nicholas Clark2009-01-231-18/+1
|
* Update the documentation of get_sv() to note that it calls Perl_gv_fetchpv(),Nicholas Clark2009-01-211-1/+1
| | | | | and hence the 'create' argument is actually 'flags'. Fix core code and documentation that used TRUE or FALSE to use 0 or GV_ADD.
* Update the documentation of get_av() to note that it calls Perl_gv_fetchpv(),Nicholas Clark2009-01-211-1/+1
| | | | | and hence the 'create' argument is actually 'flags'. Fix code and documentation that used TRUE or FALSE to use 0 or GV_ADD.
* Update the documentation of get_hv() to note that it calls Perl_gv_fetchpv(),Nicholas Clark2009-01-211-1/+1
| | | | | and hence the 'create' argument is actually 'flags'. Fix code and documentation that used TRUE or FALSE to use 0 or GV_ADD.
* Changing get_isa_hash() to static means that it needs to be wrapped inNicholas Clark2009-01-031-1/+1
| | | | an #if defined(PERL_IN_UNIVERSAL_C).
* get_isa_hash() is only used in S_isa_lookup(), so it can be static. Also, it hasNicholas Clark2009-01-031-2/+1
| | | | | never been in a released version of perl, so this change has no compatibility implications.