SlideShare una empresa de Scribd logo
1 de 18
Descargar para leer sin conexión
VA Smalltalk Update
**including**
Exploring the Dark Underside of 64-bit Support
Copyright © 2017 Instantiations, Inc.
John O’Keefe
Chief Technical Officer
Instantiations, Inc.
Agenda
• 2017 Release Content
• 64-bit Support
• Next Release
• Q&A
Copyright © 2017 Instantiations, Inc.
2017 Release
Copyright © 2017 Instantiations, Inc.
V9.0 available now for Windows
V9.0 Content
• Windows only
• New 32/64-bit VMs
• Fully backward compatible
• Image adaptation for 64-bits
• Dual, but shared, Environments
Copyright © 2017 Instantiations, Inc.
• Dual Installers
V9.0 Contents
Minor Enhancements
• Grease and Seaside
• Currency
• Cryptography
• Elliptic Curve support added
• SUnit Browser
Copyright © 2017 Instantiations, Inc.
• SUnit Browser
• Performance improvement for large test sets
• Scintilla
• Full Code Assist support in Workspaces for 25+
languages
• HTTP multipart forms
• Optimized memory usage and speed
What Made 64-bit Difficult?
Beyond writing new VMs
• Bootstrap
• Serialize for everyone
• Expose the magic
• Say what you mean
Managing elastic OSStructures
Copyright © 2017 Instantiations, Inc.
• Managing elastic OSStructures
• I don’t have my source
What Made 64-bit Difficult?
Bootstrap
• Problem: All I have is a 32-bit image
• Solution:
• Mark image file as 32- or 64-bit
• Provide multiple image file loaders
• 32-bit image loader for 32-bit VM
Copyright © 2017 Instantiations, Inc.
• 32-bit image loader for 32-bit VM
• 32-bit image loader for 64-bit VM (dynamic conversion)
• 64-bit image loader for 64-bit VM
• Depend on #preStartUp/#startUp for fixup of converted
image
• Offline 32-to-64 bit conversion tool available
What Made 64-bit Difficult?
Serialization for everyone
• Problem: Serialized data (files and library
objects) must be sharable between 32- and 64-
bit images
• Solution:
• All serialization is 32-bit by default (compatibility mode)
Copyright © 2017 Instantiations, Inc.
• All serialization is 32-bit by default (compatibility mode)
• If 64-bit serialized object is required; temporarily turn
off compatible mode
• 64-bit serialized object cannot be read by 32-bit image
What Made 64-bit Difficult?
Expose the magic
• Problem: Images are littered with magic
numbers conforming to 32-bit representations
• Example:
• 4 (size of pointer)
• 12 (size of object header)
Copyright © 2017 Instantiations, Inc.
• 12 (size of object header)
• 20 (size of Association)
• Etc.
• Solution:
• Find and fix (parameterize)
• 4 (size of pointer)  System vmPointerSize
• 12 (size of object header)  Object objectHeaderSize
• 20 (size of Association)  self associationSize
What Made 64-bit Difficult?
Say what you mean
• Problem: PlatformFunction parameter and
returnValue definition semantics are too loose
• Example: #uint8, #uint16 and #uint32 widened
to 32-bits
• Solution:
Copyright © 2017 Instantiations, Inc.
• Solution:
• Examine ALL PlatformFunction definitions and make
parameter and returnValue types explicitly correct
What Made 64-bit Difficult?
Managing elastic OSStructures
• Problem: Static OSStructure definitions
(mapping C structs) need to be dynamic
• Field sizes may change for 64-bit
• Field order may change for 64-bit
• Number of fields may change for 64-bit
Copyright © 2017 Instantiations, Inc.
• Number of fields may change for 64-bit
• Field alignment may change for 64-bit
• Solution:
• Explicitly identify field sizes, order, and occurrence
• Change field references from offset based to field name
based
• Compute offsets for field names when starting image
• Completely backward compatible
What Made 64-bit Difficult?
I don’t have my source
• Problem: Method source code is hidden (3rd
party add-ons) or lost
• Solution:
• Obtain source code from 3rd party providers
• Dynamic 32-to-64 bit conversion may work at runtime
Copyright © 2017 Instantiations, Inc.
• Dynamic 32-to-64 bit conversion may work at runtime
• Immediate access to additional memory
• Doesn’t handle access to 64-bit DLLs
• Run only 32-bit images
What Helped with 64-bit?
• Early Customer Access Program
• Invitation only to limit overhead
• Small number of high-impact customers
• Beta Releases
• 3 public betas with significant number of participants
Copyright © 2017 Instantiations, Inc.
• 3 public betas with significant number of participants
• Exposed problems that in-house testing didn’t find
Looking to the Future
Copyright © 2017 Instantiations, Inc.
Next Release (9.1)
• UNIX 32/64 bit VMs
• Short development cycle
• Beta program expected to start soon
• Unicode
• Initial infrastructure layer (prims and classes)
Copyright © 2017 Instantiations, Inc.
• Initial infrastructure layer (prims and classes)
How Do You Get VA Smalltalk?
• Download evaluation copy
• http://www.instantiations.com/products/vasmalltalk/download.html
• Buy development licenses
• http://www.instantiations.com/products/purchase.html
• Download development build/beta
Copyright © 2017 Instantiations, Inc.
• Download development build/beta
• Announced in VA Smalltalk Google Group or by email
• Be a committer on an Open Source project
• http://www.instantiations.com/company/open-source.html
• Work for an educational institution
• http://www.instantiations.com/products/academic-license-
program.html
Contact us
• General information
• info@instantiations.com
• Sales
• sales@instantiations.com
• Support
Copyright © 2017 Instantiations, Inc.
• Support
• support@instantiations.com
Thank you for your attention
Copyright © 2017 Instantiations, Inc.
Questions?

