diff options
author | Lukas Larsson <[email protected]> | 2016-05-03 10:21:53 +0200 |
---|---|---|
committer | Lukas Larsson <[email protected]> | 2016-05-03 10:21:53 +0200 |
commit | e7f15eeaaa60833cb69f6f9c9b8de53b6b254cfd (patch) | |
tree | 1fd4228b48e4a2092469e26a37839d952af204b4 | |
parent | e36b604cb3fe58fcd7a8916d8498b5f2182ddcff (diff) | |
parent | e48518e4520146d4b8461689c2aab5882478339f (diff) | |
download | otp-e7f15eeaaa60833cb69f6f9c9b8de53b6b254cfd.tar.gz otp-e7f15eeaaa60833cb69f6f9c9b8de53b6b254cfd.tar.bz2 otp-e7f15eeaaa60833cb69f6f9c9b8de53b6b254cfd.zip |
Merge branch 'margnus1/llvm-corruption-fix/PR-1038/OTP-13366'
* margnus1/llvm-corruption-fix/PR-1038/OTP-13366:
erl_process: Restore R18 HiPE PCB offsets
-rw-r--r-- | erts/emulator/beam/erl_process.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.h b/erts/emulator/beam/erl_process.h index 61acf5924b..1c01d705a7 100644 --- a/erts/emulator/beam/erl_process.h +++ b/erts/emulator/beam/erl_process.h @@ -925,7 +925,6 @@ struct process { Eterm* stop; /* Stack top */ Eterm* heap; /* Heap start */ Eterm* hend; /* Heap end */ - Eterm* abandoned_heap; Uint heap_sz; /* Size of heap in words */ Uint min_heap_size; /* Minimum size of heap (in words). */ Uint min_vheap_size; /* Minimum size of virtual heap (in words). */ @@ -941,6 +940,16 @@ struct process { #endif /* + * Moved to after "struct hipe_process_state hipe", as a temporary fix for + * LLVM hard-coding offsetof(struct process, hipe.nstack) (sic!) + * (see void X86FrameLowering::adjustForHiPEPrologue(...) in + * lib/Target/X86/X86FrameLowering.cpp). + * + * Used to be below "Eterm* hend". + */ + Eterm* abandoned_heap; + + /* * Saved x registers. */ Uint arity; /* Number of live argument registers (only valid |