The FPU unroller (+90, -85) is checked into CVS. Had some last minute issues with 64 bit memory address emitting while loading constants. That has been worked around by using the following.
#define md_load_const_float_32(inst,reg,mem) \ do { \ amd64_push_reg((inst), MD_REG_PC); \ amd64_mov_reg_imm_size((inst), MD_REG_PC, (mem), 8); \ amd64_fld_membase((inst), (MD_REG_PC), (0), 0); \ amd64_pop_reg((inst), MD_REG_PC);\ }while(0)
Technically speaking the following code should've just worked.
#define md_load_const_float_32(inst,reg,mem) \ amd64_fld((inst), (reg), (mem))
But the amd64-codegen.h does not actually accept 64 bit pointers in there. Which is really strange, because if it doesn't, I don't understand how Mono has a working AMD64 jit (same amd64-codegen.h in both places). The direct amd64_fld would be a lot faster than an indirect membase read. There are more small things left to do in there, like SSE/2/3 opcodes for speed. For example there is a convenient cvttsd2si to convert floats and doubles to integers without too much mucking around. Also I plan to implement trig functions directly using the FPU sometime in the future. Here's an old patch of how it could be done for x86/amd64.
The float benchmark has gone up 3x approximately. From a November snapshot of the engine giving 540 on floats, it has gone up into giving 1671. I think that a further 50-60 should come in as soon as I go SSE on this codebase. And for the first time ever, my entire pnetmark has gone beyond 10,000 - 10257.
And now I have no excuse for not hacking libjit ;)
--Eat flaming death, you minicomputer mongrels
Prologue: Someone who was talking to me yesterday said that there's only one person in this world whom you can safely talk about - You. You can praise yourself, critcize yourself or advise yourself and the rest of the world will find no problems with that. Most of the times, the world will not care what you ate for breakfast or how many hours it took you to get to the office. For a vast majority of mankind, on any given day, life changing events do not happen. I am one of them.
I don't think you would find my life very interesting - I don't climb mountains, I don't travel, I don't even go out for dinner most of the times. In my life, if everything goes well, there is nothing to talk about at the end of the day. In short, I stay where I am and I don't really move unless someone pushes. I have no ambition, no purpose and no goals - except to finish my life 60 seconds to the minute. I just want a normal life.Karma: Do you believe in this world being brutally fair ? That there is some sort of balance of karma in your life. All throughout my life, the good has always come with the bad. Thankfully, the vice versa is also true. Like some sort of Instant Karma, something always compensates. Whenever I hear Limp Bizkit sing With the good comes the bad and bad comes with the good , I *think*.
Down: Almost all of last month, I was depressed and heavily frustrated. My father was going through a bad patch, I went to Cochin to meet him and had a fight. I had a fight with him about my career in particular - according to him (at the time), my job was to hold on to a well paying job. More correctly, I shouldn't be running down to Kerala everytime someone sneezes. I was being irresponsible in his point of view - maybe I was.
Up: Fastforward to last week, I was really enjoying myself at foss.in. After nearly a month of sickness and depressions, I was back on my feet. I was waking up early, tired when I slept and enjoying my four days in the sun. After nearly messing up the last day with all the aches, I finished the event in a high note. I got the money for the tickets to fly to LCA and got Yahoo! to pay for my conference fee as well. The year end party was also very nice and pleasant. Somewhere in my subconscious, something was waiting for the other shoe to drop. Something screaming "Where's the catch ?".
Down again: Yesterday, I'm back to being irritable and depressed again. I'm the sort of guy who thrives on anger - it is a more positive emotion that most people make out. You can channel your anger into more useful things - it will drive you till you drop, maybe even further. It will let you do things which are impossible otherwise, anger can push you into extremes of physical and mental abilties. I remember once (back when I was 16) just slapping a guy (who outweighed me by 30-odd kilos and much stronger) with my open palms and seeing him pass out. Yeah, I got my ass kicked by him and his friends after college. But that's the natural backlash of hurting other people - you get hurt. But after I punched through a glass window in front of the whole class, I've sort of made a conscious effort to control my anger. Over the past two years meditation has helped me control all that wild energy into something useful. Now I don't get mad, I get busy. You have to be Zen (hand guesture).
Anyone can become angry -- that is easy; but to be angry with the right person, to the right degree, at the right time, for the right purpose and in the right way; that is not easy. -- AristotleBut yesterday, I was feeling guilty. Guilt doesn't play so nice, it feeds off your motivations and drives you into your own mental traps. There is an inner voice which just keeps on screaming "You screwed up and you can't fix it" followed up a a laugh that echoes forever. The last time I ran into this was on a cricket field in college, playing a match against the civil department A team. I was standing too way out from the crease in front. The first ball was a wide and the wicket keeper manages to throw it onto the stumps before my feet slided back in. We ended up getting bowled out with 3 runs to win and 17 balls left. Joe (CS team captain) was furious, but nobody pointed any fingers. I never played in that team again - It was my choice and probably was good for all concerned. But I still feel guilty (three years later) for that one match which could've got us into the S8 cup finals (which was played between Mech A and B, sadly).
Conclusion: So I think my life is back to normal. But these days I don't know what is normal any more. Just keep pulling my oar till that bony hand taps me on the shoulder and says LET'S GO. But in the meantime, there a few more sunsets in this life that I want to ride out into. Too many mistakes left to make, too many things left to forget.
In the end, when all is tallied and counted - you're just one big zero. That's karma.
--karma error : divide by zero