SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
Copyright © 2017 Instantiations, Inc.
25th
ESUG Conference

Maribor, Slovenia

September 6, 2017



VA Smalltalk Update



**including**

Exploring the Dark Underside of 64-bit Support



John O’Keefe
Chief Technical Officer
Instantiations, Inc.
Copyright © 2017 Instantiations, Inc.
Agenda
• 2017 Release Content
• 64-bit Support
• Next Release
• Q&A
Copyright © 2017 Instantiations, Inc.
2017 Release
V9.0 available soon for Windows
Copyright © 2017 Instantiations, Inc.
V9.0 Content
• Windows only
• New 32/64-bit VMs
• Fully backward compatible
• Image adaptation for 64-bits
• Dual, but shared, Environments
• Dual Installers
Copyright © 2017 Instantiations, Inc.
V9.0 Contents

Minor Enhancements
• Grease and Seaside
• Currency
• Cryptography
• Elliptic Curve support added
• 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
Copyright © 2017 Instantiations, Inc.
What Made 64-bit Difficult?

Beyond writing new VMs
• Bootstrap
• Serialize for everyone
• Expose the magic
• Say what you mean
• Managing elastic OSStructures
• I don’t have my source
Copyright © 2017 Instantiations, Inc.
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
• 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
Copyright © 2017 Instantiations, Inc.
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)
• If 64-bit serialized object is required; temporarily turn off
compatible mode
• 64-bit serialized object cannot be read by 32-bit image
Copyright © 2017 Instantiations, Inc.
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) ➔ System vmPointerSize
• 12 (size of object header) ➔ Object objectHeaderSize
• 20 (size of Association) ➔ self associationSize
• Etc.
• Solution:
• Find and fix (parameterize)
Copyright © 2017 Instantiations, Inc.
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:
• Examine ALL PlatformFunction definitions and make
parameter and returnValue types explicitly correct
Copyright © 2017 Instantiations, Inc.
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
• 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
Copyright © 2017 Instantiations, Inc.
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
• Immediate access to additional memory
• Doesn’t handle access to 64-bit DLLs
• Run only 32-bit images
Copyright © 2017 Instantiations, Inc.
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
• Exposed problems that in-house testing couldn’t find
Copyright © 2017 Instantiations, Inc.
Looking to the Future
Copyright © 2017 Instantiations, Inc.
Next Release
• UNIX 32/64 bit VMs
• Short development cycle
• Beta program expected to start soon
• Unicode
Copyright © 2017 Instantiations, Inc.
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
• 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
Copyright © 2017 Instantiations, Inc.
Contact us
• General information
• info@instantiations.com
• Sales
• sales@instantiations.com
• Support
• support@instantiations.com
• Me
• john_okeefe@instantiations.com
Copyright © 2017 Instantiations, Inc.
Thank you for your attention
Questions?
Copyright © 2017 Instantiations, Inc.
Backup
Copyright © 2017 Instantiations, Inc.
Future Releases

Candidate Items
• Web interface
• Web services debugging support/doc
• Web services tooling improvements
• Validating XML parser
• GUI Look-and-Feel
• GTK+ 3.x on Linux
• Windows Common Controls additions
• Back-port widgets from add-ons (ex: UML Designer)
Copyright © 2017 Instantiations, Inc.
Future Releases

Candidate Items
• Infrastructure
• Consolidate product settings using Settings Framework
• Settings Dialogs to complement Settings Framework
• Consolidate product logging using Logging Framework
• Middleware
• GLORP Programmer’s Reference
• MQ currency
• TCP/IP V6
• 0MQ
Copyright © 2017 Instantiations, Inc.
Future Releases

Candidate Items
• Development Tools
• Redesigned Change Browser & Merge Tool
• C API wrapper generation tool
• Security
• ‘Full’ security framework -- OpenSSL 1.0.2 or later
wrappers
• Performance and Scalability
• Parallel garbage collection
• Class library performance hotspots
• Integrate KES/Stats goodie for object monitoring
• Platform
• Windows Services control moved from C to Smalltalk
Copyright © 2017 Instantiations, Inc.
Future Releases

