summaryrefslogtreecommitdiff
path: root/erts/emulator/beam/erl_unicode.c
Commit message (Collapse)AuthorAgeFilesLines
...
* Remove remaining gcc 4.6 assigned-but-not-used warnings from ertsPatrik Nyblom2011-11-161-6/+10
|
* Use the proper macros in all BIFsBjörn Gustavsson2011-10-261-6/+6
| | | | | | | As a preparation for changing the calling convention for BIFs, make sure that all BIFs use the macros. Also, eliminate all calls from one BIF to another, since that also breaks the calling convention abstraction.
* Allow noncharacter code points in unicode encoding and decodingBjörn Gustavsson2011-10-131-19/+5
| | | | | | | | | | | | | | | | The two noncharacter code points 16#FFFE and 16#FFFF were not allowed to be encoded or decoded using the unicode module or bit syntax. That causes an inconsistency, since the noncharacters 16#FDD0 to 16#FDEF could be encoded/decoded. There is two ways to fix that inconsistency. We have chosen to allow 16#FFFE and 16#FFFF to be encoded and decoded, because the noncharacters could be useful internally within an application and it will make encoding and decoding slightly faster. Reported-by: Alisdair Sullivan
* Update copyright yearsBjörn-Egil Dahlberg2011-05-201-1/+1
|
* erts: Remove unused variablesTuncer Ayaz2011-03-161-2/+0
|
* Fix a couple typos in filename encoding docsTuncer Ayaz2010-12-101-1/+1
|
* Teach prim_file not to accept atoms and not to throw exceptionsPatrik Nyblom2010-11-301-0/+7
|
* Teach spawn_executable about UnicodePatrik Nyblom2010-11-301-0/+73
| | | | Also corrected compressed files on Windows
* Convert filenames read on MacOSX to canonical formPatrik Nyblom2010-11-301-81/+335
|
* Make Unicode filenames work on WindowsPatrik Nyblom2010-11-301-6/+32
|
* Handle binary file names and conversion of unicode stringsPatrik Nyblom2010-11-301-2/+2
|
* Teach filename to accept raw data and add filename enc option to emuPatrik Nyblom2010-11-291-16/+92
|
* Add bifs to translate between erlang filenames and native encodingPatrik Nyblom2010-11-291-1/+383
|
* Merge branch 'pan/otp_8332_halfword' into devErlang/OTP2010-03-221-15/+15
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * pan/otp_8332_halfword: Teach testcase in driver_suite the new prototype for driver_async wx: Correct usage of driver callbacks from wx thread Adopt the new (R13B04) Nif functionality to the halfword codebase Support monitoring and demonitoring from driver threads Fix further test-suite problems Correct the VM to work for more test suites Teach {wordsize,internal|external} to system_info/1 Make tracing and distribution work Turn on instruction packing in the loader and virtual machine Add the BeamInstr data type for loaded BEAM code Fix the BEAM dissambler for the half-word emulator Store pointers to heap data in 32-bit words Add a custom mmap wrapper to force heaps into the lower address range Fit all heap data into the 32-bit address range
| * Add the BeamInstr data type for loaded BEAM codePatrik Nyblom2010-03-101-10/+10
| | | | | | | | | | | | | | For cleanliness, use BeamInstr instead of the UWord data type to any machine-sized words that are used for BEAM instructions. Only use UWord for untyped words in general.
| * Store pointers to heap data in 32-bit wordsPatrik Nyblom2010-03-101-10/+10
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | Store Erlang terms in 32-bit entities on the heap, expanding the pointers to 64-bit when needed. This works because all terms are stored on addresses in the 32-bit address range (the 32 most significant bits of pointers to term data are always 0). Introduce a new datatype called UWord (along with its companion SWord), which is an integer having the exact same size as the machine word (a void *), but might be larger than Eterm/Uint. Store code as machine words, as the instructions are pointers to executable code which might reside outside the 32-bit address range. Continuation pointers are stored on the 32-bit stack and hence must point to addresses in the low range, which means that loaded beam code much be placed in the low 32-bit address range (but, as said earlier, the instructions themselves are full words). No Erlang term data can be stored on C stacks (enforced by an earlier commit). This version gives a prompt, but test cases still fail (and dump core). The loader (and emulator loop) has instruction packing disabled. The main issues has been in rewriting loader and actual virtual machine. Subsystems (like distribution) does not work yet.
* The R13B03 release.OTP_R13B03Erlang/OTP2009-11-201-0/+1815