Más contenido relacionado

La actualidad más candente

Comprehensive Container Based Service Monitoring with Kubernetes and Istio
Comprehensive Container Based Service Monitoring with Kubernetes and IstioComprehensive Container Based Service Monitoring with Kubernetes and Istio
Comprehensive Container Based Service Monitoring with Kubernetes and IstioFred Moyer
 
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...Codemotion
 
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioTHE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioDevOpsDays Tel Aviv
 
Netflix OSS Meetup Season 5 Episode 1
Netflix OSS Meetup Season 5 Episode 1Netflix OSS Meetup Season 5 Episode 1
Netflix OSS Meetup Season 5 Episode 1aspyker
 
Netflow Analysis using Elastic Stack - 조인중
Netflow Analysis using Elastic Stack - 조인중Netflow Analysis using Elastic Stack - 조인중
Netflow Analysis using Elastic Stack - 조인중NAVER D2
 
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for UnknownsTectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for UnknownsCoreOS
 
Kubecon 2019_eu-k8s-secrets-csi
Kubecon 2019_eu-k8s-secrets-csiKubecon 2019_eu-k8s-secrets-csi
Kubecon 2019_eu-k8s-secrets-csiRita Zhang
 
FPGA Design with Python and MyHDL
FPGA Design with Python and MyHDLFPGA Design with Python and MyHDL
FPGA Design with Python and MyHDLGuy Eschemann
 
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan VMware Tanzu
 
The Truth Behind Serverless
The Truth Behind ServerlessThe Truth Behind Serverless
The Truth Behind ServerlessDocker, Inc.
 
Kubernetes for Beginners
Kubernetes for BeginnersKubernetes for Beginners
Kubernetes for BeginnersDigitalOcean
 
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021WDDay
 
Сергей Калинец "Не SQL-ом единым..."
Сергей Калинец "Не SQL-ом единым..."Сергей Калинец "Не SQL-ом единым..."
Сергей Калинец "Не SQL-ом единым..."Fwdays
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudVelocidex Enterprises
 
Nodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design PatternNodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design PatternTalentica Software
 
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...NETWAYS
 
Beyond OpenStack | OpenStack in Real Life
Beyond OpenStack | OpenStack in Real LifeBeyond OpenStack | OpenStack in Real Life
Beyond OpenStack | OpenStack in Real LifeOpsta
 

La actualidad más candente (20)