Candidate Items
• External Interfaces
• JNIport (currently available on VAStGoodies.com)
• .NET/C#
• Other
• Class Libraries
• Collection hashing policies
• Sorted collection sorting policies
• Other
• We’re always looking for suggestions
Copyright © 2017 Instantiations, Inc.
Open Source Project Committer
• Instantiations will donate a perpetual VA Smalltalk
license
• to committers
• working on non-commercial open source project
• Hint: release something to VAStGoodies.com
• No charge
• Details
• http://www.instantiations.com/company/open-source.html
Copyright © 2017 Instantiations, Inc.
Academic Licenses
• Accredited educational institutions
• Teaching staff
• Students
• No charge
• Details
• http://www.instantiations.com/products/academic-license-
program.html

Contenu connexe

Plus de ESUG

Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsESUG
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector TuningESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FutureESUG
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the DebuggerESUG
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing ScoreESUG
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptESUG
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsESUG
 
BioSmalltalk
BioSmalltalkBioSmalltalk
BioSmalltalkESUG
 
gt4atproto, A Programmable Environment for Social Media
gt4atproto, A Programmable Environment for Social Mediagt4atproto, A Programmable Environment for Social Media
gt4atproto, A Programmable Environment for Social MediaESUG
 
Roassal3 update
Roassal3 updateRoassal3 update
Roassal3 updateESUG
 
VASER Control: Smart Energy
VASER Control: Smart EnergyVASER Control: Smart Energy
VASER Control: Smart EnergyESUG
 
Do you know your browser?
Do you know your browser?Do you know your browser?
Do you know your browser?ESUG
 
News on Bloc for Pharo
News on Bloc for PharoNews on Bloc for Pharo
News on Bloc for PharoESUG
 
Do you really understand Git?
Do you really understand Git?Do you really understand Git?
Do you really understand Git?ESUG
 
Visual driven database queries
Visual driven database queriesVisual driven database queries
Visual driven database queriesESUG
 

Plus de ESUG (20)

Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 
BioSmalltalk
BioSmalltalkBioSmalltalk
BioSmalltalk
 
gt4atproto, A Programmable Environment for Social Media
gt4atproto, A Programmable Environment for Social Mediagt4atproto, A Programmable Environment for Social Media
gt4atproto, A Programmable Environment for Social Media
 
Roassal3 update
Roassal3 updateRoassal3 update
Roassal3 update
 
VASER Control: Smart Energy
VASER Control: Smart EnergyVASER Control: Smart Energy
VASER Control: Smart Energy
 
Do you know your browser?
Do you know your browser?Do you know your browser?
Do you know your browser?
 
News on Bloc for Pharo
News on Bloc for PharoNews on Bloc for Pharo
News on Bloc for Pharo
 
Do you really understand Git?
Do you really understand Git?Do you really understand Git?
Do you really understand Git?
 
Visual driven database queries
Visual driven database queriesVisual driven database queries
Visual driven database queries
 

Dernier

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 

