Changeset 62896 in webkit for trunk/JavaScriptCore/bytecompiler
- Timestamp:
- Jul 8, 2010, 10:47:49 PM (15 years ago)
- Location:
- trunk/JavaScriptCore/bytecompiler
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
r61430 r62896 1281 1281 instructions().append(0); 1282 1282 instructions().append(0); 1283 instructions().append(0); 1284 return value; 1285 } 1286 1287 RegisterID* BytecodeGenerator::emitDirectPutById(RegisterID* base, const Identifier& property, RegisterID* value) 1288 { 1289 #if ENABLE(JIT) 1290 m_codeBlock->addStructureStubInfo(StructureStubInfo(access_put_by_id)); 1291 #else 1292 m_codeBlock->addPropertyAccessInstruction(instructions().size()); 1293 #endif 1294 1295 emitOpcode(op_put_by_id); 1296 instructions().append(base->index()); 1297 instructions().append(addConstant(property)); 1298 instructions().append(value->index()); 1299 instructions().append(0); 1300 instructions().append(0); 1301 instructions().append(0); 1302 instructions().append(0); 1303 instructions().append(property != m_globalData->propertyNames->underscoreProto); 1283 1304 return value; 1284 1305 } -
trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.h
r61430 r62896 329 329 RegisterID* emitGetById(RegisterID* dst, RegisterID* base, const Identifier& property); 330 330 RegisterID* emitPutById(RegisterID* base, const Identifier& property, RegisterID* value); 331 RegisterID* emitDirectPutById(RegisterID* base, const Identifier& property, RegisterID* value); 331 332 RegisterID* emitDeleteById(RegisterID* dst, RegisterID* base, const Identifier&); 332 333 RegisterID* emitGetByVal(RegisterID* dst, RegisterID* base, RegisterID* property); -
trunk/JavaScriptCore/bytecompiler/NodesCodegen.cpp
r61623 r62896 267 267 switch (p->m_node->m_type) { 268 268 case PropertyNode::Constant: { 269 generator.emit PutById(newObj.get(), p->m_node->name(), value);269 generator.emitDirectPutById(newObj.get(), p->m_node->name(), value); 270 270 break; 271 271 }
Note:
See TracChangeset
for help on using the changeset viewer.