Nzitf Velociraptor Workshop
Nzitf Velociraptor WorkshopNzitf Velociraptor Workshop
Nzitf Velociraptor Workshop
 
Comprehensive Container Based Service Monitoring with Kubernetes and Istio
Comprehensive Container Based Service Monitoring with Kubernetes and IstioComprehensive Container Based Service Monitoring with Kubernetes and Istio
Comprehensive Container Based Service Monitoring with Kubernetes and Istio
 
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...
Node.js Native AddOns from zero to hero - Nicola Del Gobbo - Codemotion Rome ...
 
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.ioTHE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
THE STATE OF OPENTELEMETRY, DOTAN HOROVITS, Logz.io
 
Netflix OSS Meetup Season 5 Episode 1
Netflix OSS Meetup Season 5 Episode 1Netflix OSS Meetup Season 5 Episode 1
Netflix OSS Meetup Season 5 Episode 1
 
Netflow Analysis using Elastic Stack - 조인중
Netflow Analysis using Elastic Stack - 조인중Netflow Analysis using Elastic Stack - 조인중
Netflow Analysis using Elastic Stack - 조인중
 
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for UnknownsTectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
Tectonic Summit 2016: Multi-Cluster Kubernetes: Planning for Unknowns
 
Kubecon 2019_eu-k8s-secrets-csi
Kubecon 2019_eu-k8s-secrets-csiKubecon 2019_eu-k8s-secrets-csi
Kubecon 2019_eu-k8s-secrets-csi
 
Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019Velociraptor - SANS Summit 2019
Velociraptor - SANS Summit 2019
 
FPGA Design with Python and MyHDL
FPGA Design with Python and MyHDLFPGA Design with Python and MyHDL
FPGA Design with Python and MyHDL
 
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
Secure Credential Management with CredHub - DaShaun Carter & Sharath Sahadevan
 
The Truth Behind Serverless
The Truth Behind ServerlessThe Truth Behind Serverless
The Truth Behind Serverless
 
Kubernetes for Beginners
Kubernetes for BeginnersKubernetes for Beginners
Kubernetes for Beginners
 
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
ОЛЕКСАНДР ЛИПКО «Graceful Shutdown Node.js + k8s» Online WDDay 2021
 
Сергей Калинец "Не SQL-ом единым..."
Сергей Калинец "Не SQL-ом единым..."Сергей Калинец "Не SQL-ом единым..."
Сергей Калинец "Не SQL-ом единым..."
 
Digital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The CloudDigital Forensics and Incident Response in The Cloud
Digital Forensics and Incident Response in The Cloud
 
Nodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design PatternNodejs Chapter 3 - Design Pattern
Nodejs Chapter 3 - Design Pattern
 
Kubernetes scheduling and QoS
Kubernetes scheduling and QoSKubernetes scheduling and QoS
Kubernetes scheduling and QoS
 
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
stackconf 2021 | Embracing change: Policy-as-code for Kubernetes with OPA and...
 
Beyond OpenStack | OpenStack in Real Life
Beyond OpenStack | OpenStack in Real LifeBeyond OpenStack | OpenStack in Real Life
Beyond OpenStack | OpenStack in Real Life
 

Similar a VA Smalltalk Product Update and Roadmap by John O'Keefe

Dino2 - the Amazing Evolution of the VA Smalltalk Virtual Machine
Dino2 - the Amazing Evolution of the VA Smalltalk Virtual MachineDino2 - the Amazing Evolution of the VA Smalltalk Virtual Machine
Dino2 - the Amazing Evolution of the VA Smalltalk Virtual MachineESUG
 
Advanced GitHub Enterprise Administration
Advanced GitHub Enterprise AdministrationAdvanced GitHub Enterprise Administration
Advanced GitHub Enterprise AdministrationLars Schneider
 
How to Port a 9 Million Code Line Project to 64 bits?
How to Port a 9 Million Code Line Project to 64 bits? How to Port a 9 Million Code Line Project to 64 bits?
How to Port a 9 Million Code Line Project to 64 bits? PVS-Studio
 
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...Frédéric Aatz
 
