Описание тега vm-implementation
Проектирование и реализация виртуальных машин, интерпретаторов, автоматов, машин Тьюринга.
** НЕ ** используйте этот тег для виртуализированных компьютеров (VirtualBox, VMWare, ...), если вопрос не касается реализации таких инструментов.
5
ответов
Какие языки генерируют байт-коды и могут быть загружены / выполнены в C++
Я хотел бы знать, какие языки соответствуют этому сценарию: Я пишу приложение (C++), и мне нужно добавить в него некоторую поддержку сценариев, но этот язык должен быть "скомпилирован". Эта компиляция генерирует некоторый тип "байт-кода", который не…
17 янв '12 в 04:23
2
ответа
Формат абстрагируемого параметра функции и его влияние на производительность?
Я занимаюсь разработкой виртуальной машины, и я хотел бы сделать возможным вызывать скомпилированные функции. Тем не менее, поскольку каждая функция может иметь свою сигнатуру, я планирую обобщить все вызовы на 2 возможных сценария - вызов функции б…
09 сен '13 в 09:58
6
ответов
Учебное пособие / ресурс для реализации ВМ
Я хочу, чтобы в целях самообразования была реализована простая виртуальная машина для динамического языка, предпочитаемая на C. Что-то вроде Lua VM, или Parrot, или Python VM, но проще. Существуют ли какие-либо хорошие ресурсы / учебные пособия по д…
09 янв '10 в 18:30
5
ответов
Поиск хорошей встроенной и хостинговой языковой пары
Я ищу два (один?) Языка. Одним из них будет хост, способный запускать некоторую "среду", а вторым - сценарий "агентов", действующих в этой среде. Некоторые детали: Хост должен быть способен запускать несколько "агентов" (потоков встроенного языка), …
20 окт '11 в 22:55
3
ответа
Проблемы реализации вызова / возврата функции стековой виртуальной машины
Сегодня я решил создать небольшую виртуальную машину на основе стека в C++11 - все шло довольно хорошо, пока я не начал вызывать функции и возвращаться из функций. Я пытался следовать правилам вызова, аналогичным сборке x86, но я действительно запут…
19 дек '13 в 23:09
7
ответов
Что именно попугай?
Я понимаю, что Parrot - это виртуальная машина, но мне кажется, что я не совсем понимаю идею, стоящую за ней. Как я понимаю, это виртуальная машина, которая предназначена для работы с несколькими языками. Это правильно? Каковы преимущества использов…
22 сен '08 в 23:04
3
ответа
Можно ли повысить производительность в языках на основе vm, написав код вручную в их сборке?
Я знаю, что, вероятно, не имеет смысла делать это, так как обычно быстрее и логичнее просто переписывать критичные для производительности разделы на более быстром языке, но, если оставить в стороне, можно ли писать более быстрые программы на CPython…
02 апр '12 в 07:46
3
ответа
Ускорить скомпилированные программы, используя информацию времени выполнения, как, например, JVM делает это?
Java-программы могут превзойти скомпилированные языки программирования, такие как C, в определенных задачах. Это потому, что JVM имеет информацию во время выполнения и выполняет JIT-компиляцию при необходимости (я думаю). (пример: http://benchmarksg…
16 дек '14 в 12:55
2
ответа
Виртуальная машина из регулярного выражения
Я прочитал " Сопоставление регулярных выражений: подход виртуальной машины" и теперь пытаюсь разобрать регулярное выражение и создать из него виртуальную машину. Токенизатор работает и создает свои токены. После этого шага я создаю обратную польскую…
22 май '15 в 13:13
2
ответа
Существует ли Lua 5.1 Ассемблер?
Я уже некоторое время изучаю коды операций Lua 5.1 VM без скуки. И я хочу попробовать что-то кодировать! Так есть ли какой-нибудь способ собрать Lua Assembly в байт-код?
11 дек '10 в 01:44
2
ответа
Альтернативы виртуальной машине на основе стека для переводчика
При создании интерпретатора для другого языка часто рекомендуется создавать виртуальную машину на основе стека, которая может интерпретировать байт-код, сгенерированный фактическим интерпретатором. Интерпретатор тогда будет состоять из двух частей: …
20 фев '14 в 12:56
2
ответа
Дизайн виртуальной машины с отдельным стеком и кучей
Я пытаюсь узнать немного больше о виртуальных машинах и языках программирования в целом, реализуя некоторые вещи, которые можно найти в книгах. Книга, которую я сейчас изучаю, хранит стек и кучу в одной области памяти. Стек растет вверх, а куча раст…
02 фев '14 в 06:53
2
ответа
Как полиморфные встроенные кэши работают с изменяемыми типами?
Полиморфный встроенный кэш (PIC) работает путем кэширования фактического метода по типу объекта, чтобы избежать дорогостоящих процедур поиска (обычно это поиск в хеш-таблице). Как справиться со сравнением типов, если объекты типов являются изменяемы…
27 июн '09 в 15:57
4
ответа
Сколько регистров в кастомной ВМ?
Я создаю собственную виртуальную машину, и мне интересно, сколько регистров мне следует использовать. Изначально у меня было 255, но я немного беспокоюсь о том, чтобы сохранять 255 указателей (целых КБ) в стеке или куче каждый раз, когда я вызываю ф…
01 июн '10 в 09:55
3
ответа
Согласование дизайна виртуальной машины с ее основным языком программирования
В качестве фона для побочного проекта я читал о различных проектах виртуальных машин, и JVM, конечно же, получила наибольшее количество прессы. Я также посмотрел на BEAM (Erlang), RH GHC (вроде, но не совсем VM) и некоторые реализации JavaScript. У …
09 июн '12 в 05:52
1
ответ
Каков наиболее надежный / переносимый способ выделения памяти по низким адресам в 64-битных системах?
Мне нужно выделить большие блоки памяти (которые будут использоваться моим пользовательским распределителем), которые попадают в первые 32 ГБ виртуального адресного пространства. Я полагаю, что если бы мне понадобились, скажем, блоки 1 МБ, я мог бы …
19 май '18 в 20:48
3
ответа
Модель интерпретации Python по сравнению с прямой и виртуальной компиляцией
Я составлял диаграммы (каламбур) в надежде понять различные реализации распространенных языков программирования. Я понимаю, скомпилирован или интерпретирован код, зависит от реализации кода и не является аспектом самого языка программирования. Я заи…
29 июн '12 в 18:47
1
ответ
Тип стековой записи (в виртуальной машине)
Есть кое-что, что я не совсем понимаю в виртуальных машинах на основе стека: какой тип значения хранится в стеке? Я имею в виду, что, например, если я помещаю целое число в стек, становится ясно, что его тип является 32-разрядным целым числом. Однак…
15 июн '18 в 03:10
1
ответ
Язык не сидит на виртуальной машине, для которой он предназначен
Я хочу узнать, как спроектировать виртуальную машину, которая может поддерживать несколько языков и работать с их многочисленными обновлениями без снижения производительности. Например, Scala может напрямую взаимодействовать со старыми библиотеками …
10 дек '16 в 04:16
3
ответа
Виртуальная машина с открытым исходным кодом написана в.net?
Мне интересно, если кто-нибудь знает какие-либо проекты с открытым исходным кодом виртуальной машины? Язык, на котором он написан, не имеет значения, я бы очень хотел посмотреть, как они работают. Я сделал много поиска и не мог найти много. Я догады…
08 янв '13 в 00:15