251 Commits

Author SHA1 Message Date
Daniel_Cortez
28c69cd8c8 #emit: Set the sign bit properly on non-32-bit cells 2017-11-12 19:44:51 +07:00
VVWVV
7440670150 fix params for data seg.
Conflicts:
	source/compiler/sc1.c
2017-11-12 19:44:51 +07:00
Daniel_Cortez
eb5ee448e5 emit/__emit: Use case-sensitive search in emit_findopcode()
The instruction name is copied in lower case anyway (see emit_parse_line()).
2017-11-11 20:50:08 +07:00
Daniel_Cortez
af31143ec3 emit/__emit: Avoid excess instruction name copying in emit_findopcode() 2017-11-11 20:50:07 +07:00
Daniel_Cortez
d15c11f420 Fix OPHANDLER_CALL-related warnings issued by clang on non-x86 targets 2017-11-11 20:50:07 +07:00
Daniel_Cortez
06feab9224 emit/__emit: Code cleanup 2017-11-11 20:50:07 +07:00
Daniel_Cortez
2492d4793b emit/__emit: Set the sign bit properly on non-32-bit cells 2017-11-11 20:50:06 +07:00
Daniel_Cortez
4fc7ef863a emit/__emit: Use 'tFIRST' instead of hardcoded '256' 2017-11-11 20:50:06 +07:00
Zeex
735291fd64 Merge branch 'performance' 2017-10-28 05:18:36 +06:00
Zeex
4a5e02ef29 Clean up global declarations 2017-10-28 05:05:37 +06:00
Zeex
b962246ad5 Fix build errors on MSVC 2013 2017-10-28 04:39:34 +06:00
Zeex
38f901445b Merge pull request #202 from Y-Less/master
-E warnings as errors.
2017-10-26 04:43:44 +06:00
Zeex
693591bdc3 Don't delete trailing whitespace before '\'
new s [] = "hello \
	world";

^ needs to be "hello world", not "helloworld".
2017-10-26 04:36:19 +06:00
Y_Less
f1da832ae9 -E warnings as errors. 2017-10-24 21:18:07 +02:00
Zeex
237d89e7e4 Merge branch 'performance' of https://github.com/maddinat0r/pawn into performance 2017-10-24 08:38:47 +06:00
Zeex
36d5eed854 v3.10.3 2017-10-23 08:05:40 +06:00
Zeex
17ebeb8ebe Revert "triggers an error for issue #129"
This reverts commit 9e4a2b283fd01549d05058c8946ecee974e30dbe.

Reverting because of #198.
2017-10-23 08:04:02 +06:00
Zeex
bf514bcd7d Increase size of literal queue buffer 2017-10-23 08:00:33 +06:00
Zeex
a99e649a6b Group sequences of repeating literals into one write
Add a new "dumpn" pseudo-opcode that dumps N copies of the same value
to the stage buffer. It's basically the same as "dump" but much faster
when dumping the same value a lot of times, for example, when writing
initial values for large arrays.

On my Linux system the time it took to dump a 100000000 cell array went
down from 20 to 8 seconds in Release configuration, i.e. 2.5 times faster!

I haven't profiled further yet (Visual Studio 2017 profiler is broken,
gprof won't output anything (I'm probably doing it wrong), I might try
valgrind later).
2017-10-22 12:36:55 +06:00
Zeex
092b07464b Fix compile warning 2017-10-22 11:42:46 +06:00
Daniel_Cortez
aa9f589bf5 Memoize the address of the '__line' symbol instead of searching for it in loctab/glbtab every new line 2017-10-20 23:02:34 +07:00
Alex Martin
a4dbe02330 minor cleanup 2017-10-19 21:08:20 +02:00
Alex Martin
7363feb612 change hashmap size 2017-10-19 21:08:20 +02:00
Daniel_Cortez
dc21aec45d Set cache_sym->next to NULL in symbol_cache_remove() 2017-10-19 21:08:20 +02:00
Daniel_Cortez
03aaa4f2cd Minor adjustments 2017-10-19 21:08:20 +02:00
Daniel_Cortez
f5ba1b4077 Improved itoh() implementation 2017-10-19 21:08:20 +02:00
Daniel_Cortez
8665f8b03c Code cleanup, style fixes 2017-10-19 21:08:20 +02:00
Alex Martin
cbf7e661d2 fix previous stage buffer performance opt 2017-10-19 21:08:20 +02:00
Alex Martin
9efca3a7b4 increase hashmap size 2017-10-19 21:08:20 +02:00
Alex Martin
b312efa57b bug-fix: append new symbol to last one 2017-10-19 21:08:20 +02:00
Alex Martin
3c5f91dd0b fix symbol lookup for symbols with same name 2017-10-19 21:08:20 +02:00
Alex Martin
73d4934d61 store symbol children for faster lookup 2017-10-19 21:08:20 +02:00
Alex Martin
2d8791a0f2 minor improvement 2017-10-19 21:08:20 +02:00
Alex Martin
0138726698 add symbol lookup cache 2017-10-19 21:08:20 +02:00
Alex Martin
66e745a94b improve write op performance 2017-10-19 21:08:20 +02:00
Zeex
2a85a9fa33 Merge pull request #190 from YashasSamaga/i154-fix
trigger error if an array of unknown size is being returned
2017-10-08 02:48:48 +06:00
Zeex
9daeae3d1a Merge pull request #151 from YashasSamaga/i129-fix
triggers an error for issue #129
2017-10-08 02:47:20 +06:00
Zeex
e7ecf386f8 Remove temporary '\a' characters and trailing whitespace in line continuations 2017-10-08 02:31:34 +06:00
Zeex
a0c994493d Merge pull request #192 from YashasSamaga/i187-fix
remove extra new lines from #warning and #pragma deprecated
2017-10-07 23:04:40 +06:00
Zeex
8b8f8adbb5 Merge pull request #189 from YashasSamaga/i159-fix
fixes deletion of constants passed a compiler args during parse
2017-10-07 22:49:28 +06:00
Zeex
0fab187aad Merge pull request #185 from Y-Less/master
Document correct state transition target name.
2017-10-07 22:48:14 +06:00
Daniel_Cortez
6119df8f2b Rename asm to emit, add __emit as an alternate keyword. 2017-10-06 15:51:24 +07:00
Yashas
13314369a5 handle allocation failure in the previous commit 2017-09-30 09:33:47 +05:30
Yashas
bd133697fd remove extra new lines from #warning and #pragma deprecated
The `#warning` and `#pragma deprecated` directives print the new line characters which are part of the user entered string. As the message formats for both these already contain a new line character at the end, the aforementioned directives printed two new lines.

This commit adds code to discard the new line characters from user string.
2017-09-30 09:24:23 +05:30
Yashas
00a1cd7e88 trigger an error if an array of unknown size is returned 2017-09-29 16:21:33 +05:30
Yashas
1efcf90a28 new error msg for returning arrays of unknown size 2017-09-29 16:21:13 +05:30
Y_Less
0a43faba00 Document correct state transition target name. 2017-09-10 14:46:12 +01:00
VVWVV
ea8a77577f Fix OPHANDLER_CALL
Signed-off-by: VVWVV <d0u61ev@gmail.com>
2017-08-19 18:50:10 +03:00
VVWVV
fc9e3f785d Merge branch 'master' into feature_asm_expr 2017-08-01 22:36:34 +03:00
VVWVV
f7edb7dd90 Fix asm operator in expressions
Signed-off-by: VVWVV <d0u61ev@gmail.com>
2017-08-01 22:35:40 +03:00