Linux: embarquement immédiat pour le cloud
Linux: embarquement immédiat pour le cloudLinux: embarquement immédiat pour le cloud
Linux: embarquement immédiat pour le cloudMicrosoft
 
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessenAlles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessenpanagenda
 
Live Content: Finding new ways to publish
Live Content: Finding new ways to publishLive Content: Finding new ways to publish
Live Content: Finding new ways to publishckimrie
 
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018Alan Quayle
 
BSides Leeds - Performing JavaScript Static Analysis
BSides Leeds -  Performing JavaScript Static AnalysisBSides Leeds -  Performing JavaScript Static Analysis
BSides Leeds - Performing JavaScript Static AnalysisLewis Ardern
 
I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017Matthew Groves
 
Cincom Smalltalk Roadmap 2015
Cincom Smalltalk Roadmap 2015Cincom Smalltalk Roadmap 2015
Cincom Smalltalk Roadmap 2015ESUG
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationNils Hofmeister
 
Mongo DB at Community Engine
Mongo DB at Community EngineMongo DB at Community Engine
Mongo DB at Community EngineCommunity Engine
 
MongoDB at community engine
MongoDB at community engineMongoDB at community engine
MongoDB at community enginemathraq
 
Implement DevOps Like a Unicorn—Even If You’re Not One
Implement DevOps Like a Unicorn—Even If You’re Not OneImplement DevOps Like a Unicorn—Even If You’re Not One
Implement DevOps Like a Unicorn—Even If You’re Not OneTechWell
 
Cincom smalltalk roadmap 2015 draft3
Cincom smalltalk roadmap 2015 draft3Cincom smalltalk roadmap 2015 draft3
Cincom smalltalk roadmap 2015 draft3ArdenCST
 
Cincom smalltalk roadmap 2015 draft2
Cincom smalltalk roadmap 2015 draft2Cincom smalltalk roadmap 2015 draft2
Cincom smalltalk roadmap 2015 draft2ArdenCST
 
DevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash courseDevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash courseCisco DevNet
 

Similar a VA Smalltalk Product Update and Roadmap by John O'Keefe (20)

Cs4 Production Premium 64bit Wp
Cs4 Production Premium 64bit WpCs4 Production Premium 64bit Wp
Cs4 Production Premium 64bit Wp
 
Dino2 - the Amazing Evolution of the VA Smalltalk Virtual Machine
Dino2 - the Amazing Evolution of the VA Smalltalk Virtual MachineDino2 - the Amazing Evolution of the VA Smalltalk Virtual Machine
Dino2 - the Amazing Evolution of the VA Smalltalk Virtual Machine
 
Advanced GitHub Enterprise Administration
Advanced GitHub Enterprise AdministrationAdvanced GitHub Enterprise Administration
Advanced GitHub Enterprise Administration
 
How to Port a 9 Million Code Line Project to 64 bits?
How to Port a 9 Million Code Line Project to 64 bits? How to Port a 9 Million Code Line Project to 64 bits?
How to Port a 9 Million Code Line Project to 64 bits?
 
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
 
Linux: embarquement immédiat pour le cloud
Linux: embarquement immédiat pour le cloudLinux: embarquement immédiat pour le cloud
Linux: embarquement immédiat pour le cloud
 
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessenAlles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
Alles, was Sie ueber HCL Notes 64-Bit Clients wissen muessen
 
Live Content: Finding new ways to publish
Live Content: Finding new ways to publishLive Content: Finding new ways to publish
Live Content: Finding new ways to publish
 
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018Matrix, The Year To Date, Ben Parsons, TADSummit 2018
Matrix, The Year To Date, Ben Parsons, TADSummit 2018
 
BSides Leeds - Performing JavaScript Static Analysis
BSides Leeds -  Performing JavaScript Static AnalysisBSides Leeds -  Performing JavaScript Static Analysis
BSides Leeds - Performing JavaScript Static Analysis
 
DITA versus DITA-OT
DITA versus DITA-OTDITA versus DITA-OT
DITA versus DITA-OT
 
I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017I Have a NoSQL toaster - DC - August 2017
I Have a NoSQL toaster - DC - August 2017
 
