Changeset 46598 in webkit for trunk/JavaScriptCore/bytecompiler
- Timestamp:
- Jul 30, 2009, 1:57:44 PM (16 years ago)
- Location:
- trunk/JavaScriptCore/bytecompiler
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
r45791 r46598 328 328 emitOpcode(op_enter); 329 329 330 330 if (usesArguments) { 331 331 emitOpcode(op_init_arguments); 332 332 … … 862 862 863 863 if (opcodeID == op_bitor || opcodeID == op_bitand || opcodeID == op_bitxor || 864 opcodeID == op_add || opcodeID == op_mul || opcodeID == op_sub ) {864 opcodeID == op_add || opcodeID == op_mul || opcodeID == op_sub || opcodeID == op_div) 865 865 instructions().append(types.toInt()); 866 }867 866 868 867 return dst; … … 1184 1183 } 1185 1184 1186 RegisterID* BytecodeGenerator::emitResolveFunction(RegisterID* baseDst, RegisterID* funcDst, const Identifier& property)1187 {1188 emitOpcode(op_resolve_func);1189 instructions().append(baseDst->index());1190 instructions().append(funcDst->index());1191 instructions().append(addConstant(property));1192 return baseDst;1193 }1194 1195 1185 void BytecodeGenerator::emitMethodCheck() 1196 1186 { … … 1806 1796 instructions().append(retAddrDst->index()); 1807 1797 instructions().append(finally->offsetFrom(instructions().size())); 1798 emitLabel(newLabel().get()); // Record the fact that the next instruction is implicitly labeled, because op_sret will return to it. 1808 1799 return finally; 1809 1800 } … … 1859 1850 double value = static_cast<NumberNode*>(node)->value(); 1860 1851 int32_t key = static_cast<int32_t>(value); 1861 ASSERT(JSValue::makeInt32Fast(key) && (JSValue::makeInt32Fast(key).getInt32Fast() == value));1862 1852 ASSERT(key == value); 1863 1853 ASSERT(key >= min); -
trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.h
r45609 r46598 277 277 RegisterID* emitResolveBase(RegisterID* dst, const Identifier& property); 278 278 RegisterID* emitResolveWithBase(RegisterID* baseDst, RegisterID* propDst, const Identifier& property); 279 RegisterID* emitResolveFunction(RegisterID* baseDst, RegisterID* funcDst, const Identifier& property);280 279 281 280 void emitMethodCheck(); … … 356 355 PassRefPtr<Label> emitComplexJumpScopes(Label* target, ControlFlowContext* topScope, ControlFlowContext* bottomScope); 357 356 358 typedef HashMap<EncodedJSValue, unsigned, PtrHash<EncodedJSValue>,JSValueHashTraits> JSValueMap;357 typedef HashMap<EncodedJSValue, unsigned, EncodedJSValueHash, EncodedJSValueHashTraits> JSValueMap; 359 358 360 359 struct IdentifierMapIndexHashTraits {
Note:
See TracChangeset
for help on using the changeset viewer.