Closed
Bug 515545
Opened 16 years ago
Closed 16 years ago
Add EXECUTE_TREE_TIMER code for Windows x64
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
VERIFIED
FIXED
mozilla1.9.3a1
People
(Reporter: m_kato, Assigned: m_kato)
References
Details
(Whiteboard: fixed-in-tracemonkey)
Attachments
(2 files, 3 obsolete files)
1.10 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
1.27 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
VC++ dones't support inline assembler, so we must use build-in function for rdtsc
Assignee | ||
Updated•16 years ago
|
Attachment #399648 -
Flags: review?(dvander)
Could we just use the compiler intrinsic for both architectures?
Assignee | ||
Comment 2•16 years ago
|
||
(In reply to comment #1)
> Could we just use the compiler intrinsic for both architectures?
__rdtsc is provided on both x86 and x64. But old compiler (VC++7.1?) doesn't support this intrinsic. I believe that Neil uses VC++7.1, so we should not replace x86 inline assembler with inctinsic version.
Comment 3•16 years ago
|
||
Looks like I'm in luck: my WinNT.h contains #pragma intrinsic(__rdtsc)
Makoto: With Neil's comment is it okay? I'm in favor of reducing platform #ifdefs and inline assembly.
Assignee | ||
Comment 5•16 years ago
|
||
(In reply to comment #4)
> Makoto: With Neil's comment is it okay? I'm in favor of reducing platform
> #ifdefs and inline assembly.
OK, I write new patch, then I will send review to you.
Assignee | ||
Comment 6•16 years ago
|
||
Attachment #399648 -
Attachment is obsolete: true
Attachment #399648 -
Flags: review?(dvander)
Assignee | ||
Updated•16 years ago
|
Attachment #403208 -
Flags: review?(dvander)
![]() |
||
Updated•16 years ago
|
Attachment #403208 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 7•16 years ago
|
||
Previous patch breaks on x86. Now testing more.
Attachment #403208 -
Attachment is obsolete: true
Assignee | ||
Comment 8•16 years ago
|
||
#include <intrin.h> cause build error on VC++ 2005 x86. So remove it (because it is already defined in WinNT.h)
Assignee: general → m_kato
Attachment #403936 -
Attachment is obsolete: true
Attachment #404191 -
Flags: review?(dvander)
![]() |
||
Updated•16 years ago
|
Attachment #404191 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 9•16 years ago
|
||
Whiteboard: fixed-in-tracemonkey
Comment 10•16 years ago
|
||
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Comment 11•16 years ago
|
||
(In reply to comment #3)
> Looks like I'm in luck: my WinNT.h contains #pragma intrinsic(__rdtsc)
So, I think this was because it was in my Vista SDK; it's not in the VC7 headers. Also, another machine I have with VC8 but only the Windows Server 2003 SDK doesn't compile this because it too is missing the intrinsic.
Assignee | ||
Comment 12•16 years ago
|
||
(In reply to comment #11)
> (In reply to comment #3)
> > Looks like I'm in luck: my WinNT.h contains #pragma intrinsic(__rdtsc)
> So, I think this was because it was in my Vista SDK; it's not in the VC7
> headers. Also, another machine I have with VC8 but only the Windows Server 2003
> SDK doesn't compile this because it too is missing the intrinsic.
Humm, when I add #include <intrin.h> like patch v3 with VC8 + Vista SDK or Win7 SDK, VC8 throws unexpected build error (comment #8). This issue seems to be fixed by VC9.
David, I think patch v1 is better (use inline asm for x86 and intrin function for x64). How do you think?
Comment 13•16 years ago
|
||
FYI, I added these lines so that I could compile with VC8Express + 2003SDK:
>extern "C" unsigned __int64 __rdtsc(void);
>#pragma intrinsic(__rdtsc)
As for VC7, I've given up; I can't work around vprof.h's varadic macros.
Comment 14•16 years ago
|
||
(In reply to comment #13)
> VC8Express + 2003SDK:
That's what I'm using too (FF 3.7 32bit build) and I "still" get
{
jsapi.cpp
...\js\src\nanojit\avmplus.h(106) : error C3861: '__rdtsc': identifier not found
}
Is this bug actually (fully) fixed?
Updated•16 years ago
|
OS: Windows NT → Windows 2000
Target Milestone: --- → mozilla1.9.3a1
(In reply to comment #12)
> David, I think patch v1 is better (use inline asm for x86 and intrin function
> for x64). How do you think?
Sorry for late reply. Sure, v1 is okay if this is going to cause problems.
Comment 16•16 years ago
|
||
Please, fix comment 14 failure.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Assignee | ||
Comment 17•16 years ago
|
||
Updated•16 years ago
|
Attachment #404191 -
Attachment description: patch v3.1 → patch v3.1
[Checkin: Comment 9 & 10]
Assignee | ||
Updated•16 years ago
|
Attachment #408261 -
Flags: review?(dvander)
![]() |
||
Updated•16 years ago
|
Attachment #408261 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 18•16 years ago
|
||
Updated•16 years ago
|
Attachment #408261 -
Attachment description: patch v4 → patch v4
[Checkin: Comment 18]
Updated•16 years ago
|
Flags: in-testsuite-
Comment 19•16 years ago
|
||
Status: REOPENED → RESOLVED
Closed: 16 years ago → 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•