Cincom Smalltalk Roadmap 2015
Cincom Smalltalk Roadmap 2015Cincom Smalltalk Roadmap 2015
Cincom Smalltalk Roadmap 2015
 
PHP Unconference Continuous Integration
PHP Unconference Continuous IntegrationPHP Unconference Continuous Integration
PHP Unconference Continuous Integration
 
Mongo DB at Community Engine
Mongo DB at Community EngineMongo DB at Community Engine
Mongo DB at Community Engine
 
MongoDB at community engine
MongoDB at community engineMongoDB at community engine
MongoDB at community engine
 
Implement DevOps Like a Unicorn—Even If You’re Not One
Implement DevOps Like a Unicorn—Even If You’re Not OneImplement DevOps Like a Unicorn—Even If You’re Not One
Implement DevOps Like a Unicorn—Even If You’re Not One
 
Cincom smalltalk roadmap 2015 draft3
Cincom smalltalk roadmap 2015 draft3Cincom smalltalk roadmap 2015 draft3
Cincom smalltalk roadmap 2015 draft3
 
Cincom smalltalk roadmap 2015 draft2
Cincom smalltalk roadmap 2015 draft2Cincom smalltalk roadmap 2015 draft2
Cincom smalltalk roadmap 2015 draft2
 
DevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash courseDevNetCreate Workshop - build a react app - React crash course
DevNetCreate Workshop - build a react app - React crash course
 

Más de FAST

Threads, Critical Sections, and Termination
Threads, Critical Sections, and TerminationThreads, Critical Sections, and Termination
Threads, Critical Sections, and TerminationFAST
 
OOP with Smalltalk
OOP with SmalltalkOOP with Smalltalk
OOP with SmalltalkFAST
 
Powerlang: a Vehicle for Lively Implementing Programming Languages
Powerlang: a Vehicle for Lively Implementing Programming LanguagesPowerlang: a Vehicle for Lively Implementing Programming Languages
Powerlang: a Vehicle for Lively Implementing Programming LanguagesFAST
 
Constructing 3D scenes with Woden Engine
Constructing 3D scenes with Woden EngineConstructing 3D scenes with Woden Engine
Constructing 3D scenes with Woden EngineFAST
 
Demystifying the creation of coding tools
Demystifying the creation of coding toolsDemystifying the creation of coding tools
Demystifying the creation of coding toolsFAST
 
Application Starter: the entry point for your application
Application Starter: the entry point for your applicationApplication Starter: the entry point for your application
Application Starter: the entry point for your applicationFAST
 
Improving the Pharo VM
Improving the Pharo VMImproving the Pharo VM
Improving the Pharo VMFAST
 
What is (not) Pharo 8?
What is (not) Pharo 8?What is (not) Pharo 8?
What is (not) Pharo 8?FAST
 
Stargate: an interstellar journey to RESTful APIs
Stargate: an interstellar journey to RESTful APIsStargate: an interstellar journey to RESTful APIs
Stargate: an interstellar journey to RESTful APIsFAST
 
Opening Smalltalks 2019
Opening Smalltalks 2019Opening Smalltalks 2019
Opening Smalltalks 2019FAST
 
Smalltalk Computers, Past and Future by Jecel Mattos de Assumpção Jr
Smalltalk Computers, Past and Future by Jecel Mattos de Assumpção JrSmalltalk Computers, Past and Future by Jecel Mattos de Assumpção Jr
Smalltalk Computers, Past and Future by Jecel Mattos de Assumpção JrFAST
 
Adaptive Compilation by Jecel Mattos de Assumpção Jr
Adaptive Compilation by Jecel Mattos de Assumpção JrAdaptive Compilation by Jecel Mattos de Assumpção Jr
Adaptive Compilation by Jecel Mattos de Assumpção JrFAST
 
Choosing where to run our objects: the S8 Smalltalk approach by Description:F...
Choosing where to run our objects: the S8 Smalltalk approach by Description:F...Choosing where to run our objects: the S8 Smalltalk approach by Description:F...
Choosing where to run our objects: the S8 Smalltalk approach by Description:F...FAST
 
