}
public static native double nativeparsedouble(String str);
-
+ public static native double nativeparsedouble(byte[] str, int start, int length);
/**
* Return <code>true</code> if the <code>double</code> has the same
void * prev;
void * array[MAXPOINTERS];
int maxcount;
- void * buffer[1024];
+ int buffer[2048];
};
struct primitivelist {
}
#endif
+#ifdef D___Double______nativeparsedouble_____AR_B_I_I
+double CALL23(___Double______nativeparsedouble_____AR_B_I_I, int start, int length,int start,int length,struct ArrayObject * ___str___) {
+ int maxlength=(length>60)?60:length;
+ char str[maxlength+1];
+ struct ArrayObject * bytearray=VAR(___str___);
+ int i;
+ for(i=0; i<maxlength; i++) {
+ str[i]=(((char *)&bytearray->___length___)+sizeof(int))[i+start];
+ }
+ str[i]=0;
+ double d=atof(str);
+ return d;
+}
+#endif
+
#ifdef D___String______convertdoubletochar____D__AR_C
int CALL12(___String______convertdoubletochar____D__AR_C, double ___val___, double ___val___, struct ArrayObject ___chararray___) {
int length=VAR(___chararray___)->___length___;
#ifdef STMARRAY
arraystack.count=0;
#endif
- int a=mprotect((downpage(&ptrstack.buffer[0])), 4096, PROT_NONE);
+ int a=mprotect((downpage(&ptrstack.buffer[1024])), 4096, PROT_NONE);
if (a==-1)
perror("ptrstack");
a=mprotect(downpage(&primstack.array[MAXVALUES]), 4096, PROT_NONE);
#ifdef STMARRAY
arraystack.count=0;
#endif
- int a=mprotect(downpage(&ptrstack.buffer[0]), 4096, PROT_NONE);
+ int a=mprotect(downpage(&ptrstack.buffer[1024]), 4096, PROT_NONE);
if (a==-1)
perror("ptrstack");
a=mprotect(downpage(&primstack.array[MAXVALUES]), 4096, PROT_NONE);
}
#endif
+#ifdef D___Thread______abort____
+void CALL00(___Thread______abort____) {
+#ifdef SANDBOX
+ _longjmp(aborttrans,1);
+#endif
+}
+#endif
+
#ifdef DSTM
#ifdef RECOVERY
// return if the machine is dead