OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
97 __ cmpb(ebx, Operand(ebp, ecx, times_2, 0)); | 97 __ cmpb(ebx, Operand(ebp, ecx, times_2, 0)); |
98 __ cmpb(Operand(ebp, ecx, times_2, 0), ebx); | 98 __ cmpb(Operand(ebp, ecx, times_2, 0), ebx); |
99 __ or_(edx, 3); | 99 __ or_(edx, 3); |
100 __ xor_(edx, 3); | 100 __ xor_(edx, 3); |
101 __ nop(); | 101 __ nop(); |
102 { | 102 { |
103 CHECK(CpuFeatures::IsSupported(CPUID)); | 103 CHECK(CpuFeatures::IsSupported(CPUID)); |
104 CpuFeatureScope fscope(&assm, CPUID); | 104 CpuFeatureScope fscope(&assm, CPUID); |
105 __ cpuid(); | 105 __ cpuid(); |
106 } | 106 } |
107 { | |
108 CHECK(CpuFeatures::IsSupported(RDTSC)); | |
109 CpuFeatureScope fscope(&assm, RDTSC); | |
110 __ rdtsc(); | |
111 } | |
112 __ movsx_b(edx, ecx); | 107 __ movsx_b(edx, ecx); |
113 __ movsx_w(edx, ecx); | 108 __ movsx_w(edx, ecx); |
114 __ movzx_b(edx, ecx); | 109 __ movzx_b(edx, ecx); |
115 __ movzx_w(edx, ecx); | 110 __ movzx_w(edx, ecx); |
116 | 111 |
117 __ nop(); | 112 __ nop(); |
118 __ imul(edx, ecx); | 113 __ imul(edx, ecx); |
119 __ shld(edx, ecx); | 114 __ shld(edx, ecx); |
120 __ shrd(edx, ecx); | 115 __ shrd(edx, ecx); |
121 __ bts(edx, ecx); | 116 __ bts(edx, ecx); |
(...skipping 335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
457 CHECK(code->IsCode()); | 452 CHECK(code->IsCode()); |
458 #ifdef OBJECT_PRINT | 453 #ifdef OBJECT_PRINT |
459 Code::cast(code)->Print(); | 454 Code::cast(code)->Print(); |
460 byte* begin = Code::cast(code)->instruction_start(); | 455 byte* begin = Code::cast(code)->instruction_start(); |
461 byte* end = begin + Code::cast(code)->instruction_size(); | 456 byte* end = begin + Code::cast(code)->instruction_size(); |
462 disasm::Disassembler::Disassemble(stdout, begin, end); | 457 disasm::Disassembler::Disassemble(stdout, begin, end); |
463 #endif | 458 #endif |
464 } | 459 } |
465 | 460 |
466 #undef __ | 461 #undef __ |
OLD | NEW |