Use a loop in generated code to allocate stack slots for function with many local...
authorfschneider@chromium.org <fschneider@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 23 Dec 2009 15:06:21 +0000 (15:06 +0000)
committerfschneider@chromium.org <fschneider@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Wed, 23 Dec 2009 15:06:21 +0000 (15:06 +0000)
commitf7ef8800419253dd934ae6fb5108fed1c6f94abe
tree4f51062c5607a62fc5b78f8280a796e82fb7ff84
parentc3fa79ab2bb036622502406aea9526173aebd48b
Use a loop in generated code to allocate stack slots for function with many local variables.

If a function contains more than a certain number of locals (IA32: 9, X64: 6, ARM: 4)
a loop for initializing the locals with 'undefined' is more compact.
For less locals we unroll that loop by emitting a sequence of push instructions.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/virtual-frame-arm.cc
src/arm/virtual-frame-arm.h
src/ia32/virtual-frame-ia32.cc
src/ia32/virtual-frame-ia32.h
src/x64/virtual-frame-x64.cc
src/x64/virtual-frame-x64.h