Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(698)

Side by Side Diff: src/arm/lithium-codegen-arm.cc

Issue 5753005: Make closures optimizable by Crankshaft compiler. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2010 the V8 project authors. All rights reserved. 1 // Copyright 2010 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1386 matching lines...) Expand 10 before | Expand all | Expand 10 after
1397 } 1397 }
1398 1398
1399 1399
1400 void LCodeGen::DoStoreGlobal(LStoreGlobal* instr) { 1400 void LCodeGen::DoStoreGlobal(LStoreGlobal* instr) {
1401 Register value = ToRegister(instr->input()); 1401 Register value = ToRegister(instr->input());
1402 __ mov(ip, Operand(Handle<Object>(instr->hydrogen()->cell()))); 1402 __ mov(ip, Operand(Handle<Object>(instr->hydrogen()->cell())));
1403 __ str(value, FieldMemOperand(ip, JSGlobalPropertyCell::kValueOffset)); 1403 __ str(value, FieldMemOperand(ip, JSGlobalPropertyCell::kValueOffset));
1404 } 1404 }
1405 1405
1406 1406
1407 void LCodeGen::DoLoadContextSlot(LLoadContextSlot* instr) {
1408 #if 0
1409 // TODO(antonm): load a context with a separate instruction.
1410 Register result = ToRegister(instr->result());
1411 HLoadContextSlot* hinstr = instr->hydrogen();
1412 Handle<Context> context = hinstr->context();
1413 Comment(";;; Load context slot %d out of %p", hinstr->index(), *context);
1414 if (Heap::InNewSpace(*context)) {
1415 Handle<JSGlobalPropertyCell> cell =
1416 Factory::NewJSGlobalPropertyCell(context);
1417 __ mov(result, Operand::Cell(cell));
1418 } else {
1419 __ mov(result, context);
1420 }
1421 __ mov(result, Operand(result, Context::SlotOffset(hinstr->index())));
1422 #else
1423 Abort("DoLoadContextSlot unimplemented");
1424 #endif
1425 }
1426
1427
1407 void LCodeGen::DoLoadNamedField(LLoadNamedField* instr) { 1428 void LCodeGen::DoLoadNamedField(LLoadNamedField* instr) {
1408 Abort("DoLoadNamedField unimplemented."); 1429 Abort("DoLoadNamedField unimplemented.");
1409 } 1430 }
1410 1431
1411 1432
1412 void LCodeGen::DoLoadNamedGeneric(LLoadNamedGeneric* instr) { 1433 void LCodeGen::DoLoadNamedGeneric(LLoadNamedGeneric* instr) {
1413 ASSERT(ToRegister(instr->object()).is(r0)); 1434 ASSERT(ToRegister(instr->object()).is(r0));
1414 ASSERT(ToRegister(instr->result()).is(r0)); 1435 ASSERT(ToRegister(instr->result()).is(r0));
1415 1436
1416 // Name is always in r2. 1437 // Name is always in r2.
(...skipping 721 matching lines...) Expand 10 before | Expand all | Expand 10 after
2138 2159
2139 2160
2140 void LCodeGen::DoOsrEntry(LOsrEntry* instr) { 2161 void LCodeGen::DoOsrEntry(LOsrEntry* instr) {
2141 Abort("DoOsrEntry unimplemented."); 2162 Abort("DoOsrEntry unimplemented.");
2142 } 2163 }
2143 2164
2144 2165
2145 #undef __ 2166 #undef __
2146 2167
2147 } } // namespace v8::internal 2168 } } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/arm/lithium-arm.cc ('k') | src/compiler.cc » ('j') | src/compiler.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698