[Python-checkins] r46356 - python/trunk/Objects/stringobject.c

fredrik.lundh python-checkins at python.org
Fri May 26 18:32:42 CEST 2006


Author: fredrik.lundh
Date: Fri May 26 18:32:42 2006
New Revision: 46356

Modified:
   python/trunk/Objects/stringobject.c
Log:
needforspeed: use Py_LOCAL on a few more locals in stringobject.c



Modified: python/trunk/Objects/stringobject.c
==============================================================================
--- python/trunk/Objects/stringobject.c	(original)
+++ python/trunk/Objects/stringobject.c	Fri May 26 18:32:42 2006
@@ -1,6 +1,7 @@
 /* String object implementation */
 
 #define PY_SSIZE_T_CLEAN
+
 #include "Python.h"
 
 #include <ctype.h>
@@ -1485,7 +1486,7 @@
 #define RSKIP_SPACE(s, i)        { while (i>=0  &&  isspace(Py_CHARMASK(s[i]))) i--; }
 #define RSKIP_NONSPACE(s, i)     { while (i>=0  && !isspace(Py_CHARMASK(s[i]))) i--; }
 
-static PyObject *
+Py_LOCAL(PyObject *)
 split_whitespace(const char *s, Py_ssize_t len, Py_ssize_t maxsplit)
 {
 	Py_ssize_t i, j, count=0;
@@ -1519,7 +1520,7 @@
 	return NULL;
 }
 
-static PyObject *
+Py_LOCAL(PyObject *)
 split_char(const char *s, Py_ssize_t len, char ch, Py_ssize_t maxcount)
 {
 	register Py_ssize_t i, j, count=0;
@@ -1674,7 +1675,7 @@
 	return out;
 }
 
-static PyObject *
+Py_LOCAL(PyObject *)
 rsplit_whitespace(const char *s, Py_ssize_t len, Py_ssize_t maxsplit)
 {
 	Py_ssize_t i, j, count=0;
@@ -1710,7 +1711,7 @@
 	return NULL;
 }
 
-static PyObject *
+Py_LOCAL(PyObject *)
 rsplit_char(const char *s, Py_ssize_t len, char ch, Py_ssize_t maxcount)
 {
 	register Py_ssize_t i, j, count=0;
@@ -1923,7 +1924,7 @@
 	return string_join((PyStringObject *)sep, x);
 }
 
-static void
+Py_LOCAL(void)
 string_adjust_indices(Py_ssize_t *start, Py_ssize_t *end, Py_ssize_t len)
 {
 	if (*end > len)
@@ -1938,7 +1939,7 @@
 		*start = 0;
 }
 
-static Py_ssize_t
+Py_LOCAL(Py_ssize_t)
 string_find_internal(PyStringObject *self, PyObject *args, int dir)
 {
 	const char *s = PyString_AS_STRING(self), *sub;
@@ -2074,7 +2075,7 @@
 }
 
 
-static PyObject *
+Py_LOCAL(PyObject *)
 do_xstrip(PyStringObject *self, int striptype, PyObject *sepobj)
 {
 	char *s = PyString_AS_STRING(self);
@@ -2107,7 +2108,7 @@
 }
 
 
-static PyObject *
+Py_LOCAL(PyObject *)
 do_strip(PyStringObject *self, int striptype)
 {
 	char *s = PyString_AS_STRING(self);
@@ -2137,7 +2138,7 @@
 }
 
 