Using 128 GPU cores, Tensorflow and VASmalltalk to detect Kolsh beers with ES...
Using 128 GPU cores, Tensorflow and VASmalltalk to detect Kolsh beers with ES...Using 128 GPU cores, Tensorflow and VASmalltalk to detect Kolsh beers with ES...
Using 128 GPU cores, Tensorflow and VASmalltalk to detect Kolsh beers with ES...FAST
 
Improving VASmalltalk deployment, availability and scalability with Docker by...
Improving VASmalltalk deployment, availability and scalability with Docker by...Improving VASmalltalk deployment, availability and scalability with Docker by...
Improving VASmalltalk deployment, availability and scalability with Docker by...FAST
 
VASmalltalk and Raspberry Pi powering the largest MIDI instrument of the world
VASmalltalk and Raspberry Pi powering the largest MIDI instrument of the worldVASmalltalk and Raspberry Pi powering the largest MIDI instrument of the world
VASmalltalk and Raspberry Pi powering the largest MIDI instrument of the worldFAST
 
Hands-on Raspberry Pi and VA Smalltalk - Starting Workshop
Hands-on Raspberry Pi and VA Smalltalk - Starting WorkshopHands-on Raspberry Pi and VA Smalltalk - Starting Workshop
Hands-on Raspberry Pi and VA Smalltalk - Starting WorkshopFAST
 
Live typing: Update and what's next by Hernan Wilkinson
Live typing: Update and what's next by Hernan WilkinsonLive typing: Update and what's next by Hernan Wilkinson
Live typing: Update and what's next by Hernan WilkinsonFAST
 
Enhanced Email Protocol Framework for VAST by Seth Berman
Enhanced Email Protocol Framework for VAST by Seth BermanEnhanced Email Protocol Framework for VAST by Seth Berman
Enhanced Email Protocol Framework for VAST by Seth BermanFAST
 
VA Smalltalk Product Update by Seth Berman
VA Smalltalk Product Update by Seth BermanVA Smalltalk Product Update by Seth Berman
VA Smalltalk Product Update by Seth BermanFAST
 

Más de FAST (20)

Threads, Critical Sections, and Termination
Threads, Critical Sections, and TerminationThreads, Critical Sections, and Termination
Threads, Critical Sections, and Termination
 
OOP with Smalltalk
OOP with SmalltalkOOP with Smalltalk
OOP with Smalltalk
 
Powerlang: a Vehicle for Lively Implementing Programming Languages
Powerlang: a Vehicle for Lively Implementing Programming LanguagesPowerlang: a Vehicle for Lively Implementing Programming Languages
Powerlang: a Vehicle for Lively Implementing Programming Languages
 
Constructing 3D scenes with Woden Engine
Constructing 3D scenes with Woden EngineConstructing 3D scenes with Woden Engine
Constructing 3D scenes with Woden Engine
 
Demystifying the creation of coding tools
Demystifying the creation of coding toolsDemystifying the creation of coding tools
Demystifying the creation of coding tools
 
Application Starter: the entry point for your application
Application Starter: the entry point for your applicationApplication Starter: the entry point for your application
Application Starter: the entry point for your application
 
Improving the Pharo VM
Improving the Pharo VMImproving the Pharo VM
Improving the Pharo VM
 
What is (not) Pharo 8?
What is (not) Pharo 8?What is (not) Pharo 8?
What is (not) Pharo 8?
 
Stargate: an interstellar journey to RESTful APIs
Stargate: an interstellar journey to RESTful APIsStargate: an interstellar journey to RESTful APIs
Stargate: an interstellar journey to RESTful APIs
 
Opening Smalltalks 2019
Opening Smalltalks 2019Opening Smalltalks 2019
Opening Smalltalks 2019
 
Smalltalk Computers, Past and Future by Jecel Mattos de Assumpção Jr
Smalltalk Computers, Past and Future by Jecel Mattos de Assumpção JrSmalltalk Computers, Past and Future by Jecel Mattos de Assumpção Jr
Smalltalk Computers, Past and Future by Jecel Mattos de Assumpção Jr
 
