[inside hotspot] java方法调用的StubCode 众所周知jvm有 ,`invokedynamic invokestatic invokespecial invokevirtual`几条方法调用指令,每个负责调用不同的方法, 而这些方法调用落实到hotspot上都位于 的 Jav ...
分类:
编程语言 时间:
2019-01-27 21:57:05
阅读次数:
161
最近程序需要支持CGSL系统运行,测试中发现相同操作系统的两台机器,编译机运行正常,测试机coredump。core信息汇总如下,可以看出是由于测试机不支持编译后的指令导致的问题: 两台机器操作系统完全一致,内核和gcc版本如下: 通过<<Intel® 64 and IA-32 Architectu ...
分类:
其他好文 时间:
2018-11-14 01:12:00
阅读次数:
285
本文几个优化程序性能的方法出自CSAPP第五章,通过不断修改源代码,试图欺骗编译器产生有效的代码 我们先引入度量标准每元素的周期数(CPE),表示程序性能。 我们先定义一个数据结构 data_t 代表数据类型 以及常数IDENT和OP以便在后续的代码中进行不同的操作 我们首先看最初的代码版本,这是一 ...
分类:
其他好文 时间:
2018-09-21 20:25:29
阅读次数:
173
一、RE Input your lucky number 要求输入一个数字。 程序有ASLR,可以去掉便于分析。 F5 关键函数401100,传了0x61、0x401013、我们输入的值 反汇编时看到用到了XMM0、XMM1寄存器,用WinDBG调试。 我输的是189,16进制是0xBD。 从上面可 ...
分类:
其他好文 时间:
2018-09-12 15:06:05
阅读次数:
261
C语言自带memcpy已优化的很好了,通过拷贝一幅图像,测得耗时为1.8ms,经过很多其他方法代换,都无法达到如此速度,为了提速,经过摸索,终于找到更快一点的方法。经测得耗时为1.35ms。 内存拷贝程序 用完了8个多媒体寄存器,每个寄存器每次传输16个字节,用到了内存拷贝极限。 在vs2017的C ...
分类:
其他好文 时间:
2018-08-31 00:31:45
阅读次数:
943
使用SSE指令,首先要了解这一类用于进行初始化加载数据以及将暂存器的数据保存到内存相关的指令, 我们知道,大多数SSE指令是使用的xmm0到xmm8的暂存器,那么使用之前,就需要将数据从内存加载到这些暂存器。 1. load系列,用于加载数据,从内存到暂存器 __m128 _mm_load_ss (
分类:
编程语言 时间:
2016-02-19 14:11:14
阅读次数:
557
《x86/x64体系探索及编程》中提到x64下只有一种调用约定,分别使用ecx,edx,edi,esi,r8d,r9d浮点数使用xmm0。。。。c代码:#include"stdio.h"
#include"string.h"
voidpp(inta,intb,intc,intd,inte,intf,intg,inth,inti,intj)
{}
voidmain(){
pp(1,2,3,4,5,6,7,8,9,0);
}ma..
分类:
系统相关 时间:
2015-06-16 14:49:42
阅读次数:
453
mov esi, this ; vector u movups xmm0, [esi] ; first
vector in xmm0 movaps xmm2, xmm0 ...
分类:
其他好文 时间:
2014-06-07 22:51:23
阅读次数:
278
float f=0; __asm { mov esi, this ; vector u movups
xmm0, [esi] ; first vector in xm...
分类:
其他好文 时间:
2014-05-30 20:17:35
阅读次数:
318