This is a port of r3911 to x64.
Review URL: http://codereview.chromium.org/1983005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4642
ce2b1a6d-e550-0410-aec6-
3dcde31c8c00
// The expression is a variable proxy that does not rewrite to a
// property. Global variables are treated as named property references.
if (var->is_global()) {
+ // If rax is free, the register allocator prefers it. Thus the code
+ // generator will load the global object into rax, which is where
+ // LoadIC wants it. Most uses of Reference call LoadIC directly
+ // after the reference is created.
+ frame_->Spill(rax);
LoadGlobal();
ref->set_type(Reference::NAMED);
} else {