Adaptive Compilation by Jecel Mattos de Assumpção Jr
Adaptive Compilation by Jecel Mattos de Assumpção JrAdaptive Compilation by Jecel Mattos de Assumpção Jr
Adaptive Compilation by Jecel Mattos de Assumpção Jr
 
Choosing where to run our objects: the S8 Smalltalk approach by Description:F...
Choosing where to run our objects: the S8 Smalltalk approach by Description:F...Choosing where to run our objects: the S8 Smalltalk approach by Description:F...
Choosing where to run our objects: the S8 Smalltalk approach by Description:F...
 
Using 128 GPU cores, Tensorflow and VASmalltalk to detect Kolsh beers with ES...
Using 128 GPU cores, Tensorflow and VASmalltalk to detect Kolsh beers with ES...Using 128 GPU cores, Tensorflow and VASmalltalk to detect Kolsh beers with ES...
Using 128 GPU cores, Tensorflow and VASmalltalk to detect Kolsh beers with ES...
 
Improving VASmalltalk deployment, availability and scalability with Docker by...
Improving VASmalltalk deployment, availability and scalability with Docker by...Improving VASmalltalk deployment, availability and scalability with Docker by...
Improving VASmalltalk deployment, availability and scalability with Docker by...
 
VASmalltalk and Raspberry Pi powering the largest MIDI instrument of the world
VASmalltalk and Raspberry Pi powering the largest MIDI instrument of the worldVASmalltalk and Raspberry Pi powering the largest MIDI instrument of the world
VASmalltalk and Raspberry Pi powering the largest MIDI instrument of the world
 
Hands-on Raspberry Pi and VA Smalltalk - Starting Workshop
Hands-on Raspberry Pi and VA Smalltalk - Starting WorkshopHands-on Raspberry Pi and VA Smalltalk - Starting Workshop
Hands-on Raspberry Pi and VA Smalltalk - Starting Workshop
 
Live typing: Update and what's next by Hernan Wilkinson
Live typing: Update and what's next by Hernan WilkinsonLive typing: Update and what's next by Hernan Wilkinson
Live typing: Update and what's next by Hernan Wilkinson
 
Enhanced Email Protocol Framework for VAST by Seth Berman
Enhanced Email Protocol Framework for VAST by Seth BermanEnhanced Email Protocol Framework for VAST by Seth Berman
Enhanced Email Protocol Framework for VAST by Seth Berman
 
VA Smalltalk Product Update by Seth Berman
VA Smalltalk Product Update by Seth BermanVA Smalltalk Product Update by Seth Berman
VA Smalltalk Product Update by Seth Berman
 

Último

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 

Último (20)

Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

