v8/src/ia32
kmillikin@chromium.org ebebcae4c2 Allow esi to be an allocatable register on IA32.
Make esi available to the register allocator rather than dedicating it
permanently to the context.

The context is still passed in register esi to JavaScript and to the runtime
as part of the calling convention.  Because some stubs might end up calling
JS or the runtime, it is also conservatively passed to stubs.

Roughly half the calls have been modified to use the context as an input
value in fixed register esi.  The other half are marked as calls or deferred
code so esi is spilled and can be explicitly set.

It is no longer necessary to restore the context to esi after a call that
might change it.

Review URL: http://codereview.chromium.org/6452001

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-02-10 09:00:50 +00:00
..
assembler-ia32-inl.h Make V8 more Valgrind-friendly. 2011-01-19 11:42:43 +00:00
assembler-ia32.cc Change the code for materializing double constants on ia32. 2011-02-09 12:39:15 +00:00
assembler-ia32.h Allow esi to be an allocatable register on IA32. 2011-02-10 09:00:50 +00:00
builtins-ia32.cc Use the macro assembler Set instead of explicit xor for clearing registers. 2011-01-03 11:39:22 +00:00
code-stubs-ia32.cc Do sanity check of exception state when returning from native to JS. 2011-02-08 20:13:08 +00:00
code-stubs-ia32.h Create specialized code stubs for PixelArray loads. 2011-02-03 12:50:50 +00:00
codegen-ia32-inl.h Remove complicated Math.sin and Math.cos optimizations that do not buy 2009-12-21 13:30:10 +00:00
codegen-ia32.cc Fix a bug that occurs when functions are defined with more than 16,382 parameters. 2011-02-09 12:46:22 +00:00
codegen-ia32.h Pass strict mode to eval. 2011-02-04 18:15:49 +00:00
cpu-ia32.cc Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
debug-ia32.cc Use the macro assembler Set instead of explicit xor for clearing registers. 2011-01-03 11:39:22 +00:00
deoptimizer-ia32.cc Streamline the code for patching optimized code for lazy deopt. 2011-02-03 10:07:22 +00:00
disasm-ia32.cc Change the code for materializing double constants on ia32. 2011-02-09 12:39:15 +00:00
frames-ia32.cc Enhance SafeStackFrameIterator to avoid triggering assertions in debug mode. 2010-09-16 08:23:34 +00:00
frames-ia32.h Update V8 to version 3.0 (re-land r5920). 2010-12-07 11:31:57 +00:00
full-codegen-ia32.cc Allow esi to be an allocatable register on IA32. 2011-02-10 09:00:50 +00:00
ic-ia32.cc Create specialized code stubs for PixelArray loads. 2011-02-03 12:50:50 +00:00
jump-target-ia32.cc Allow build-time selection between ia32 and x86_64 in the GYP/Xcode Mac 2010-05-17 15:41:35 +00:00
lithium-codegen-ia32.cc Allow esi to be an allocatable register on IA32. 2011-02-10 09:00:50 +00:00
lithium-codegen-ia32.h Allow esi to be an allocatable register on IA32. 2011-02-10 09:00:50 +00:00
lithium-gap-resolver-ia32.cc Port new version of ParallelMove's LGapResolver to X64. 2011-01-25 10:10:36 +00:00
lithium-gap-resolver-ia32.h Move LOperand class to lithium.h and move implementations out of .h into .cc files. 2011-01-19 13:55:56 +00:00
lithium-ia32.cc Allow esi to be an allocatable register on IA32. 2011-02-10 09:00:50 +00:00
lithium-ia32.h Allow esi to be an allocatable register on IA32. 2011-02-10 09:00:50 +00:00
macro-assembler-ia32.cc Allow esi to be an allocatable register on IA32. 2011-02-10 09:00:50 +00:00
macro-assembler-ia32.h Fix a bug that occurs when functions are defined with more than 16,382 parameters. 2011-02-09 12:46:22 +00:00
regexp-macro-assembler-ia32.cc Use the macro assembler Set instead of explicit xor for clearing registers. 2011-01-03 11:39:22 +00:00
regexp-macro-assembler-ia32.h Limit end-anchored regexps to testing end of string where possible. 2010-10-19 14:00:01 +00:00
register-allocator-ia32-inl.h Avoid more static variables in inline functions. 2009-07-17 08:22:07 +00:00
register-allocator-ia32.cc Allow build-time selection between ia32 and x86_64 in the GYP/Xcode Mac 2010-05-17 15:41:35 +00:00
register-allocator-ia32.h Change the register allocator so that it no longer tracks references 2009-05-27 07:53:47 +00:00
simulator-ia32.cc Move backend specific files to separate directories. 2009-04-23 12:06:38 +00:00
simulator-ia32.h Clean up definitions in simulator. 2010-10-25 16:40:41 +00:00
stub-cache-ia32.cc Create specialized code stubs for PixelArray loads. 2011-02-03 12:50:50 +00:00
virtual-frame-ia32.cc Move ComputeCallInitialize from the codegen.cc to stub-cache.cc. 2010-11-11 10:33:51 +00:00
virtual-frame-ia32.h Fix fuzzer-found error where left and right were the same register in bitops. 2010-08-10 12:30:14 +00:00