--- a/Object.st Wed Mar 05 23:17:45 2014 +0100
+++ b/Object.st Thu Mar 06 10:55:41 2014 +0100
@@ -1675,22 +1675,22 @@
nilAllInstvars
"overwrite all inst vars of the object with nil."
-
+
%{ /* NOCONTEXT */
int flags;
if (!__isNonNilObject(self)) {
- RETURN(self);
+ RETURN(self);
}
/*
* bail out for special (weak) objects ..
*/
flags = __intVal(__ClassInstPtr(__qClass(self))->c_flags);
if (((flags & ~ARRAYMASK) == 0)
- && ((flags & ARRAYMASK) != WKPOINTERARRAY)
+ && ((flags & ARRAYMASK) != WKPOINTERARRAY)
) {
- bzero((void *)__InstPtr(self)->i_instvars, __qSize(self)-OHDR_SIZE);
- RETURN(self);
+ bzero((void *)__InstPtr(self)->i_instvars, __qSize(self)-OHDR_SIZE);
+ RETURN(self);
}
%}.
"/ fail for special objects
@@ -5437,7 +5437,7 @@
REGISTER OBJ sel = aSelector;
if (InterruptPending == nil) {
- struct inlineCache *pIlc;
+ struct inlineCache *pIlc;
#define nways 2
#define nilcs 131
@@ -5455,7 +5455,7 @@
#define SEL_AND_ILC_INIT_131(l) SEL_AND_ILC_INIT_128(l) , SEL_AND_ILC_INIT_2(l) , SEL_AND_ILC_INIT_1(l)
- static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
+ static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
#undef SEL_AND_ILC_INIT_1
#undef SEL_AND_ILC_INIT_2
@@ -5471,33 +5471,33 @@
#undef SEL_AND_ILC_INIT_257
#define TRY(n) \
- if (sel == sel_and_ilc[hash0].sel[n]) { \
- pIlc = &sel_and_ilc[hash0].ilc[n]; \
- goto perform0_send_and_return; \
- }
-
-
- int hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
-
- TRY(0);
- TRY(1);
+ if (sel == sel_and_ilc[hash0].sel[n]) { \
+ pIlc = &sel_and_ilc[hash0].ilc[n]; \
+ goto perform0_send_and_return; \
+ }
+
+
+ int hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
+
+ TRY(0);
+ TRY(1);
#undef TRY
- /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
-
- pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
- sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
- sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
- pIlc->ilc_func = __SEND0ADDR__;
- if (pIlc->ilc_poly) {
- __flushPolyCache(pIlc->ilc_poly);
- pIlc->ilc_poly = 0;
- }
+ /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
+
+ pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
+ sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
+ sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
+ pIlc->ilc_func = __SEND0ADDR__;
+ if (pIlc->ilc_poly) {
+ __flushPolyCache(pIlc->ilc_poly);
+ pIlc->ilc_poly = 0;
+ }
perform0_send_and_return:
- RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc) );
+ RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc) );
} else {
- static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
- RETURN (_SEND0(self, aSelector, nil, &ilc0));
+ static struct inlineCache ilc0 = __DUMMYILCSELF0(@line+1);
+ RETURN (_SEND0(self, aSelector, nil, &ilc0));
}
%}.
^ self perform:aSelector withArguments:#()
@@ -5711,8 +5711,10 @@
REGISTER OBJ sel = aSelector;
if (InterruptPending == nil) {
- struct inlineCache *pIlc;
+ struct inlineCache *pIlc;
+#undef nways
#define nways 2
+#undef nilcs
#define nilcs 131
#define SEL_AND_ILC_INIT_1(l) { { nil, nil } , { __ILCPERF1(l) , __ILCPERF1(l) } , 0 }
@@ -5728,7 +5730,7 @@
#define SEL_AND_ILC_INIT_131(l) SEL_AND_ILC_INIT_128(l) , SEL_AND_ILC_INIT_2(l) , SEL_AND_ILC_INIT_1(l)
- static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
+ static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
#undef SEL_AND_ILC_INIT_1
#undef SEL_AND_ILC_INIT_2
@@ -5744,34 +5746,34 @@
#undef SEL_AND_ILC_INIT_257
#define TRY(n) \
- if (sel == sel_and_ilc[hash0].sel[n]) { \
- pIlc = &sel_and_ilc[hash0].ilc[n]; \
- goto perform1_send_and_return; \
- }
-
-
- int hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
-
- TRY(0);
- TRY(1);
+ if (sel == sel_and_ilc[hash0].sel[n]) { \
+ pIlc = &sel_and_ilc[hash0].ilc[n]; \
+ goto perform1_send_and_return; \
+ }
+
+
+ int hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
+
+ TRY(0);
+ TRY(1);
#undef TRY
- /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
-
- pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
- sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
- sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
- pIlc->ilc_func = __SEND1ADDR__;
- if (pIlc->ilc_poly) {
- __flushPolyCache(pIlc->ilc_poly);
- pIlc->ilc_poly = 0;
- }
+ /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
+
+ pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
+ sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
+ sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
+ pIlc->ilc_func = __SEND1ADDR__;
+ if (pIlc->ilc_poly) {
+ __flushPolyCache(pIlc->ilc_poly);
+ pIlc->ilc_poly = 0;
+ }
perform1_send_and_return:
- RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc, arg) );
+ RETURN ( (*(pIlc->ilc_func))(self, sel, nil, pIlc, arg) );
} else {
- static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
- RETURN (_SEND1(self, aSelector, nil, &ilc1, arg));
+ static struct inlineCache ilc1 = __DUMMYILCSELF1(@line+1);
+ RETURN (_SEND1(self, aSelector, nil, &ilc1, arg));
}
%}.
^ self perform:aSelector withArguments:(Array with:arg)
@@ -5786,7 +5788,9 @@
struct inlineCache *pIlc;
if (InterruptPending == nil) {
+#undef nways
#define nways 2
+#undef nilcs
#define nilcs 131
#define SEL_AND_ILC_INIT_1(l) { { nil, nil } , { __ILCPERF2(l) , __ILCPERF2(l) } , 0 }
@@ -5802,7 +5806,7 @@
#define SEL_AND_ILC_INIT_131(l) SEL_AND_ILC_INIT_128(l) , SEL_AND_ILC_INIT_2(l) , SEL_AND_ILC_INIT_1(l)
- static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
+ static struct { OBJ sel[nways]; struct inlineCache ilc[nways]; int flip; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_131(@line) };
#undef SEL_AND_ILC_INIT_1
#undef SEL_AND_ILC_INIT_2
@@ -5818,34 +5822,34 @@
#undef SEL_AND_ILC_INIT_257
#define TRY(n) \
- if (sel == sel_and_ilc[hash0].sel[n]) { \
- pIlc = &sel_and_ilc[hash0].ilc[n]; \
- goto perform2_send_and_return; \
- }
-
-
- int hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
-
- TRY(0);
- TRY(1);
+ if (sel == sel_and_ilc[hash0].sel[n]) { \
+ pIlc = &sel_and_ilc[hash0].ilc[n]; \
+ goto perform2_send_and_return; \
+ }
+
+
+ int hash0 = __MAKE_HASH__(__GET_HASH(sel)) % nilcs;
+
+ TRY(0);
+ TRY(1);
#undef TRY
- /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
-
- pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
- sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
- sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
- pIlc->ilc_func = __SEND2ADDR__;
- if (pIlc->ilc_poly) {
- __flushPolyCache(pIlc->ilc_poly);
- pIlc->ilc_poly = 0;
- }
+ /*printf("Object >> #perform: #%s --> no PIC found\n", __symbolVal(aSelector));*/
+
+ pIlc = &sel_and_ilc[hash0].ilc[sel_and_ilc[hash0].flip];
+ sel_and_ilc[hash0].sel[sel_and_ilc[hash0].flip] = sel;
+ sel_and_ilc[hash0].flip = (sel_and_ilc[hash0].flip + 1) % nways;
+ pIlc->ilc_func = __SEND2ADDR__;
+ if (pIlc->ilc_poly) {
+ __flushPolyCache(pIlc->ilc_poly);
+ pIlc->ilc_poly = 0;
+ }
perform2_send_and_return:
- RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc, arg1, arg2) );
+ RETURN ( (*(pIlc->ilc_func))(self, aSelector, nil, pIlc, arg1, arg2) );
} else {
- static struct inlineCache ilc2 = __DUMMYILCSELF2(@line+1);
- RETURN (_SEND2(self, aSelector, nil, &ilc2, arg1, arg2));
+ static struct inlineCache ilc2 = __DUMMYILCSELF2(@line+1);
+ RETURN (_SEND2(self, aSelector, nil, &ilc2, arg1, arg2));
}
%}.
^ self perform:aSelector withArguments:(Array with:arg1 with:arg2)
@@ -6695,6 +6699,7 @@
#define SEL_AND_ILC_INIT_64(l) SEL_AND_ILC_INIT_32(l) , SEL_AND_ILC_INIT_32(l)
#define SEL_AND_ILC_INIT_128(l) SEL_AND_ILC_INIT_64(l) , SEL_AND_ILC_INIT_64(l)
#define SEL_AND_ILC_INIT_256(l) SEL_AND_ILC_INIT_128(l) , SEL_AND_ILC_INIT_128(l)
+#undef nilcs
#define nilcs 256
static struct sel_and_ilc {
@@ -6797,6 +6802,7 @@
#define SEL_AND_ILC_INIT_64(l) SEL_AND_ILC_INIT_32(l) , SEL_AND_ILC_INIT_32(l)
#define SEL_AND_ILC_INIT_128(l) SEL_AND_ILC_INIT_64(l) , SEL_AND_ILC_INIT_64(l)
#define SEL_AND_ILC_INIT_256(l) SEL_AND_ILC_INIT_128(l) , SEL_AND_ILC_INIT_128(l)
+#undef nilcs
#define nilcs 256
static struct { OBJ sel; struct inlineCache ilc; } sel_and_ilc[nilcs] = { SEL_AND_ILC_INIT_256(29) };
@@ -10049,11 +10055,11 @@
!Object class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.758 2014-03-05 22:17:45 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.759 2014-03-06 09:55:41 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.758 2014-03-05 22:17:45 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.759 2014-03-06 09:55:41 cg Exp $'
!
version_SVN