• feng.qian.v8's avatar
    Change __ mov(eax, TOS) to · 6287c675
    feng.qian.v8 authored
    __ pop(eax);
    ...
    __ push(eax);
    to enable push/pop eliminations.
    
    __ push(eax) must happen before RecordWrite because RecordWrite may destroy 
    eax value. To be safe, also moved __ push(r0) on ARM to above RecordWrite.
    
    This only affects the case where a context variable is used in a inner scope.
    
    Create a tests for it. It fails if __ push(eax) is after RecordWrite.
    
    
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    6287c675
Name
Last commit
Last update
..
third_party Loading commit data...
SConscript Loading commit data...
accessors.cc Loading commit data...
accessors.h Loading commit data...
allocation.cc Loading commit data...
allocation.h Loading commit data...
api.cc Loading commit data...
api.h Loading commit data...
apinatives.js Loading commit data...
arguments.h Loading commit data...
array.js Loading commit data...
assembler-arm-inl.h Loading commit data...
assembler-arm.cc Loading commit data...
assembler-arm.h Loading commit data...
assembler-ia32-inl.h Loading commit data...
assembler-ia32.cc Loading commit data...
assembler-ia32.h Loading commit data...
assembler.cc Loading commit data...
assembler.h Loading commit data...
ast.cc Loading commit data...
ast.h Loading commit data...
bootstrapper.cc Loading commit data...
bootstrapper.h Loading commit data...
builtins-arm.cc Loading commit data...
builtins-ia32.cc Loading commit data...
builtins.cc Loading commit data...
builtins.h Loading commit data...
char-predicates-inl.h Loading commit data...
char-predicates.h Loading commit data...
checks.cc Loading commit data...
checks.h Loading commit data...
code-stubs.cc Loading commit data...
code-stubs.h Loading commit data...
code.h Loading commit data...
codegen-arm.cc Loading commit data...
codegen-ia32.cc Loading commit data...
codegen-inl.h Loading commit data...
codegen.cc Loading commit data...
codegen.h Loading commit data...
compiler.cc Loading commit data...
compiler.h Loading commit data...
constants-arm.h Loading commit data...
contexts.cc Loading commit data...
contexts.h Loading commit data...
conversions-inl.h Loading commit data...
conversions.cc Loading commit data...
conversions.h Loading commit data...
counters.cc Loading commit data...
counters.h Loading commit data...
cpu-arm.cc Loading commit data...
cpu-ia32.cc Loading commit data...
cpu.h Loading commit data...
date-delay.js Loading commit data...
dateparser.cc Loading commit data...
dateparser.h Loading commit data...
debug-delay.js Loading commit data...
debug.cc Loading commit data...
debug.h Loading commit data...
disasm-arm.cc Loading commit data...
disasm-ia32.cc Loading commit data...
disasm.h Loading commit data...
disassembler.cc Loading commit data...
disassembler.h Loading commit data...
dtoa-config.c Loading commit data...
execution.cc Loading commit data...
execution.h Loading commit data...
factory.cc Loading commit data...
factory.h Loading commit data...
flags-inl.h Loading commit data...
flags.cc Loading commit data...
flags.h Loading commit data...
frames-arm.cc Loading commit data...
frames-arm.h Loading commit data...
frames-ia32.cc Loading commit data...
frames-ia32.h Loading commit data...
frames-inl.h Loading commit data...
frames.cc Loading commit data...
frames.h Loading commit data...
global-handles.cc Loading commit data...
global-handles.h Loading commit data...
globals.h Loading commit data...
handles-inl.h Loading commit data...
handles.cc Loading commit data...
handles.h Loading commit data...
hashmap.cc Loading commit data...
hashmap.h Loading commit data...
heap-inl.h Loading commit data...
heap.cc Loading commit data...
heap.h Loading commit data...
ic-arm.cc Loading commit data...
ic-ia32.cc Loading commit data...
ic-inl.h Loading commit data...
ic.cc Loading commit data...
ic.h Loading commit data...
jsregexp.cc Loading commit data...
jsregexp.h Loading commit data...
list-inl.h Loading commit data...
list.h Loading commit data...
log.cc Loading commit data...
log.h Loading commit data...
macro-assembler-arm.cc Loading commit data...
macro-assembler-arm.h Loading commit data...
macro-assembler-ia32.cc Loading commit data...
macro-assembler-ia32.h Loading commit data...
macro-assembler.h Loading commit data...
macros.py Loading commit data...
mark-compact.cc Loading commit data...
mark-compact.h Loading commit data...
math.js Loading commit data...
memory.h Loading commit data...
messages.cc Loading commit data...
messages.h Loading commit data...
messages.js Loading commit data...
mirror-delay.js Loading commit data...
mksnapshot.cc Loading commit data...
natives.h Loading commit data...
objects-debug.cc Loading commit data...
objects-inl.h Loading commit data...
objects.cc Loading commit data...
objects.h Loading commit data...
parser.cc Loading commit data...
parser.h Loading commit data...
platform-linux.cc Loading commit data...
platform-macos.cc Loading commit data...
platform-nullos.cc Loading commit data...
platform-win32.cc Loading commit data...
platform.h Loading commit data...
prettyprinter.cc Loading commit data...
prettyprinter.h Loading commit data...
property.cc Loading commit data...
property.h Loading commit data...
regexp-delay.js Loading commit data...
rewriter.cc Loading commit data...
rewriter.h Loading commit data...
runtime.cc Loading commit data...
runtime.h Loading commit data...
runtime.js Loading commit data...
scanner.cc Loading commit data...
scanner.h Loading commit data...
scopeinfo.cc Loading commit data...
scopeinfo.h Loading commit data...
scopes.cc Loading commit data...
scopes.h Loading commit data...
serialize.cc Loading commit data...
serialize.h Loading commit data...
shell.h Loading commit data...
simulator-arm.cc Loading commit data...
simulator-arm.h Loading commit data...
simulator-ia32.cc Loading commit data...
simulator-ia32.h Loading commit data...
smart-pointer.h Loading commit data...
snapshot-common.cc Loading commit data...
snapshot-empty.cc Loading commit data...
snapshot.h Loading commit data...
spaces-inl.h Loading commit data...
spaces.cc Loading commit data...
spaces.h Loading commit data...
string-stream.cc Loading commit data...
string-stream.h Loading commit data...
string.js Loading commit data...
stub-cache-arm.cc Loading commit data...
stub-cache-ia32.cc Loading commit data...
stub-cache.cc Loading commit data...
stub-cache.h Loading commit data...
token.cc Loading commit data...
token.h Loading commit data...
top.cc Loading commit data...
top.h Loading commit data...
unicode-inl.h Loading commit data...
unicode.cc Loading commit data...
unicode.h Loading commit data...
uri.js Loading commit data...
usage-analyzer.cc Loading commit data...
usage-analyzer.h Loading commit data...
utils.cc Loading commit data...
utils.h Loading commit data...
v8-counters.cc Loading commit data...
v8-counters.h Loading commit data...
v8.cc Loading commit data...
v8.h Loading commit data...
v8natives.js Loading commit data...
v8threads.cc Loading commit data...
v8threads.h Loading commit data...
variables.cc Loading commit data...
variables.h Loading commit data...
zone-inl.h Loading commit data...
zone.cc Loading commit data...
zone.h Loading commit data...