Dernier (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 

VA Smalltalk Product Update and Roadmap

  • 1. Copyright © 2017 Instantiations, Inc. 25th ESUG Conference
 Maribor, Slovenia
 September 6, 2017
 
 VA Smalltalk Update
 
 **including**
 Exploring the Dark Underside of 64-bit Support
 
 John O’Keefe Chief Technical Officer Instantiations, Inc.
  • 2. Copyright © 2017 Instantiations, Inc. Agenda • 2017 Release Content • 64-bit Support • Next Release • Q&A
  • 3. Copyright © 2017 Instantiations, Inc. 2017 Release V9.0 available soon for Windows
  • 4. Copyright © 2017 Instantiations, Inc. V9.0 Content • Windows only • New 32/64-bit VMs • Fully backward compatible • Image adaptation for 64-bits • Dual, but shared, Environments • Dual Installers
  • 5. Copyright © 2017 Instantiations, Inc. V9.0 Contents
 Minor Enhancements • Grease and Seaside • Currency • Cryptography • Elliptic Curve support added • 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. Copyright © 2017 Instantiations, Inc. What Made 64-bit Difficult?
 Beyond writing new VMs • Bootstrap • Serialize for everyone • Expose the magic • Say what you mean • Managing elastic OSStructures • I don’t have my source
  • 7. Copyright © 2017 Instantiations, Inc. 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 • 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. Copyright © 2017 Instantiations, Inc. 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) • If 64-bit serialized object is required; temporarily turn off compatible mode • 64-bit serialized object cannot be read by 32-bit image
  • 9. Copyright © 2017 Instantiations, Inc. 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) ➔ System vmPointerSize • 12 (size of object header) ➔ Object objectHeaderSize • 20 (size of Association) ➔ self associationSize • Etc. • Solution: • Find and fix (parameterize)
  • 10. Copyright © 2017 Instantiations, Inc. 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: • Examine ALL PlatformFunction definitions and make parameter and returnValue types explicitly correct
  • 11. Copyright © 2017 Instantiations, Inc. 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 • 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. Copyright © 2017 Instantiations, Inc. 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 • Immediate access to additional memory • Doesn’t handle access to 64-bit DLLs • Run only 32-bit images
  • 13. Copyright © 2017 Instantiations, Inc. 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 • Exposed problems that in-house testing couldn’t find
  • 14. Copyright © 2017 Instantiations, Inc. Looking to the Future
  • 15. Copyright © 2017 Instantiations, Inc. Next Release • UNIX 32/64 bit VMs • Short development cycle • Beta program expected to start soon • Unicode
  • 16. Copyright © 2017 Instantiations, Inc. 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 • 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. Copyright © 2017 Instantiations, Inc. Contact us • General information • info@instantiations.com • Sales • sales@instantiations.com • Support • support@instantiations.com • Me • john_okeefe@instantiations.com
  • 18. Copyright © 2017 Instantiations, Inc. Thank you for your attention Questions?
  • 19. Copyright © 2017 Instantiations, Inc. Backup
  • 20. Copyright © 2017 Instantiations, Inc. Future Releases
 Candidate Items • Web interface • Web services debugging support/doc • Web services tooling improvements • Validating XML parser • GUI Look-and-Feel • GTK+ 3.x on Linux • Windows Common Controls additions • Back-port widgets from add-ons (ex: UML Designer)
  • 21. Copyright © 2017 Instantiations, Inc. Future Releases
 Candidate Items • Infrastructure • Consolidate product settings using Settings Framework • Settings Dialogs to complement Settings Framework • Consolidate product logging using Logging Framework • Middleware • GLORP Programmer’s Reference • MQ currency • TCP/IP V6 • 0MQ
  • 22. Copyright © 2017 Instantiations, Inc. Future Releases
 Candidate Items • Development Tools • Redesigned Change Browser & Merge Tool • C API wrapper generation tool • Security • ‘Full’ security framework -- OpenSSL 1.0.2 or later wrappers • Performance and Scalability • Parallel garbage collection • Class library performance hotspots • Integrate KES/Stats goodie for object monitoring • Platform • Windows Services control moved from C to Smalltalk
  • 23. Copyright © 2017 Instantiations, Inc. Future Releases
 Candidate Items • External Interfaces • JNIport (currently available on VAStGoodies.com) • .NET/C# • Other • Class Libraries • Collection hashing policies • Sorted collection sorting policies • Other • We’re always looking for suggestions
  • 24. Copyright © 2017 Instantiations, Inc. Open Source Project Committer • Instantiations will donate a perpetual VA Smalltalk license • to committers • working on non-commercial open source project • Hint: release something to VAStGoodies.com • No charge • Details • http://www.instantiations.com/company/open-source.html
  • 25. Copyright © 2017 Instantiations, Inc. Academic Licenses • Accredited educational institutions • Teaching staff • Students • No charge • Details • http://www.instantiations.com/products/academic-license- program.html