gpt4 book ai didi

smalltalk - 吱吱字面限制

转载 作者:行者123 更新时间:2023-12-02 23:27:26 25 4
gpt4 key购买 nike

我现在已经第三次遇到这个问题了,你们中的一些 Squeak 程序员可能会从屏幕截图中认出最好的:

enter image description here

这里是重现问题的示例代码:

d:=Dictionary new.
(1 to: 257) do: [:each|
d at: each put: each
].
f:=FileStream fileNamed: 'asdf.txt'.
d storeOn: f.
f reset.
d2:=Dictionary readFrom: f.
f close.

我知道为什么会发生这种情况(编译器用于反序列化,它通过将整个文件放入一个方法中来实现)。

过去,我总是更改代码以使用数据库或使用其他形式的序列化。 但我想知道是否有某种方法可以修复 Squeak 来使其正常工作

最佳答案

目前,没有适当的方法解决这个问题。

问题是,CompiledMethod 具有 VM 已知的格式,并且也是 VM 所期望的格式。其中包括 256 个文字限制。方法格式的更改需要更改虚拟机。这就是为什么人们到目前为止对改变字面限制犹豫不决的原因。

最近,人们花精力创建了一种新的格式,不仅是方法,而且是完全更改对象格式:the SPUR object format旨在增加方法中文字的数量等。

关于smalltalk - 吱吱字面限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19402337/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com