diff options
author | Patrik Nyblom <[email protected]> | 2011-11-15 20:10:21 +0100 |
---|---|---|
committer | Patrik Nyblom <[email protected]> | 2011-12-02 15:26:16 +0100 |
commit | e04704b1f40511a6e1090b4cb04ef543580cdcc7 (patch) | |
tree | 53b552ed234927259261550f49e88629389e6ba2 /erts/emulator/beam/global.h | |
parent | e78a1582dc13d770bf1a9de64ff817369c741ef5 (diff) | |
download | otp-e04704b1f40511a6e1090b4cb04ef543580cdcc7.tar.gz otp-e04704b1f40511a6e1090b4cb04ef543580cdcc7.tar.bz2 otp-e04704b1f40511a6e1090b4cb04ef543580cdcc7.zip |
Iron out bugs in Win64 found in daily builds
Almost all uses of the 'long' datatype is removed from VM and tests
Emulator test now runs w/o drivers crashing
Nasty abs bug fixed in VM as well as type errors in allocator debug functions
Still one allocator test that fails, domain knowledge is needed to fix that.
Fix type inconsistency in beam_load causing crashes
Diffstat (limited to 'erts/emulator/beam/global.h')
-rw-r--r-- | erts/emulator/beam/global.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/erts/emulator/beam/global.h b/erts/emulator/beam/global.h index e9b5e7e0e5..f98232246b 100644 --- a/erts/emulator/beam/global.h +++ b/erts/emulator/beam/global.h @@ -172,7 +172,7 @@ struct port { DistEntry *dist_entry; /* Dist entry used in DISTRIBUTION */ char *name; /* String used in the open */ erts_driver_t* drv_ptr; - long drv_data; + UWord drv_data; ErtsProcList *suspended; /* List of suspended processes. */ LineBuf *linebuf; /* Buffer to hold data not ready for process to get (line oriented I/O)*/ @@ -398,10 +398,7 @@ extern Eterm erts_ddll_monitor_driver(Process *p, typedef struct binary { ERTS_INTERNAL_BINARY_FIELDS - long orig_size; -#if SIZEOF_LONG < SIZEOF_VOID_P - long _pad; -#endif + SWord orig_size; char orig_bytes[1]; /* to be continued */ } Binary; @@ -410,7 +407,7 @@ typedef struct binary { typedef struct { ERTS_INTERNAL_BINARY_FIELDS - long orig_size; + SWord orig_size; void (*destructor)(Binary *); char magic_bin_data[1]; } ErtsMagicBinary; |