-static PyObject *
+Py_LOCAL(PyObject *)
 do_argstrip(PyStringObject *self, int striptype, PyObject *args)
 {
 	PyObject *sep = NULL;
@@ -2600,7 +2601,7 @@
 
 /* String ops must return a string.  */
 /* If the object is subclass of string, create a copy */
-static PyStringObject *
+Py_LOCAL(PyStringObject *)
 return_self(PyStringObject *self)
 {
 	if (PyString_CheckExact(self)) {
@@ -2612,7 +2613,7 @@
 		PyString_GET_SIZE(self));
 }
 
-static Py_ssize_t
+Py_LOCAL(Py_ssize_t)
 countchar(char *target, int target_len, char c)
 {
 	Py_ssize_t count=0;
@@ -2627,7 +2628,7 @@
 	return count;
 }
 
-static Py_ssize_t
+Py_LOCAL(Py_ssize_t)
 findstring(char *target, Py_ssize_t target_len,
 	   char *pattern, Py_ssize_t pattern_len,
 	   Py_ssize_t start,
@@ -2665,7 +2666,7 @@
 	return -1;
 }
 
-Py_ssize_t
+Py_LOCAL(Py_ssize_t)
 countstring(char *target, Py_ssize_t target_len,
 	    char *pattern, Py_ssize_t pattern_len,
 	    Py_ssize_t start,
@@ -2713,7 +2714,7 @@
 /* Algorithms for difference cases of string replacement */
 
 /* len(self)>=1, from="", len(to)>=1, maxcount>=1 */
-static PyStringObject *
+Py_LOCAL(PyStringObject *)
 replace_interleave(PyStringObject *self,
 		   PyStringObject *to,
 		   Py_ssize_t maxcount)
@@ -2776,7 +2777,7 @@
 
 /* Special case for deleting a single character */
 /* len(self)>=1, len(from)==1, to="", maxcount>=1 */
-static PyStringObject *
+Py_LOCAL(PyStringObject *)
 replace_delete_single_character(PyStringObject *self,
 				char from_c, Py_ssize_t maxcount)
 {
@@ -2821,7 +2822,7 @@
 
 /* len(self)>=1, len(from)>=2, to="", maxcount>=1 */
 
-static PyStringObject *
+Py_LOCAL(PyStringObject *)
 replace_delete_substring(PyStringObject *self, PyStringObject *from,
 			 Py_ssize_t maxcount) {
 	char *self_s, *from_s, *result_s;
@@ -2876,7 +2877,7 @@
 }
 
 /* len(self)>=1, len(from)==len(to)==1, maxcount>=1 */
-static PyStringObject *
+Py_LOCAL(PyStringObject *)
 replace_single_character_in_place(PyStringObject *self,
 				  char from_c, char to_c,
 				  Py_ssize_t maxcount)
@@ -2921,7 +2922,7 @@
 }
 
 /* len(self)>=1, len(from)==len(to)>=2, maxcount>=1 */
-static PyStringObject *
+Py_LOCAL(PyStringObject *)
 replace_substring_in_place(PyStringObject *self,
 			   PyStringObject *from,
 			   PyStringObject *to,
@@ -2978,7 +2979,7 @@
 }
 
 /* len(self)>=1, len(from)==1, len(to)>=2, maxcount>=1 */
-static PyStringObject *
+Py_LOCAL(PyStringObject *)
 replace_single_character(PyStringObject *self,
 			 char from_c,
 			 PyStringObject *to,
@@ -3051,7 +3052,7 @@
 }
 
 /* len(self)>=1, len(from)>=2, len(to)>=2, maxcount>=1 */
-static PyStringObject *
+Py_LOCAL(PyStringObject *)
 replace_substring(PyStringObject *self,
 		  PyStringObject *from,
 		  PyStringObject *to,
@@ -3129,7 +3130,7 @@
 }
 
 
-static PyStringObject *
+Py_LOCAL(PyStringObject *)
 replace(PyStringObject *self,
 	PyStringObject *from,
 	PyStringObject *to,
@@ -3490,7 +3491,7 @@
     return u;
 }
 
-static PyObject *
+Py_LOCAL(PyObject *)
 pad(PyStringObject *self, Py_ssize_t left, Py_ssize_t right, char fill)
 {
     PyObject *u;
@@ -4241,7 +4242,7 @@
 
 /* Helpers for formatstring */
 
-static PyObject *
+Py_LOCAL(PyObject *)
 getnextarg(PyObject *args, Py_ssize_t arglen, Py_ssize_t *p_argidx)
 {
 	Py_ssize_t argidx = *p_argidx;
@@ -4270,7 +4271,7 @@
 #define F_ALT	(1<<3)
 #define F_ZERO	(1<<4)
 
-static int
+Py_LOCAL(int)
 formatfloat(char *buf, size_t buflen, int flags,
             int prec, int type, PyObject *v)
 {
@@ -4457,7 +4458,7 @@
 	return result;
 }
 
-static int
+Py_LOCAL(int)
 formatint(char *buf, size_t buflen, int flags,
           int prec, int type, PyObject *v)
 {
@@ -4529,7 +4530,7 @@
 	return (int)strlen(buf);
 }
 
-static int
+Py_LOCAL(int)
 formatchar(char *buf, size_t buflen, PyObject *v)
 {
 	/* presume that the buffer is at least 2 characters long */


More information about the Python-checkins mailing list