VA Smalltalk Product Update and Roadmap by John O'Keefe

  • 1. VA Smalltalk Update **including** Exploring the Dark Underside of 64-bit Support Copyright © 2017 Instantiations, Inc. John O’Keefe Chief Technical Officer Instantiations, Inc.
  • 2. Agenda • 2017 Release Content • 64-bit Support • Next Release • Q&A Copyright © 2017 Instantiations, Inc.
  • 3. 2017 Release Copyright © 2017 Instantiations, Inc. V9.0 available now for Windows
  • 4. V9.0 Content • Windows only • New 32/64-bit VMs • Fully backward compatible • Image adaptation for 64-bits • Dual, but shared, Environments Copyright © 2017 Instantiations, Inc. • Dual Installers
  • 5. V9.0 Contents Minor Enhancements • Grease and Seaside • Currency • Cryptography • Elliptic Curve support added • SUnit Browser Copyright © 2017 Instantiations, Inc. • SUnit Browser • Performance improvement for large test sets • Scintilla • Full Code Assist support in Workspaces for 25+ languages • HTTP multipart forms • Optimized memory usage and speed
  • 6. What Made 64-bit Difficult? Beyond writing new VMs • Bootstrap • Serialize for everyone • Expose the magic • Say what you mean Managing elastic OSStructures Copyright © 2017 Instantiations, Inc. • Managing elastic OSStructures • I don’t have my source
  • 7. What Made 64-bit Difficult? Bootstrap • Problem: All I have is a 32-bit image • Solution: • Mark image file as 32- or 64-bit • Provide multiple image file loaders • 32-bit image loader for 32-bit VM Copyright © 2017 Instantiations, Inc. • 32-bit image loader for 32-bit VM • 32-bit image loader for 64-bit VM (dynamic conversion) • 64-bit image loader for 64-bit VM • Depend on #preStartUp/#startUp for fixup of converted image • Offline 32-to-64 bit conversion tool available
  • 8. What Made 64-bit Difficult? Serialization for everyone • Problem: Serialized data (files and library objects) must be sharable between 32- and 64- bit images • Solution: • All serialization is 32-bit by default (compatibility mode) Copyright © 2017 Instantiations, Inc. • All serialization is 32-bit by default (compatibility mode) • If 64-bit serialized object is required; temporarily turn off compatible mode • 64-bit serialized object cannot be read by 32-bit image
  • 9. What Made 64-bit Difficult? Expose the magic • Problem: Images are littered with magic numbers conforming to 32-bit representations • Example: • 4 (size of pointer) • 12 (size of object header) Copyright © 2017 Instantiations, Inc. • 12 (size of object header) • 20 (size of Association) • Etc. • Solution: • Find and fix (parameterize) • 4 (size of pointer)  System vmPointerSize • 12 (size of object header)  Object objectHeaderSize • 20 (size of Association)  self associationSize
  • 10. What Made 64-bit Difficult? Say what you mean • Problem: PlatformFunction parameter and returnValue definition semantics are too loose • Example: #uint8, #uint16 and #uint32 widened to 32-bits • Solution: Copyright © 2017 Instantiations, Inc. • Solution: • Examine ALL PlatformFunction definitions and make parameter and returnValue types explicitly correct
  • 11. What Made 64-bit Difficult? Managing elastic OSStructures • Problem: Static OSStructure definitions (mapping C structs) need to be dynamic • Field sizes may change for 64-bit • Field order may change for 64-bit • Number of fields may change for 64-bit Copyright © 2017 Instantiations, Inc. • Number of fields may change for 64-bit • Field alignment may change for 64-bit • Solution: • Explicitly identify field sizes, order, and occurrence • Change field references from offset based to field name based • Compute offsets for field names when starting image • Completely backward compatible
  • 12. What Made 64-bit Difficult? I don’t have my source • Problem: Method source code is hidden (3rd party add-ons) or lost • Solution: • Obtain source code from 3rd party providers • Dynamic 32-to-64 bit conversion may work at runtime Copyright © 2017 Instantiations, Inc. • Dynamic 32-to-64 bit conversion may work at runtime • Immediate access to additional memory • Doesn’t handle access to 64-bit DLLs • Run only 32-bit images
  • 13. What Helped with 64-bit? • Early Customer Access Program • Invitation only to limit overhead • Small number of high-impact customers • Beta Releases • 3 public betas with significant number of participants Copyright © 2017 Instantiations, Inc. • 3 public betas with significant number of participants • Exposed problems that in-house testing didn’t find
  • 14. Looking to the Future Copyright © 2017 Instantiations, Inc.
  • 15. Next Release (9.1) • UNIX 32/64 bit VMs • Short development cycle • Beta program expected to start soon • Unicode • Initial infrastructure layer (prims and classes) Copyright © 2017 Instantiations, Inc. • Initial infrastructure layer (prims and classes)
  • 16. How Do You Get VA Smalltalk? • Download evaluation copy • http://www.instantiations.com/products/vasmalltalk/download.html • Buy development licenses • http://www.instantiations.com/products/purchase.html • Download development build/beta Copyright © 2017 Instantiations, Inc. • Download development build/beta • Announced in VA Smalltalk Google Group or by email • Be a committer on an Open Source project • http://www.instantiations.com/company/open-source.html • Work for an educational institution • http://www.instantiations.com/products/academic-license- program.html
  • 17. Contact us • General information • info@instantiations.com • Sales • sales@instantiations.com • Support Copyright © 2017 Instantiations, Inc. • Support • support@instantiations.com
  • 18. Thank you for your attention Copyright © 2017 Instantiations, Inc. Questions?