[LLVMdev] bug in the JIT global variable emitter
nunoplopes at sapo.pt
Tue Oct 21 04:46:25 PDT 2008
>>> + /// allocateSpace - reserves space in the current block if any, or
>>> + /// allocate a new one of the given size + virtual void
>>> *allocateSpace(intptr_t Size, unsigned Alignment); +
>>> Please capitalize "reserves".
>>> + /// allocateSpace - general-purpose space allocator
>>> Better comments please. :-) Also please end the sentence with a
>>> or Chris' head will explode. :-)
>> ok, sure, I guess we don't want that :)
>>> unsigned char *result = (unsigned char *)CurBlock+1;
>>> + if (Alignment == 0) Alignment = 1;
>>> + result = (unsigned char*)(((intptr_t)result+Alignment-1) &
>>> + ~(intptr_t)(Alignment-1));
>>> If type of result is intptr_t, you can avoid some of the casting,
>> Well, I basically copied that code from the MachineCodeEmitter
>> class :P
>> I must confess that I don't know what the standard says about
>> casting. In
>> the last times I tried guessing (when implementing some parts in
>> clang) I
>> was wrong, so.. :)
>> Apart of fixing these minor things, may I commit the patch?
> Yes! But please do some sanity testing using the test suite.
Ok, patch commited!
There are no test regressions and the PHP JIT compiler seems to be working
More information about the llvm-dev