问题标签 [opcode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2492 浏览

php - 使用 APC 忽略特定文件的缓存

有没有办法防止特定文件被APC缓存操作码?用例如下:

位于云上的应用程序,可动态调整自身大小(根据需要启动和关闭服务器)。config.php 脚本必须在新 IP 可用或不可用时知道它们。

由于这些更改发生得足够频繁,而且 config.php 文件相当基本,因此不必担心只为一个文件清除 APC 是理想的。

从 APC 中清除一个文件绝对是一种可能,但由于您无法通过命令行访问 APC,因此该解决方案最终变得相当不雅。

0 投票
1 回答
250 浏览

php - 如何创建一个空的 op_array?

在我的 PHP 扩展中,如何创建一个没有操作码的 op_array?

0 投票
1 回答
455 浏览

opcode - 指令加载到寄存器

在指令集架构中,各种指令 R-Type、I-Type、J-Type 是加载到同一个通用寄存器中,还是根据操作码将不同种类的指令加载到不同的寄存器中?如果寄存器不同,那么处理器如何知道将哪条指令加载到哪个寄存器?在编译器的设计中,允许加载指令的寄存器数量是固定的吗?

处理器如何区分不同类型的指令 R-Type、I-Type、J-Type,是否基于第一个初始操作码?

0 投票
1 回答
1701 浏览

assembly - 'call dword ptr [mem32]' 问题的操作码和 ModRM?

为什么不能从 EBP 寄存器中调用指针地址?我的意思是在下面的代码模式中演示。

  1. 操作码:'0xFF 0x10' -> CALL DWORD PTR DS:[EAX]
  2. 操作码:'0xFF 0x11' -> CALL DWORD PTR DS:[ECX]
  3. 操作码:'0xFF 0x12' -> CALL DWORD PTR DS:[EDX]
  4. 操作码:'0xFF 0x13' -> CALL DWORD PTR DS:[EBX]
  5. 操作码:'0xFF 0x14' -> CALL DWORD PTR SS:[ESP+EDI]
  6. 操作码:'0xFF 0x15 0x012345678' -> CALL DWORD PTR DS:[0x012345678]
  7. 操作码:'0xFF 0x16' -> CALL DWORD PTR DS:[ESI]
  8. 操作码:'0xFF 0x16' -> CALL DWORD PTR DS:[EDI]

“5”在“Intel Instruct manual”中有说明,但从未直接提及“6”,也从未明确指出您不能从 EBP 寄存器中调用它。我知道这不是一个无用的功能,但我想知道为什么英特尔选择这两个寄存器来使用,这只是一个设计选择还是我缺少的东西?(我有一个猜测,但我很好奇真正的原因是什么。)

0 投票
2 回答
3022 浏览

java - 避免 getfield 操作码

在 Java 的 String 类中,trim方法包含以下内容:

我对“避免getfield操作码”的评论有点困惑......

这是什么意思?(我认为这避免了在字节码中使用getfield,但为什么这是一件好事 [TM]?)

是为了防止对象创建以防修剪不做任何事情(因此返回)还是?

0 投票
3 回答
218 浏览

php - 哪个建设速度更快?

哪个施工速度更快:

或者

所有变量都是本地变量。

乘法,加法,减法和除法的速度是否不同?

更新:

这里有一些澄清:

  1. 这是一个关于从头开始编写速度优化代码的理论问题。不是关于“寻找瓶颈”。
  2. 我可以自己测量代码速度。但这不是关于使用 microtime() 的作业的问题。这是一个关于 PHP 解释器如何工作的问题(我试图通过自己挖掘谷歌来弄清楚但不安全)。
  3. 此外 - 我自己测量过,有点困惑。$a、$b 和 $c 的不同起始值(零、负、正、整数和浮点数的组合)在构造之间产生不同的结果。所以我很困惑。

BoltClock 为我提供了有用的信息,但 user576875 通过发布操作码解码器的链接让我很开心!他的回答也包含对我问题的直接回答。谢谢!

0 投票
4 回答
70539 浏览

php - PHP (5.3+) 中的 \(反斜杠)有什么作用?

PHP中的 a 有什么作用\

例如,CSRF4PHP\FALSE\session_id\Exception

0 投票
1 回答
1490 浏览

php - 禁用缓存文件的 APC 缓存?

我有一个相当大的网站,其中有一个由 phpBB 提供支持的论坛。我用 1Gb 的 RAM 启用了 APC。phpBB 会生成大量缓存的 php 文件(在我的情况下为 60 000-70 000),它们会迅速填满 APC 内存。我正在考虑通过该apc.filter选项禁用此类文件的 apc 缓存。在你看来,这有意义吗?

0 投票
3 回答
49104 浏览

php - 如何检查 APC 操作码缓存在 PHP 中是否正常工作?

我正在使用启用了 APC 缓存的 PHP:

现在我怎么知道它是否 100% 使用操作码缓存。

例如,假设我有这个 PHP 文件:

现在运行此文件后,让我们将其更改为echo "Bye there";

由于 7200 秒的 TTL 还没有结束,它不应该回显“你好”吗?我对吗?如果是这样,为什么它会回响“Bye there”?如果我错了,即使在更改文件后如何强制它使用操作码缓存?

0 投票
1 回答
324 浏览

.net - Isinst 操作码在不应该返回空值时返回

最近,我通过将 IL 代码添加到 CultureDefinition 类中的一个函数来覆盖 GAC 中的 sysglobl.dll,因此 .net 框架和 Visual Studio 直接从 GAC 加载更改后的 dll。函数是:
System.Globalization.CalendarId CalendarIdofCalendar(System.Globalization.Calendar)
这里是来自 ildasm 工具的代码。

添加的代码

添加代码结束

现在这是在线问题

当我传递 PersianCalendar 的实例时,isinst返回空值,因此该函数将抛出 NotSupportedException。但是如果我通过 HijriCalendar 它可以正常工作并且会上线

等等。

我找不到我添加的部分不起作用的原因。

先感谢您。