Re: [OpenSmalltalk/opensmalltalk-vm] Fix primitiveHighResClock (actually ioHighResClock) on x86-64. (9135361)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Re: [OpenSmalltalk/opensmalltalk-vm] Fix primitiveHighResClock (actually ioHighResClock) on x86-64. (9135361)

David T Lewis
 

What about the more simpler

  unsigned a, d;
  __asm__ volatile("rdtsc" : "=a" (a), "=d" (d));
  value= ((unsigned long long)a) | (((unsigned long long)d) << 32);

which should work for both x86 and x86_64 according to https://web.archive.org/web/20161215213659/http://www.cs.wm.edu/~kearns/001lab.d/rdtsc.html ?


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.

<script type="application/json" data-scope="inboxmarkup">{"api_version":"1.0","publisher":{"api_key":"05dde50f1d1a384dd78767c55493e4bb","name":"GitHub"},"entity":{"external_key":"github/OpenSmalltalk/opensmalltalk-vm","title":"OpenSmalltalk/opensmalltalk-vm","subtitle":"GitHub repository","main_image_url":"https://cloud.githubusercontent.com/assets/143418/17495839/a5054eac-5d88-11e6-95fc-7290892c7bb5.png","avatar_image_url":"https://cloud.githubusercontent.com/assets/143418/15842166/7c72db34-2c0b-11e6-9aed-b52498112777.png","action":{"name":"Open in GitHub","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm"}},"updates":{"snippets":[{"icon":"PERSON","message":"@krono on 9135361: What about the more simpler\r\n\r\n```C\r\n unsigned a, d;\r\n __asm__ volatile(\"rdtsc\" : \"=a\" (a), \"=d\" (d));\r\n value= ((unsigned long long)a) | (((unsigned long long)d) \u003c\u003c 32);\r\n```\r\n\r\nwhich should work for both x86 and x86_64 according to https://web.archive.org/web/20161215213659/http://www.cs.wm.edu/~kearns/001lab.d/rdtsc.html ?"}],"action":{"name":"View Commit","url":"https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/91353618c46aa9e2ef5507b54517e90e4096ccad#commitcomment-26565182"}}}</script>