Collapsed the inc/dec codegen into the loadEAX function, because it
allows us to generate better code for inc/dec'ing a global variable
on ARM, because we don't have to load the variable's address twice.
Merge commit 'e398151e7830510f27305cc1cb8f9a0510106f9a'
* commit 'e398151e7830510f27305cc1cb8f9a0510106f9a':
nexus: Flesh out VPN support a bit more, cleanup service handling
Merge commit '722a5c0462f38827f4097065bfc3826b9e0e9fb4'
* commit '722a5c0462f38827f4097065bfc3826b9e0e9fb4':
Add support for "standalone months" to tztime's strftime().
Added C++-style "//..end-of-line" comments, since I kept trying to use them when writing
test programs.
The biggest known missing piece is global variables.
The idea here is that some languages need a different form of the month
name in constructions like "January 2" than in "January 2009", since the
one in the "January 2" case really means "of January." So with this change,
a format string of "%-B" will use the standalone month, while "%B" will
continue to use the format month.
Merge commit 'c83cd879d45e667fbb4763f18c908928ee9d67d8'
* commit 'c83cd879d45e667fbb4763f18c908928ee9d67d8':
init: Fix heap corruption for services with arguments
toolbox: ifconfig: Implement mtu setting, plus setting interface addr should
toolbox: route: Reflow some of the mess, fix route add parameter names to
The 'args' array *must* be the last entry in the structure.
This fixes a longstanding issue (apparently since tc3) where
a service with an argument would corrupt the heap. The more
arguments, the more corruption :|. This will probably also end up
making key-code bound services more reliable (ie: bugreports triggered
via the keyboard)
Signed-off-by: San Mehat <san@google.com>
+ Improved li to handle all 32-bit values.
+ Implemented push/pop of temp registers during evaluation
+ Implemented the unary and binary easy math operators (+,-,*,<<,>>,|,&,^,~)
+ Implemented global function calling.
This program works:
main() { return 42; }
The disassembler was borrowed from codeflinger, and just modified enough to compile
under C++ without warnings.
Implemented gsym
Implemented a hack verison of li, only works for -256..255
Implemented gjmp
Merge commit '0389a1297d65321a882ea0dcc69f4de4e3bcb169'
* commit '0389a1297d65321a882ea0dcc69f4de4e3bcb169':
toolbox: Make that 'pointopoint' instead of 'pointtopoint'
Merge commit 'e67651c89d0cbb759219412d49cbc5680c17df06'
* commit 'e67651c89d0cbb759219412d49cbc5680c17df06':
nexus: Cleanup the scanner and plug it all in so it works
Merge commit 'dbdb0db516fa4935ff7b5c05914932099237d808'
* commit 'dbdb0db516fa4935ff7b5c05914932099237d808':
libsysutils: Fix bug where we'd leak our control pipes when closing down a listener
Merge commit 'd530592848985ba4edeafeb413eb5ff58c138eab'
* commit 'd530592848985ba4edeafeb413eb5ff58c138eab':
libsysutils: Send command arguments to the command, not the command again :P