X64 implementation: Store to lookup slots

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@2284 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
whesse@chromium.org 2009-06-26 13:52:05 +00:00
parent 252514ca23
commit e99f056a43

View File

@ -3870,8 +3870,6 @@ void CodeGenerator::StoreToSlot(Slot* slot, InitState init_state) {
// TODO(X64): Enable more types of slot. // TODO(X64): Enable more types of slot.
if (slot->type() == Slot::LOOKUP) { if (slot->type() == Slot::LOOKUP) {
UNIMPLEMENTED();
/*
ASSERT(slot->var()->is_dynamic()); ASSERT(slot->var()->is_dynamic());
// For now, just do a runtime call. Since the call is inevitable, // For now, just do a runtime call. Since the call is inevitable,
@ -3879,8 +3877,8 @@ void CodeGenerator::StoreToSlot(Slot* slot, InitState init_state) {
// arguments into place. // arguments into place.
frame_->SyncRange(0, frame_->element_count() - 1); frame_->SyncRange(0, frame_->element_count() - 1);
frame_->EmitPush(esi); frame_->EmitPush(rsi);
frame_->EmitPush(Immediate(slot->var()->name())); frame_->EmitPush(slot->var()->name());
Result value; Result value;
if (init_state == CONST_INIT) { if (init_state == CONST_INIT) {
@ -3906,7 +3904,6 @@ void CodeGenerator::StoreToSlot(Slot* slot, InitState init_state) {
// stack. This is necessary for compiling chained assignment // stack. This is necessary for compiling chained assignment
// expressions. // expressions.
frame_->Push(&value); frame_->Push(&value);
*/
} else { } else {
ASSERT(!slot->var()->is_dynamic()); ASSERT(!slot->var()->is_dynamic());