mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-10-24 10:10:59 +00:00
Actually Portable Python is now outperforming the Python binaries
that come bundled with Linux distros, at things like HTTP serving.
You can now have a fully featured Python install in just one .com
file that runs on six operating systems and is about 10mb in size.
With tuning, the tiniest is ~1mb. We've got most of the libraries
working, including pysqlite, and the repl now feels very pleasant.
The things you can't do quite yet are: threads and shared objects
but that can happen in the future, if the community falls in love
with this project and wants to see it developed further. Changes:
- Add siginterrupt()
- Add sqlite3 to Python
- Add issymlink() helper
- Make GetZipCdir() faster
- Add tgamma() and finite()
- Add legacy function lutimes()
- Add readlink() and realpath()
- Use heap allocations when appropriate
- Reorganize Python into two-stage build
- Save Lua / Python shell history to dotfile
- Integrate Python Lib embedding into linkage
- Make isregularfile() and isdirectory() go faster
- Make Python shell auto-completion work perfectly
- Make crash reports work better if changed directory
- Fix Python+NT open() / access() flag overflow error
- Disable Python tests relating to \N{LONG NAME} syntax
- Have Python REPL copyright() show all notice embeddings
The biggest technical challenge at the moment is working around
when Python tries to be too clever about filenames.
12 lines
256 B
ArmAsm
12 lines
256 B
ArmAsm
.include "o/libc/nt/codegen.inc"
|
|
.imp kernel32,__imp_GetFullPathNameW,GetFullPathNameW,0
|
|
|
|
.text.windows
|
|
GetFullPathName:
|
|
push %rbp
|
|
mov %rsp,%rbp
|
|
.profilable
|
|
mov __imp_GetFullPathNameW(%rip),%rax
|
|
jmp __sysv2nt
|
|
.endfn GetFullPathName,globl
|
|
.previous
|