Changeset 37845 in webkit for trunk/JavaScriptCore/VM
- Timestamp:
- Oct 24, 2008, 9:22:51 AM (17 years ago)
- Location:
- trunk/JavaScriptCore/VM
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/CTI.cpp
r37831 r37845 128 128 extern "C" { 129 129 130 __declspec(naked) JSValue* ctiTrampoline(void* code, RegisterFile*, CallFrame*, JSValue Ptr* exception, Profiler**, JSGlobalData*)130 __declspec(naked) JSValue* ctiTrampoline(void* code, RegisterFile*, CallFrame*, JSValue** exception, Profiler**, JSGlobalData*) 131 131 { 132 132 __asm { … … 169 169 } 170 170 171 ALWAYS_INLINE JSValue PtrCTI::getConstant(CallFrame* callFrame, int src)171 ALWAYS_INLINE JSValue* CTI::getConstant(CallFrame* callFrame, int src) 172 172 { 173 173 return m_codeBlock->constantRegisters[src - m_codeBlock->numVars].jsValue(callFrame); 174 174 } 175 175 176 inline uintptr_t CTI::asInteger(JSValue Ptrvalue)176 inline uintptr_t CTI::asInteger(JSValue* value) 177 177 { 178 178 return reinterpret_cast<uintptr_t>(value); … … 184 184 // TODO: we want to reuse values that are already in registers if we can - add a register allocator! 185 185 if (isConstant(src)) { 186 JSValue Ptrjs = getConstant(m_callFrame, src);186 JSValue* js = getConstant(m_callFrame, src); 187 187 m_jit.movl_i32r(asInteger(js), dst); 188 188 } else … … 194 194 { 195 195 if (isConstant(src)) { 196 JSValue Ptrjs = getConstant(m_callFrame, src);196 JSValue* js = getConstant(m_callFrame, src); 197 197 m_jit.movl_i32m(asInteger(js), offset + sizeof(void*), X86::esp); 198 198 } else { … … 213 213 } 214 214 215 ALWAYS_INLINE JSValue PtrCTI::getConstantImmediateNumericArg(unsigned src)215 ALWAYS_INLINE JSValue* CTI::getConstantImmediateNumericArg(unsigned src) 216 216 { 217 217 if (isConstant(src)) { 218 JSValue Ptrjs = getConstant(m_callFrame, src);218 JSValue* js = getConstant(m_callFrame, src); 219 219 return JSImmediate::isNumber(js) ? js : noValue(); 220 220 } … … 279 279 char which1 = '*'; 280 280 if (isConstant(src1)) { 281 JSValue Ptrjs = getConstant(m_callFrame, src1);281 JSValue* js = getConstant(m_callFrame, src1); 282 282 which1 = 283 283 JSImmediate::isImmediate(js) ? … … 293 293 char which2 = '*'; 294 294 if (isConstant(src2)) { 295 JSValue Ptrjs = getConstant(m_callFrame, src2);295 JSValue* js = getConstant(m_callFrame, src2); 296 296 which2 = 297 297 JSImmediate::isImmediate(js) ? … … 457 457 } 458 458 459 ALWAYS_INLINE unsigned CTI::getDeTaggedConstantImmediate(JSValue Ptrimm)459 ALWAYS_INLINE unsigned CTI::getDeTaggedConstantImmediate(JSValue* imm) 460 460 { 461 461 ASSERT(JSImmediate::isNumber(imm)); … … 978 978 unsigned src2 = instruction[i + 3].u.operand; 979 979 980 if (JSValue Ptrvalue = getConstantImmediateNumericArg(src1)) {980 if (JSValue* value = getConstantImmediateNumericArg(src1)) { 981 981 emitGetArg(src2, X86::edx); 982 982 emitJumpSlowCaseIfNotImmNum(X86::edx, i); … … 984 984 m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJo(), i)); 985 985 emitPutResult(dst, X86::edx); 986 } else if (JSValue Ptrvalue = getConstantImmediateNumericArg(src2)) {986 } else if (JSValue* value = getConstantImmediateNumericArg(src2)) { 987 987 emitGetArg(src1, X86::eax); 988 988 emitJumpSlowCaseIfNotImmNum(X86::eax, i); … … 1045 1045 1046 1046 unsigned target = instruction[i + 3].u.operand; 1047 JSValue Ptrsrc2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand);1047 JSValue* src2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand); 1048 1048 if (src2imm) { 1049 1049 emitGetArg(instruction[i + 1].u.operand, X86::edx); … … 1066 1066 1067 1067 unsigned target = instruction[i + 3].u.operand; 1068 JSValue Ptrsrc2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand);1068 JSValue* src2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand); 1069 1069 if (src2imm) { 1070 1070 emitGetArg(instruction[i + 1].u.operand, X86::edx); … … 1221 1221 1222 1222 // For now, only plant a fast int case if the constant operand is greater than zero. 1223 JSValue Ptrsrc1Value = getConstantImmediateNumericArg(src1);1224 JSValue Ptrsrc2Value = getConstantImmediateNumericArg(src2);1223 JSValue* src1Value = getConstantImmediateNumericArg(src1); 1224 JSValue* src2Value = getConstantImmediateNumericArg(src2); 1225 1225 int32_t value; 1226 1226 if (src1Value && ((value = JSImmediate::intValue(src1Value)) > 0)) { … … 1388 1388 1389 1389 // Get the value from the vector 1390 m_jit.movl_mr(OBJECT_OFFSET(ArrayStorage, m_vector[0]), X86::ecx, X86::edx, sizeof(JSValue Ptr), X86::eax);1390 m_jit.movl_mr(OBJECT_OFFSET(ArrayStorage, m_vector[0]), X86::ecx, X86::edx, sizeof(JSValue*), X86::eax); 1391 1391 emitPutResult(instruction[i + 1].u.operand); 1392 1392 i += 4; … … 1427 1427 // This is a write to the slow part of the vector; first, we have to check if this would be the first write to this location. 1428 1428 // FIXME: should be able to handle initial write to array; increment the the number of items in the array, and potentially update fast access cutoff. 1429 m_jit.cmpl_i8m(0, OBJECT_OFFSET(ArrayStorage, m_vector[0]), X86::ecx, X86::edx, sizeof(JSValue Ptr));1429 m_jit.cmpl_i8m(0, OBJECT_OFFSET(ArrayStorage, m_vector[0]), X86::ecx, X86::edx, sizeof(JSValue*)); 1430 1430 m_slowCases.append(SlowCaseEntry(m_jit.emitUnlinkedJe(), i)); 1431 1431 … … 1433 1433 m_jit.link(inFastVector, m_jit.label()); 1434 1434 emitGetArg(instruction[i + 3].u.operand, X86::eax); 1435 m_jit.movl_rm(X86::eax, OBJECT_OFFSET(ArrayStorage, m_vector[0]), X86::ecx, X86::edx, sizeof(JSValue Ptr));1435 m_jit.movl_rm(X86::eax, OBJECT_OFFSET(ArrayStorage, m_vector[0]), X86::ecx, X86::edx, sizeof(JSValue*)); 1436 1436 i += 4; 1437 1437 break; … … 1498 1498 m_jit.movl_mr(OBJECT_OFFSET(JSGlobalObject, m_propertyStorage), X86::eax, X86::eax); 1499 1499 m_jit.movl_mr(offsetAddr, X86::edx); 1500 m_jit.movl_mr(0, X86::eax, X86::edx, sizeof(JSValue Ptr), X86::eax);1500 m_jit.movl_mr(0, X86::eax, X86::edx, sizeof(JSValue*), X86::eax); 1501 1501 emitPutResult(instruction[i + 1].u.operand); 1502 1502 X86Assembler::JmpSrc end = m_jit.emitUnlinkedJmp(); … … 1526 1526 case op_jnless: { 1527 1527 unsigned target = instruction[i + 3].u.operand; 1528 JSValue Ptrsrc2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand);1528 JSValue* src2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand); 1529 1529 if (src2imm) { 1530 1530 emitGetArg(instruction[i + 1].u.operand, X86::edx); … … 1644 1644 } 1645 1645 case op_unexpected_load: { 1646 JSValue Ptrv = m_codeBlock->unexpectedConstants[instruction[i + 2].u.operand];1646 JSValue* v = m_codeBlock->unexpectedConstants[instruction[i + 2].u.operand]; 1647 1647 m_jit.movl_i32r(asInteger(v), X86::eax); 1648 1648 emitPutResult(instruction[i + 1].u.operand); … … 1695 1695 unsigned src2 = instruction[i + 3].u.operand; 1696 1696 unsigned dst = instruction[i + 1].u.operand; 1697 if (JSValue Ptrvalue = getConstantImmediateNumericArg(src1)) {1697 if (JSValue* value = getConstantImmediateNumericArg(src1)) { 1698 1698 emitGetArg(src2, X86::eax); 1699 1699 emitJumpSlowCaseIfNotImmNum(X86::eax, i); 1700 1700 m_jit.andl_i32r(asInteger(value), X86::eax); // FIXME: make it more obvious this is relying on the format of JSImmediate 1701 1701 emitPutResult(dst); 1702 } else if (JSValue Ptrvalue = getConstantImmediateNumericArg(src2)) {1702 } else if (JSValue* value = getConstantImmediateNumericArg(src2)) { 1703 1703 emitGetArg(src1, X86::eax); 1704 1704 emitJumpSlowCaseIfNotImmNum(X86::eax, i); … … 2040 2040 } 2041 2041 case op_new_error: { 2042 JSValue Ptrmessage = m_codeBlock->unexpectedConstants[instruction[i + 3].u.operand];2042 JSValue* message = m_codeBlock->unexpectedConstants[instruction[i + 3].u.operand]; 2043 2043 emitPutArgConstant(instruction[i + 2].u.operand, 0); 2044 2044 emitPutArgConstant(asInteger(message), 4); … … 2239 2239 unsigned src1 = instruction[i + 2].u.operand; 2240 2240 unsigned src2 = instruction[i + 3].u.operand; 2241 if (JSValue Ptrvalue = getConstantImmediateNumericArg(src1)) {2241 if (JSValue* value = getConstantImmediateNumericArg(src1)) { 2242 2242 X86Assembler::JmpSrc notImm = iter->from; 2243 2243 m_jit.link((++iter)->from, m_jit.label()); … … 2248 2248 emitCTICall(i, Machine::cti_op_add); 2249 2249 emitPutResult(dst); 2250 } else if (JSValue Ptrvalue = getConstantImmediateNumericArg(src2)) {2250 } else if (JSValue* value = getConstantImmediateNumericArg(src2)) { 2251 2251 X86Assembler::JmpSrc notImm = iter->from; 2252 2252 m_jit.link((++iter)->from, m_jit.label()); … … 2290 2290 2291 2291 // okay, missed the fast region, but it is still in the vector. Get the value. 2292 m_jit.movl_mr(OBJECT_OFFSET(ArrayStorage, m_vector[0]), X86::ecx, X86::edx, sizeof(JSValue Ptr), X86::ecx);2292 m_jit.movl_mr(OBJECT_OFFSET(ArrayStorage, m_vector[0]), X86::ecx, X86::edx, sizeof(JSValue*), X86::ecx); 2293 2293 // Check whether the value loaded is zero; if so we need to return undefined. 2294 2294 m_jit.testl_rr(X86::ecx, X86::ecx); … … 2333 2333 2334 2334 unsigned target = instruction[i + 3].u.operand; 2335 JSValue Ptrsrc2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand);2335 JSValue* src2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand); 2336 2336 if (src2imm) { 2337 2337 m_jit.link(iter->from, m_jit.label()); … … 2403 2403 2404 2404 unsigned target = instruction[i + 3].u.operand; 2405 JSValue Ptrsrc2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand);2405 JSValue* src2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand); 2406 2406 if (src2imm) { 2407 2407 m_jit.link(iter->from, m_jit.label()); … … 2487 2487 case op_jnless: { 2488 2488 unsigned target = instruction[i + 3].u.operand; 2489 JSValue Ptrsrc2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand);2489 JSValue* src2imm = getConstantImmediateNumericArg(instruction[i + 2].u.operand); 2490 2490 if (src2imm) { 2491 2491 m_jit.link(iter->from, m_jit.label()); … … 2659 2659 int src1 = instruction[i + 2].u.operand; 2660 2660 int src2 = instruction[i + 3].u.operand; 2661 JSValue Ptrsrc1Value = getConstantImmediateNumericArg(src1);2662 JSValue Ptrsrc2Value = getConstantImmediateNumericArg(src2);2661 JSValue* src1Value = getConstantImmediateNumericArg(src1); 2662 JSValue* src2Value = getConstantImmediateNumericArg(src2); 2663 2663 int32_t value; 2664 2664 if (src1Value && ((value = JSImmediate::intValue(src1Value)) > 0)) { … … 2893 2893 // Checks out okay! - getDirectOffset 2894 2894 m_jit.movl_mr(OBJECT_OFFSET(JSObject, m_propertyStorage), X86::eax, X86::eax); 2895 m_jit.movl_mr(cachedOffset * sizeof(JSValue Ptr), X86::eax, X86::eax);2895 m_jit.movl_mr(cachedOffset * sizeof(JSValue*), X86::eax, X86::eax); 2896 2896 m_jit.ret(); 2897 2897 … … 2933 2933 2934 2934 // Checks out okay! - getDirectOffset 2935 m_jit.movl_mr(cachedOffset * sizeof(JSValue Ptr), X86::edx, X86::ecx);2935 m_jit.movl_mr(cachedOffset * sizeof(JSValue*), X86::edx, X86::ecx); 2936 2936 2937 2937 X86Assembler::JmpSrc success = m_jit.emitUnlinkedJmp(); … … 2976 2976 2977 2977 // Checks out okay! - getDirectOffset 2978 m_jit.movl_mr(cachedOffset * sizeof(JSValue Ptr), X86::edx, X86::eax);2978 m_jit.movl_mr(cachedOffset * sizeof(JSValue*), X86::edx, X86::eax); 2979 2979 2980 2980 m_jit.ret(); … … 3021 3021 PropertyStorage* protoPropertyStorage = &protoObject->m_propertyStorage; 3022 3022 m_jit.movl_mr(static_cast<void*>(protoPropertyStorage), X86::edx); 3023 m_jit.movl_mr(cachedOffset * sizeof(JSValue Ptr), X86::edx, X86::eax);3023 m_jit.movl_mr(cachedOffset * sizeof(JSValue*), X86::edx, X86::eax); 3024 3024 m_jit.ret(); 3025 3025 … … 3047 3047 // checks out okay! - putDirectOffset 3048 3048 m_jit.movl_mr(OBJECT_OFFSET(JSObject, m_propertyStorage), X86::eax, X86::eax); 3049 m_jit.movl_rm(X86::edx, cachedOffset * sizeof(JSValue Ptr), X86::eax);3049 m_jit.movl_rm(X86::edx, cachedOffset * sizeof(JSValue*), X86::eax); 3050 3050 m_jit.ret(); 3051 3051 … … 3134 3134 // write the value 3135 3135 m_jit.movl_mr(OBJECT_OFFSET(JSObject, m_propertyStorage), X86::eax, X86::eax); 3136 m_jit.movl_rm(X86::edx, cachedOffset * sizeof(JSValue Ptr), X86::eax);3136 m_jit.movl_rm(X86::edx, cachedOffset * sizeof(JSValue*), X86::eax); 3137 3137 3138 3138 m_jit.ret(); … … 3250 3250 3251 3251 // Repatch the offset into the propoerty map to load from, then repatch the StructureID to look for. 3252 X86Assembler::repatchDisplacement(reinterpret_cast<intptr_t>(info.hotPathBegin) + repatchOffsetGetByIdPropertyMapOffset, cachedOffset * sizeof(JSValue Ptr));3252 X86Assembler::repatchDisplacement(reinterpret_cast<intptr_t>(info.hotPathBegin) + repatchOffsetGetByIdPropertyMapOffset, cachedOffset * sizeof(JSValue*)); 3253 3253 X86Assembler::repatchImmediate(reinterpret_cast<intptr_t>(info.hotPathBegin) + repatchOffsetGetByIdStructureID, reinterpret_cast<uint32_t>(structureID)); 3254 3254 } … … 3263 3263 3264 3264 // Repatch the offset into the propoerty map to load from, then repatch the StructureID to look for. 3265 X86Assembler::repatchDisplacement(reinterpret_cast<intptr_t>(info.hotPathBegin) + repatchOffsetPutByIdPropertyMapOffset, cachedOffset * sizeof(JSValue Ptr));3265 X86Assembler::repatchDisplacement(reinterpret_cast<intptr_t>(info.hotPathBegin) + repatchOffsetPutByIdPropertyMapOffset, cachedOffset * sizeof(JSValue*)); 3266 3266 X86Assembler::repatchImmediate(reinterpret_cast<intptr_t>(info.hotPathBegin) + repatchOffsetPutByIdStructureID, reinterpret_cast<uint32_t>(structureID)); 3267 3267 } -
trunk/JavaScriptCore/VM/CTI.h
r37831 r37845 48 48 #define ARG_callFrame static_cast<CallFrame*>(ARGS[CTI_ARGS_callFrame]) 49 49 #define ARG_registerFile static_cast<RegisterFile*>(ARGS[CTI_ARGS_registerFile]) 50 #define ARG_exception static_cast<JSValue Ptr*>(ARGS[CTI_ARGS_exception])50 #define ARG_exception static_cast<JSValue**>(ARGS[CTI_ARGS_exception]) 51 51 #define ARG_profilerReference static_cast<Profiler**>(ARGS[CTI_ARGS_profilerReference]) 52 52 #define ARG_globalData static_cast<JSGlobalData*>(ARGS[CTI_ARGS_globalData]) … … 240 240 241 241 extern "C" { 242 JSValue* ctiTrampoline(void* code, RegisterFile*, CallFrame*, JSValue Ptr* exception, Profiler**, JSGlobalData*);242 JSValue* ctiTrampoline(void* code, RegisterFile*, CallFrame*, JSValue** exception, Profiler**, JSGlobalData*); 243 243 void ctiVMThrowTrampoline(); 244 244 }; … … 339 339 static void unlinkCall(CallLinkInfo*); 340 340 341 inline static JSValue Ptr execute(void* code, RegisterFile* registerFile, CallFrame* callFrame, JSGlobalData* globalData, JSValuePtr* exception)341 inline static JSValue* execute(void* code, RegisterFile* registerFile, CallFrame* callFrame, JSGlobalData* globalData, JSValue** exception) 342 342 { 343 343 return ctiTrampoline(code, registerFile, callFrame, exception, Profiler::enabledProfilerReference(), globalData); … … 347 347 CTI(Machine*, CallFrame*, CodeBlock*); 348 348 349 static uintptr_t asInteger(JSValue Ptr);349 static uintptr_t asInteger(JSValue*); 350 350 351 351 bool isConstant(int src); 352 JSValue PtrgetConstant(CallFrame*, int src);352 JSValue* getConstant(CallFrame*, int src); 353 353 354 354 void privateCompileMainPass(); … … 391 391 void emitGetFromCallFrameHeader(RegisterFile::CallFrameHeaderEntry entry, X86Assembler::RegisterID to); 392 392 393 JSValue PtrgetConstantImmediateNumericArg(unsigned src);394 unsigned getDeTaggedConstantImmediate(JSValue Ptrimm);393 JSValue* getConstantImmediateNumericArg(unsigned src); 394 unsigned getDeTaggedConstantImmediate(JSValue* imm); 395 395 396 396 void emitJumpSlowCaseIfIsJSCell(X86Assembler::RegisterID reg, unsigned opcodeIndex); -
trunk/JavaScriptCore/VM/CodeBlock.cpp
r37831 r37845 53 53 } 54 54 55 static UString valueToSourceString(ExecState* exec, JSValue Ptrval)55 static UString valueToSourceString(ExecState* exec, JSValue* val) 56 56 { 57 57 if (val->isString()) { … … 72 72 } 73 73 74 static CString constantName(ExecState* exec, int k, JSValue Ptrvalue)74 static CString constantName(ExecState* exec, int k, JSValue* value) 75 75 { 76 76 return (valueToSourceString(exec, value) + "(@k" + UString::from(k) + ")").UTF8String(); … … 578 578 case op_resolve_global: { 579 579 int r0 = (++it)->u.operand; 580 JSValue Ptr scope = static_cast<JSValuePtr>((++it)->u.jsCell);580 JSValue* scope = static_cast<JSValue*>((++it)->u.jsCell); 581 581 int id0 = (++it)->u.operand; 582 582 printf("[%4d] resolve_global\t %s, %s, %s\n", location, registerName(r0).c_str(), valueToSourceString(exec, scope).ascii(), idName(id0, identifiers[id0]).c_str()); … … 600 600 case op_get_global_var: { 601 601 int r0 = (++it)->u.operand; 602 JSValue Ptr scope = static_cast<JSValuePtr>((++it)->u.jsCell);602 JSValue* scope = static_cast<JSValue*>((++it)->u.jsCell); 603 603 int index = (++it)->u.operand; 604 604 printf("[%4d] get_global_var\t %s, %s, %d\n", location, registerName(r0).c_str(), valueToSourceString(exec, scope).ascii(), index); … … 606 606 } 607 607 case op_put_global_var: { 608 JSValue Ptr scope = static_cast<JSValuePtr>((++it)->u.jsCell);608 JSValue* scope = static_cast<JSValue*>((++it)->u.jsCell); 609 609 int index = (++it)->u.operand; 610 610 int r0 = (++it)->u.operand; -
trunk/JavaScriptCore/VM/CodeBlock.h
r37831 r37845 213 213 class EvalCodeCache { 214 214 public: 215 PassRefPtr<EvalNode> get(ExecState* exec, const UString& evalSource, ScopeChainNode* scopeChain, JSValue Ptr& exceptionValue)215 PassRefPtr<EvalNode> get(ExecState* exec, const UString& evalSource, ScopeChainNode* scopeChain, JSValue*& exceptionValue) 216 216 { 217 217 RefPtr<EvalNode> evalNode; … … 343 343 Vector<RefPtr<FuncExprNode> > functionExpressions; 344 344 Vector<Register> constantRegisters; 345 Vector<JSValue Ptr> unexpectedConstants;345 Vector<JSValue*> unexpectedConstants; 346 346 Vector<RefPtr<RegExp> > regexps; 347 347 Vector<HandlerInfo> exceptionHandlers; -
trunk/JavaScriptCore/VM/CodeGenerator.cpp
r37831 r37845 673 673 } 674 674 675 RegisterID* CodeGenerator::addConstant(JSValue Ptrv)675 RegisterID* CodeGenerator::addConstant(JSValue* v) 676 676 { 677 677 pair<JSValueMap::iterator, bool> result = m_jsValueMap.add(v, m_nextConstant); … … 688 688 } 689 689 690 unsigned CodeGenerator::addUnexpectedConstant(JSValue Ptrv)690 unsigned CodeGenerator::addUnexpectedConstant(JSValue* v) 691 691 { 692 692 int index = m_codeBlock->unexpectedConstants.size(); … … 839 839 if (number == HashTraits<double>::emptyValue() || HashTraits<double>::isDeletedValue(number)) 840 840 return emitLoad(dst, jsNumber(globalData(), number)); 841 JSValue Ptr& valueInMap = m_numberMap.add(number, noValue()).first->second;841 JSValue*& valueInMap = m_numberMap.add(number, noValue()).first->second; 842 842 if (!valueInMap) 843 843 valueInMap = jsNumber(globalData(), number); … … 853 853 } 854 854 855 RegisterID* CodeGenerator::emitLoad(RegisterID* dst, JSValue Ptrv)855 RegisterID* CodeGenerator::emitLoad(RegisterID* dst, JSValue* v) 856 856 { 857 857 RegisterID* constantID = addConstant(v); … … 863 863 RegisterID* CodeGenerator::emitLoad(RegisterID* dst, JSCell* cell) 864 864 { 865 JSValue Ptrvalue = cell;865 JSValue* value = cell; 866 866 return emitLoad(dst, value); 867 867 } … … 985 985 } 986 986 987 RegisterID* CodeGenerator::emitGetScopedVar(RegisterID* dst, size_t depth, int index, JSValue PtrglobalObject)987 RegisterID* CodeGenerator::emitGetScopedVar(RegisterID* dst, size_t depth, int index, JSValue* globalObject) 988 988 { 989 989 if (globalObject) { … … 1002 1002 } 1003 1003 1004 RegisterID* CodeGenerator::emitPutScopedVar(size_t depth, int index, RegisterID* value, JSValue PtrglobalObject)1004 RegisterID* CodeGenerator::emitPutScopedVar(size_t depth, int index, RegisterID* value, JSValue* globalObject) 1005 1005 { 1006 1006 if (globalObject) { … … 1497 1497 } 1498 1498 1499 RegisterID* CodeGenerator::emitNewError(RegisterID* dst, ErrorType type, JSValue Ptrmessage)1499 RegisterID* CodeGenerator::emitNewError(RegisterID* dst, ErrorType type, JSValue* message) 1500 1500 { 1501 1501 emitOpcode(op_new_error); -
trunk/JavaScriptCore/VM/CodeGenerator.h
r37812 r37845 229 229 RegisterID* emitLoad(RegisterID* dst, double); 230 230 RegisterID* emitLoad(RegisterID* dst, const Identifier&); 231 RegisterID* emitLoad(RegisterID* dst, JSValue Ptr);231 RegisterID* emitLoad(RegisterID* dst, JSValue*); 232 232 RegisterID* emitLoad(RegisterID* dst, JSCell*); 233 233 RegisterID* emitUnexpectedLoad(RegisterID* dst, bool); … … 259 259 260 260 RegisterID* emitResolve(RegisterID* dst, const Identifier& property); 261 RegisterID* emitGetScopedVar(RegisterID* dst, size_t skip, int index, JSValue PtrglobalObject);262 RegisterID* emitPutScopedVar(size_t skip, int index, RegisterID* value, JSValue PtrglobalObject);261 RegisterID* emitGetScopedVar(RegisterID* dst, size_t skip, int index, JSValue* globalObject); 262 RegisterID* emitPutScopedVar(size_t skip, int index, RegisterID* value, JSValue* globalObject); 263 263 264 264 RegisterID* emitResolveBase(RegisterID* dst, const Identifier& property); … … 298 298 RegisterID* emitCatch(RegisterID*, LabelID* start, LabelID* end); 299 299 void emitThrow(RegisterID* exc) { emitUnaryNoDstOp(op_throw, exc); } 300 RegisterID* emitNewError(RegisterID* dst, ErrorType type, JSValue Ptrmessage);300 RegisterID* emitNewError(RegisterID* dst, ErrorType type, JSValue* message); 301 301 void emitPushNewScope(RegisterID* dst, Identifier& property, RegisterID* value); 302 302 … … 348 348 349 349 typedef HashMap<RefPtr<UString::Rep>, int, IdentifierRepHash, HashTraits<RefPtr<UString::Rep> >, IdentifierMapIndexHashTraits> IdentifierMap; 350 typedef HashMap<double, JSValue Ptr> NumberMap;350 typedef HashMap<double, JSValue*> NumberMap; 351 351 typedef HashMap<UString::Rep*, JSString*, IdentifierRepHash> IdentifierStringMap; 352 352 … … 398 398 unsigned addConstant(FuncExprNode*); 399 399 unsigned addConstant(const Identifier&); 400 RegisterID* addConstant(JSValue Ptr);401 unsigned addUnexpectedConstant(JSValue Ptr);400 RegisterID* addConstant(JSValue*); 401 unsigned addUnexpectedConstant(JSValue*); 402 402 unsigned addRegExp(RegExp*); 403 403 StructureID* addStructureID(); -
trunk/JavaScriptCore/VM/ExceptionHelpers.cpp
r37799 r37845 59 59 }; 60 60 61 JSValue PtrcreateInterruptedExecutionException(JSGlobalData* globalData)61 JSValue* createInterruptedExecutionException(JSGlobalData* globalData) 62 62 { 63 63 return new (globalData) InterruptedExecutionError(globalData); 64 64 } 65 65 66 JSValue PtrcreateError(ExecState* exec, ErrorType e, const char* msg)66 JSValue* createError(ExecState* exec, ErrorType e, const char* msg) 67 67 { 68 68 return Error::create(exec, e, msg, -1, -1, 0); 69 69 } 70 70 71 JSValue PtrcreateError(ExecState* exec, ErrorType e, const char* msg, const Identifier& label)71 JSValue* createError(ExecState* exec, ErrorType e, const char* msg, const Identifier& label) 72 72 { 73 73 UString message = msg; … … 76 76 } 77 77 78 JSValue Ptr createError(ExecState* exec, ErrorType e, const char* msg, JSValuePtrv)78 JSValue* createError(ExecState* exec, ErrorType e, const char* msg, JSValue* v) 79 79 { 80 80 UString message = msg; … … 83 83 } 84 84 85 JSValue PtrcreateStackOverflowError(ExecState* exec)85 JSValue* createStackOverflowError(ExecState* exec) 86 86 { 87 87 return createError(exec, RangeError, "Maximum call stack size exceeded."); 88 88 } 89 89 90 JSValue PtrcreateUndefinedVariableError(ExecState* exec, const Identifier& ident, const Instruction* vPC, CodeBlock* codeBlock)90 JSValue* createUndefinedVariableError(ExecState* exec, const Identifier& ident, const Instruction* vPC, CodeBlock* codeBlock) 91 91 { 92 92 int startOffset = 0; … … 105 105 bool isStrWhiteSpace(UChar c); 106 106 107 static UString createErrorMessage(ExecState* exec, CodeBlock* codeBlock, int, int expressionStart, int expressionStop, JSValue Ptrvalue, UString error)107 static UString createErrorMessage(ExecState* exec, CodeBlock* codeBlock, int, int expressionStart, int expressionStop, JSValue* value, UString error) 108 108 { 109 109 if (!expressionStop || expressionStart > codeBlock->source->length()) { … … 149 149 } 150 150 151 JSObject* createInvalidParamError(ExecState* exec, const char* op, JSValue Ptrvalue, const Instruction* vPC, CodeBlock* codeBlock)151 JSObject* createInvalidParamError(ExecState* exec, const char* op, JSValue* value, const Instruction* vPC, CodeBlock* codeBlock) 152 152 { 153 153 UString message = "not a valid argument for '"; … … 167 167 } 168 168 169 JSObject* createNotAConstructorError(ExecState* exec, JSValue Ptrvalue, const Instruction* vPC, CodeBlock* codeBlock)169 JSObject* createNotAConstructorError(ExecState* exec, JSValue* value, const Instruction* vPC, CodeBlock* codeBlock) 170 170 { 171 171 int startOffset = 0; … … 188 188 } 189 189 190 JSValue Ptr createNotAFunctionError(ExecState* exec, JSValuePtrvalue, const Instruction* vPC, CodeBlock* codeBlock)190 JSValue* createNotAFunctionError(ExecState* exec, JSValue* value, const Instruction* vPC, CodeBlock* codeBlock) 191 191 { 192 192 int startOffset = 0; -
trunk/JavaScriptCore/VM/ExceptionHelpers.h
r37706 r37845 43 43 class Node; 44 44 45 JSValue PtrcreateInterruptedExecutionException(JSGlobalData*);46 JSValue PtrcreateStackOverflowError(ExecState*);47 JSValue PtrcreateUndefinedVariableError(ExecState*, const Identifier&, const Instruction*, CodeBlock*);45 JSValue* createInterruptedExecutionException(JSGlobalData*); 46 JSValue* createStackOverflowError(ExecState*); 47 JSValue* createUndefinedVariableError(ExecState*, const Identifier&, const Instruction*, CodeBlock*); 48 48 JSNotAnObjectErrorStub* createNotAnObjectErrorStub(ExecState*, bool isNull); 49 JSObject* createInvalidParamError(ExecState*, const char* op, JSValue Ptr, const Instruction*, CodeBlock*);50 JSObject* createNotAConstructorError(ExecState*, JSValue Ptr, const Instruction*, CodeBlock*);51 JSValue Ptr createNotAFunctionError(ExecState*, JSValuePtr, const Instruction*, CodeBlock*);49 JSObject* createInvalidParamError(ExecState*, const char* op, JSValue*, const Instruction*, CodeBlock*); 50 JSObject* createNotAConstructorError(ExecState*, JSValue*, const Instruction*, CodeBlock*); 51 JSValue* createNotAFunctionError(ExecState*, JSValue*, const Instruction*, CodeBlock*); 52 52 JSObject* createNotAnObjectError(ExecState*, JSNotAnObjectErrorStub*, const Instruction*, CodeBlock*); 53 53 -
trunk/JavaScriptCore/VM/JSPropertyNameIterator.cpp
r37684 r37845 38 38 } 39 39 40 JSValue PtrJSPropertyNameIterator::toPrimitive(ExecState*, PreferredPrimitiveType) const40 JSValue* JSPropertyNameIterator::toPrimitive(ExecState*, PreferredPrimitiveType) const 41 41 { 42 42 ASSERT_NOT_REACHED(); … … 44 44 } 45 45 46 bool JSPropertyNameIterator::getPrimitiveNumber(ExecState*, double&, JSValue Ptr&)46 bool JSPropertyNameIterator::getPrimitiveNumber(ExecState*, double&, JSValue*&) 47 47 { 48 48 ASSERT_NOT_REACHED(); -
trunk/JavaScriptCore/VM/JSPropertyNameIterator.h
r37684 r37845 41 41 class JSPropertyNameIterator : public JSCell { 42 42 public: 43 static JSPropertyNameIterator* create(ExecState*, JSValue Ptr);43 static JSPropertyNameIterator* create(ExecState*, JSValue*); 44 44 45 45 virtual ~JSPropertyNameIterator(); 46 46 47 virtual JSValue PtrtoPrimitive(ExecState*, PreferredPrimitiveType) const;48 virtual bool getPrimitiveNumber(ExecState*, double&, JSValue Ptr&);47 virtual JSValue* toPrimitive(ExecState*, PreferredPrimitiveType) const; 48 virtual bool getPrimitiveNumber(ExecState*, double&, JSValue*&); 49 49 virtual bool toBoolean(ExecState*) const; 50 50 virtual double toNumber(ExecState*) const; … … 54 54 virtual void mark(); 55 55 56 JSValue Ptrnext(ExecState*);56 JSValue* next(ExecState*); 57 57 void invalidate(); 58 58 … … 84 84 } 85 85 86 inline JSPropertyNameIterator* JSPropertyNameIterator::create(ExecState* exec, JSValue Ptrv)86 inline JSPropertyNameIterator* JSPropertyNameIterator::create(ExecState* exec, JSValue* v) 87 87 { 88 88 if (v->isUndefinedOrNull()) … … 95 95 } 96 96 97 inline JSValue PtrJSPropertyNameIterator::next(ExecState* exec)97 inline JSValue* JSPropertyNameIterator::next(ExecState* exec) 98 98 { 99 99 if (m_position == m_end) -
trunk/JavaScriptCore/VM/Machine.cpp
r37831 r37845 129 129 // FIXME: This operation should be called "getNumber", not "isNumber" (as it is in JSValue.h). 130 130 // FIXME: There's no need to have a "slow" version of this. All versions should be fast. 131 static ALWAYS_INLINE bool fastIsNumber(JSValue Ptrvalue, double& arg)131 static ALWAYS_INLINE bool fastIsNumber(JSValue* value, double& arg) 132 132 { 133 133 if (JSImmediate::isNumber(value)) … … 140 140 } 141 141 142 // FIXME: Why doesn't JSValue Ptr::toInt32 have the Heap::isNumber optimization?143 static bool fastToInt32(JSValue Ptrvalue, int32_t& arg)142 // FIXME: Why doesn't JSValue*::toInt32 have the Heap::isNumber optimization? 143 static bool fastToInt32(JSValue* value, int32_t& arg) 144 144 { 145 145 if (JSImmediate::isNumber(value)) … … 152 152 } 153 153 154 static ALWAYS_INLINE bool fastToUInt32(JSValue Ptrvalue, uint32_t& arg)154 static ALWAYS_INLINE bool fastToUInt32(JSValue* value, uint32_t& arg) 155 155 { 156 156 if (JSImmediate::isNumber(value)) { … … 167 167 } 168 168 169 static inline bool jsLess(CallFrame* callFrame, JSValue Ptr v1, JSValuePtrv2)169 static inline bool jsLess(CallFrame* callFrame, JSValue* v1, JSValue* v2) 170 170 { 171 171 if (JSImmediate::areBothImmediateNumbers(v1, v2)) … … 181 181 return asString(v1)->value() < asString(v2)->value(); 182 182 183 JSValue Ptrp1;184 JSValue Ptrp2;183 JSValue* p1; 184 JSValue* p2; 185 185 bool wasNotString1 = v1->getPrimitiveNumber(callFrame, n1, p1); 186 186 bool wasNotString2 = v2->getPrimitiveNumber(callFrame, n2, p2); … … 192 192 } 193 193 194 static inline bool jsLessEq(CallFrame* callFrame, JSValue Ptr v1, JSValuePtrv2)194 static inline bool jsLessEq(CallFrame* callFrame, JSValue* v1, JSValue* v2) 195 195 { 196 196 if (JSImmediate::areBothImmediateNumbers(v1, v2)) … … 206 206 return !(asString(v2)->value() < asString(v1)->value()); 207 207 208 JSValue Ptrp1;209 JSValue Ptrp2;208 JSValue* p1; 209 JSValue* p2; 210 210 bool wasNotString1 = v1->getPrimitiveNumber(callFrame, n1, p1); 211 211 bool wasNotString2 = v2->getPrimitiveNumber(callFrame, n2, p2); … … 217 217 } 218 218 219 static NEVER_INLINE JSValue Ptr jsAddSlowCase(CallFrame* callFrame, JSValuePtr v1, JSValuePtrv2)219 static NEVER_INLINE JSValue* jsAddSlowCase(CallFrame* callFrame, JSValue* v1, JSValue* v2) 220 220 { 221 221 // exception for the Date exception in defaultValue() 222 JSValue Ptrp1 = v1->toPrimitive(callFrame);223 JSValue Ptrp2 = v2->toPrimitive(callFrame);222 JSValue* p1 = v1->toPrimitive(callFrame); 223 JSValue* p2 = v2->toPrimitive(callFrame); 224 224 225 225 if (p1->isString() || p2->isString()) { … … 242 242 // 4000 Add case: 3 5 243 243 244 static ALWAYS_INLINE JSValue Ptr jsAdd(CallFrame* callFrame, JSValuePtr v1, JSValuePtrv2)244 static ALWAYS_INLINE JSValue* jsAdd(CallFrame* callFrame, JSValue* v1, JSValue* v2) 245 245 { 246 246 double left; … … 273 273 } 274 274 275 static JSValue Ptr jsTypeStringForValue(CallFrame* callFrame, JSValuePtrv)275 static JSValue* jsTypeStringForValue(CallFrame* callFrame, JSValue* v) 276 276 { 277 277 if (v->isUndefined()) … … 295 295 } 296 296 297 static bool jsIsObjectType(JSValue Ptrv)297 static bool jsIsObjectType(JSValue* v) 298 298 { 299 299 if (JSImmediate::isImmediate(v)) … … 313 313 } 314 314 315 static bool jsIsFunctionType(JSValue Ptrv)315 static bool jsIsFunctionType(JSValue* v) 316 316 { 317 317 if (v->isObject()) { … … 323 323 } 324 324 325 NEVER_INLINE bool Machine::resolve(CallFrame* callFrame, Instruction* vPC, JSValue Ptr& exceptionValue)325 NEVER_INLINE bool Machine::resolve(CallFrame* callFrame, Instruction* vPC, JSValue*& exceptionValue) 326 326 { 327 327 int dst = (vPC + 1)->u.operand; … … 339 339 PropertySlot slot(o); 340 340 if (o->getPropertySlot(callFrame, ident, slot)) { 341 JSValue Ptrresult = slot.getValue(callFrame, ident);341 JSValue* result = slot.getValue(callFrame, ident); 342 342 exceptionValue = callFrame->globalData().exception; 343 343 if (exceptionValue) … … 351 351 } 352 352 353 NEVER_INLINE bool Machine::resolveSkip(CallFrame* callFrame, Instruction* vPC, JSValue Ptr& exceptionValue)353 NEVER_INLINE bool Machine::resolveSkip(CallFrame* callFrame, Instruction* vPC, JSValue*& exceptionValue) 354 354 { 355 355 CodeBlock* codeBlock = callFrame->codeBlock(); … … 372 372 PropertySlot slot(o); 373 373 if (o->getPropertySlot(callFrame, ident, slot)) { 374 JSValue Ptrresult = slot.getValue(callFrame, ident);374 JSValue* result = slot.getValue(callFrame, ident); 375 375 exceptionValue = callFrame->globalData().exception; 376 376 if (exceptionValue) … … 384 384 } 385 385 386 NEVER_INLINE bool Machine::resolveGlobal(CallFrame* callFrame, Instruction* vPC, JSValue Ptr& exceptionValue)386 NEVER_INLINE bool Machine::resolveGlobal(CallFrame* callFrame, Instruction* vPC, JSValue*& exceptionValue) 387 387 { 388 388 int dst = (vPC + 1)->u.operand; … … 402 402 PropertySlot slot(globalObject); 403 403 if (globalObject->getPropertySlot(callFrame, ident, slot)) { 404 JSValue Ptrresult = slot.getValue(callFrame, ident);404 JSValue* result = slot.getValue(callFrame, ident); 405 405 if (slot.isCacheable()) { 406 406 if (vPC[4].u.structureID) … … 424 424 } 425 425 426 static ALWAYS_INLINE JSValue PtrinlineResolveBase(CallFrame* callFrame, Identifier& property, ScopeChainNode* scopeChain)426 static ALWAYS_INLINE JSValue* inlineResolveBase(CallFrame* callFrame, Identifier& property, ScopeChainNode* scopeChain) 427 427 { 428 428 ScopeChainIterator iter = scopeChain->begin(); … … 454 454 } 455 455 456 NEVER_INLINE bool Machine::resolveBaseAndProperty(CallFrame* callFrame, Instruction* vPC, JSValue Ptr& exceptionValue)456 NEVER_INLINE bool Machine::resolveBaseAndProperty(CallFrame* callFrame, Instruction* vPC, JSValue*& exceptionValue) 457 457 { 458 458 int baseDst = (vPC + 1)->u.operand; … … 475 475 PropertySlot slot(base); 476 476 if (base->getPropertySlot(callFrame, ident, slot)) { 477 JSValue Ptrresult = slot.getValue(callFrame, ident);477 JSValue* result = slot.getValue(callFrame, ident); 478 478 exceptionValue = callFrame->globalData().exception; 479 479 if (exceptionValue) … … 490 490 } 491 491 492 NEVER_INLINE bool Machine::resolveBaseAndFunc(CallFrame* callFrame, Instruction* vPC, JSValue Ptr& exceptionValue)492 NEVER_INLINE bool Machine::resolveBaseAndFunc(CallFrame* callFrame, Instruction* vPC, JSValue*& exceptionValue) 493 493 { 494 494 int baseDst = (vPC + 1)->u.operand; … … 519 519 // We also handle wrapper substitution for the global object at the same time. 520 520 JSObject* thisObj = base->toThisObject(callFrame); 521 JSValue Ptrresult = slot.getValue(callFrame, ident);521 JSValue* result = slot.getValue(callFrame, ident); 522 522 exceptionValue = callFrame->globalData().exception; 523 523 if (exceptionValue) … … 572 572 } 573 573 574 static NEVER_INLINE bool isNotObject(CallFrame* callFrame, bool forInstanceOf, CodeBlock* codeBlock, const Instruction* vPC, JSValue Ptr value, JSValuePtr& exceptionData)574 static NEVER_INLINE bool isNotObject(CallFrame* callFrame, bool forInstanceOf, CodeBlock* codeBlock, const Instruction* vPC, JSValue* value, JSValue*& exceptionData) 575 575 { 576 576 if (value->isObject()) … … 580 580 } 581 581 582 NEVER_INLINE JSValue Ptr Machine::callEval(CallFrame* callFrame, JSObject* thisObj, ScopeChainNode* scopeChain, RegisterFile* registerFile, int argv, int argc, JSValuePtr& exceptionValue)582 NEVER_INLINE JSValue* Machine::callEval(CallFrame* callFrame, JSObject* thisObj, ScopeChainNode* scopeChain, RegisterFile* registerFile, int argv, int argc, JSValue*& exceptionValue) 583 583 { 584 584 if (argc < 2) 585 585 return jsUndefined(); 586 586 587 JSValue Ptrprogram = callFrame[argv + 1].jsValue(callFrame);587 JSValue* program = callFrame[argv + 1].jsValue(callFrame); 588 588 589 589 if (!program->isString()) … … 595 595 RefPtr<EvalNode> evalNode = codeBlock->evalCodeCache.get(callFrame, programSource, scopeChain, exceptionValue); 596 596 597 JSValue Ptrresult = jsUndefined();597 JSValue* result = jsUndefined(); 598 598 if (evalNode) 599 599 result = callFrame->globalData().machine->execute(evalNode.get(), callFrame, thisObj, callFrame->registers() - registerFile->start() + argv + 1 + RegisterFile::CallFrameHeaderSize, scopeChain, &exceptionValue); … … 747 747 } 748 748 749 NEVER_INLINE bool Machine::unwindCallFrame(CallFrame*& callFrame, JSValue PtrexceptionValue, const Instruction*& vPC, CodeBlock*& codeBlock)749 NEVER_INLINE bool Machine::unwindCallFrame(CallFrame*& callFrame, JSValue* exceptionValue, const Instruction*& vPC, CodeBlock*& codeBlock) 750 750 { 751 751 CodeBlock* oldCodeBlock = codeBlock; … … 790 790 } 791 791 792 NEVER_INLINE Instruction* Machine::throwException(CallFrame*& callFrame, JSValue Ptr& exceptionValue, const Instruction* vPC, bool explicitThrow)792 NEVER_INLINE Instruction* Machine::throwException(CallFrame*& callFrame, JSValue*& exceptionValue, const Instruction* vPC, bool explicitThrow) 793 793 { 794 794 // Set up the exception object … … 889 889 }; 890 890 891 JSValue Ptr Machine::execute(ProgramNode* programNode, CallFrame* callFrame, ScopeChainNode* scopeChain, JSObject* thisObj, JSValuePtr* exception)891 JSValue* Machine::execute(ProgramNode* programNode, CallFrame* callFrame, ScopeChainNode* scopeChain, JSObject* thisObj, JSValue** exception) 892 892 { 893 893 ASSERT(!scopeChain->globalData->exception); … … 928 928 if (!codeBlock->ctiCode) 929 929 CTI::compile(this, newCallFrame, codeBlock); 930 JSValue Ptrresult = CTI::execute(codeBlock->ctiCode, &m_registerFile, newCallFrame, scopeChain->globalData, exception);930 JSValue* result = CTI::execute(codeBlock->ctiCode, &m_registerFile, newCallFrame, scopeChain->globalData, exception); 931 931 #else 932 JSValue Ptrresult = privateExecute(Normal, &m_registerFile, newCallFrame, exception);932 JSValue* result = privateExecute(Normal, &m_registerFile, newCallFrame, exception); 933 933 #endif 934 934 m_reentryDepth--; … … 947 947 } 948 948 949 JSValue Ptr Machine::execute(FunctionBodyNode* functionBodyNode, CallFrame* callFrame, JSFunction* function, JSObject* thisObj, const ArgList& args, ScopeChainNode* scopeChain, JSValuePtr* exception)949 JSValue* Machine::execute(FunctionBodyNode* functionBodyNode, CallFrame* callFrame, JSFunction* function, JSObject* thisObj, const ArgList& args, ScopeChainNode* scopeChain, JSValue** exception) 950 950 { 951 951 ASSERT(!scopeChain->globalData->exception); … … 991 991 if (!codeBlock->ctiCode) 992 992 CTI::compile(this, newCallFrame, codeBlock); 993 JSValue Ptrresult = CTI::execute(codeBlock->ctiCode, &m_registerFile, newCallFrame, scopeChain->globalData, exception);993 JSValue* result = CTI::execute(codeBlock->ctiCode, &m_registerFile, newCallFrame, scopeChain->globalData, exception); 994 994 #else 995 JSValue Ptrresult = privateExecute(Normal, &m_registerFile, newCallFrame, exception);995 JSValue* result = privateExecute(Normal, &m_registerFile, newCallFrame, exception); 996 996 #endif 997 997 m_reentryDepth--; … … 1006 1006 } 1007 1007 1008 JSValue Ptr Machine::execute(EvalNode* evalNode, CallFrame* callFrame, JSObject* thisObj, ScopeChainNode* scopeChain, JSValuePtr* exception)1008 JSValue* Machine::execute(EvalNode* evalNode, CallFrame* callFrame, JSObject* thisObj, ScopeChainNode* scopeChain, JSValue** exception) 1009 1009 { 1010 1010 return execute(evalNode, callFrame, thisObj, m_registerFile.size() + evalNode->byteCode(scopeChain).numParameters + RegisterFile::CallFrameHeaderSize, scopeChain, exception); 1011 1011 } 1012 1012 1013 JSValue Ptr Machine::execute(EvalNode* evalNode, CallFrame* callFrame, JSObject* thisObj, int registerOffset, ScopeChainNode* scopeChain, JSValuePtr* exception)1013 JSValue* Machine::execute(EvalNode* evalNode, CallFrame* callFrame, JSObject* thisObj, int registerOffset, ScopeChainNode* scopeChain, JSValue** exception) 1014 1014 { 1015 1015 ASSERT(!scopeChain->globalData->exception); … … 1080 1080 if (!codeBlock->ctiCode) 1081 1081 CTI::compile(this, newCallFrame, codeBlock); 1082 JSValue Ptrresult = CTI::execute(codeBlock->ctiCode, &m_registerFile, newCallFrame, scopeChain->globalData, exception);1082 JSValue* result = CTI::execute(codeBlock->ctiCode, &m_registerFile, newCallFrame, scopeChain->globalData, exception); 1083 1083 #else 1084 JSValue Ptrresult = privateExecute(Normal, &m_registerFile, newCallFrame, exception);1084 JSValue* result = privateExecute(Normal, &m_registerFile, newCallFrame, exception); 1085 1085 #endif 1086 1086 m_reentryDepth--; … … 1172 1172 // We have to return a JSValue here, gcc seems to produce worse code if 1173 1173 // we attempt to return a bool 1174 ALWAYS_INLINE JSValue PtrMachine::checkTimeout(JSGlobalObject* globalObject)1174 ALWAYS_INLINE JSValue* Machine::checkTimeout(JSGlobalObject* globalObject) 1175 1175 { 1176 1176 unsigned currentTime = getCPUTime(); … … 1213 1213 CodeBlock* codeBlock = callFrame->codeBlock(); 1214 1214 Identifier& property = codeBlock->identifiers[(++vPC)->u.operand]; 1215 JSValue Ptrvalue = callFrame[(++vPC)->u.operand].jsValue(callFrame);1215 JSValue* value = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1216 1216 JSObject* scope = new (callFrame) JSStaticScopeObject(callFrame, property, value, DontDelete); 1217 1217 callFrame[dst] = scope; … … 1222 1222 static StructureIDChain* cachePrototypeChain(CallFrame* callFrame, StructureID* structureID) 1223 1223 { 1224 JSValue Ptrprototype = structureID->prototypeForLookup(callFrame);1224 JSValue* prototype = structureID->prototypeForLookup(callFrame); 1225 1225 if (JSImmediate::isImmediate(prototype)) 1226 1226 return 0; … … 1230 1230 } 1231 1231 1232 NEVER_INLINE void Machine::tryCachePutByID(CallFrame* callFrame, CodeBlock* codeBlock, Instruction* vPC, JSValue PtrbaseValue, const PutPropertySlot& slot)1232 NEVER_INLINE void Machine::tryCachePutByID(CallFrame* callFrame, CodeBlock* codeBlock, Instruction* vPC, JSValue* baseValue, const PutPropertySlot& slot) 1233 1233 { 1234 1234 // Recursive invocation may already have specialized this instruction. … … 1307 1307 } 1308 1308 1309 NEVER_INLINE void Machine::tryCacheGetByID(CallFrame* callFrame, CodeBlock* codeBlock, Instruction* vPC, JSValue PtrbaseValue, const Identifier& propertyName, const PropertySlot& slot)1309 NEVER_INLINE void Machine::tryCacheGetByID(CallFrame* callFrame, CodeBlock* codeBlock, Instruction* vPC, JSValue* baseValue, const Identifier& propertyName, const PropertySlot& slot) 1310 1310 { 1311 1311 // Recursive invocation may already have specialized this instruction. … … 1390 1390 JSObject* o = asObject(baseValue); 1391 1391 while (slot.slotBase() != o) { 1392 JSValue Ptrv = o->structureID()->prototypeForLookup(callFrame);1392 JSValue* v = o->structureID()->prototypeForLookup(callFrame); 1393 1393 1394 1394 // If we didn't find base in baseValue's prototype chain, then baseValue … … 1432 1432 } 1433 1433 1434 JSValue Ptr Machine::privateExecute(ExecutionFlag flag, RegisterFile* registerFile, CallFrame* callFrame, JSValuePtr* exception)1434 JSValue* Machine::privateExecute(ExecutionFlag flag, RegisterFile* registerFile, CallFrame* callFrame, JSValue** exception) 1435 1435 { 1436 1436 // One-time initialization of our address tables. We have to put this code … … 1458 1458 1459 1459 JSGlobalData* globalData = &callFrame->globalData(); 1460 JSValue PtrexceptionValue = noValue();1460 JSValue* exceptionValue = noValue(); 1461 1461 Instruction* handlerVPC = 0; 1462 1462 … … 1567 1567 */ 1568 1568 int dst = (++vPC)->u.operand; 1569 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1570 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1569 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1570 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1571 1571 if (JSImmediate::areBothImmediateNumbers(src1, src2)) 1572 1572 callFrame[dst] = jsBoolean(src1 == src2); 1573 1573 else { 1574 JSValue Ptrresult = jsBoolean(equalSlowCase(callFrame, src1, src2));1574 JSValue* result = jsBoolean(equalSlowCase(callFrame, src1, src2)); 1575 1575 VM_CHECK_EXCEPTION(); 1576 1576 callFrame[dst] = result; … … 1587 1587 */ 1588 1588 int dst = (++vPC)->u.operand; 1589 JSValue Ptrsrc = callFrame[(++vPC)->u.operand].jsValue(callFrame);1589 JSValue* src = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1590 1590 1591 1591 if (src->isUndefinedOrNull()) { … … 1607 1607 */ 1608 1608 int dst = (++vPC)->u.operand; 1609 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1610 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1609 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1610 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1611 1611 if (JSImmediate::areBothImmediateNumbers(src1, src2)) 1612 1612 callFrame[dst] = jsBoolean(src1 != src2); 1613 1613 else { 1614 JSValue Ptrresult = jsBoolean(!equalSlowCase(callFrame, src1, src2));1614 JSValue* result = jsBoolean(!equalSlowCase(callFrame, src1, src2)); 1615 1615 VM_CHECK_EXCEPTION(); 1616 1616 callFrame[dst] = result; … … 1627 1627 */ 1628 1628 int dst = (++vPC)->u.operand; 1629 JSValue Ptrsrc = callFrame[(++vPC)->u.operand].jsValue(callFrame);1629 JSValue* src = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1630 1630 1631 1631 if (src->isUndefinedOrNull()) { … … 1647 1647 */ 1648 1648 int dst = (++vPC)->u.operand; 1649 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1650 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1649 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1650 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1651 1651 if (JSImmediate::areBothImmediate(src1, src2)) 1652 1652 callFrame[dst] = jsBoolean(src1 == src2); … … 1667 1667 */ 1668 1668 int dst = (++vPC)->u.operand; 1669 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1670 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1669 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1670 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1671 1671 1672 1672 if (JSImmediate::areBothImmediate(src1, src2)) … … 1688 1688 */ 1689 1689 int dst = (++vPC)->u.operand; 1690 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1691 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1692 JSValue Ptrresult = jsBoolean(jsLess(callFrame, src1, src2));1690 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1691 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1692 JSValue* result = jsBoolean(jsLess(callFrame, src1, src2)); 1693 1693 VM_CHECK_EXCEPTION(); 1694 1694 callFrame[dst] = result; … … 1705 1705 */ 1706 1706 int dst = (++vPC)->u.operand; 1707 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1708 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1709 JSValue Ptrresult = jsBoolean(jsLessEq(callFrame, src1, src2));1707 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1708 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1709 JSValue* result = jsBoolean(jsLessEq(callFrame, src1, src2)); 1710 1710 VM_CHECK_EXCEPTION(); 1711 1711 callFrame[dst] = result; … … 1721 1721 */ 1722 1722 int srcDst = (++vPC)->u.operand; 1723 JSValue Ptrv = callFrame[srcDst].jsValue(callFrame);1723 JSValue* v = callFrame[srcDst].jsValue(callFrame); 1724 1724 if (JSImmediate::canDoFastAdditiveOperations(v)) 1725 1725 callFrame[srcDst] = JSImmediate::incImmediateNumber(v); 1726 1726 else { 1727 JSValue Ptrresult = jsNumber(callFrame, v->toNumber(callFrame) + 1);1727 JSValue* result = jsNumber(callFrame, v->toNumber(callFrame) + 1); 1728 1728 VM_CHECK_EXCEPTION(); 1729 1729 callFrame[srcDst] = result; … … 1740 1740 */ 1741 1741 int srcDst = (++vPC)->u.operand; 1742 JSValue Ptrv = callFrame[srcDst].jsValue(callFrame);1742 JSValue* v = callFrame[srcDst].jsValue(callFrame); 1743 1743 if (JSImmediate::canDoFastAdditiveOperations(v)) 1744 1744 callFrame[srcDst] = JSImmediate::decImmediateNumber(v); 1745 1745 else { 1746 JSValue Ptrresult = jsNumber(callFrame, v->toNumber(callFrame) - 1);1746 JSValue* result = jsNumber(callFrame, v->toNumber(callFrame) - 1); 1747 1747 VM_CHECK_EXCEPTION(); 1748 1748 callFrame[srcDst] = result; … … 1761 1761 int dst = (++vPC)->u.operand; 1762 1762 int srcDst = (++vPC)->u.operand; 1763 JSValue Ptrv = callFrame[srcDst].jsValue(callFrame);1763 JSValue* v = callFrame[srcDst].jsValue(callFrame); 1764 1764 if (JSImmediate::canDoFastAdditiveOperations(v)) { 1765 1765 callFrame[dst] = v; 1766 1766 callFrame[srcDst] = JSImmediate::incImmediateNumber(v); 1767 1767 } else { 1768 JSValue Ptrnumber = callFrame[srcDst].jsValue(callFrame)->toJSNumber(callFrame);1768 JSValue* number = callFrame[srcDst].jsValue(callFrame)->toJSNumber(callFrame); 1769 1769 VM_CHECK_EXCEPTION(); 1770 1770 callFrame[dst] = number; … … 1784 1784 int dst = (++vPC)->u.operand; 1785 1785 int srcDst = (++vPC)->u.operand; 1786 JSValue Ptrv = callFrame[srcDst].jsValue(callFrame);1786 JSValue* v = callFrame[srcDst].jsValue(callFrame); 1787 1787 if (JSImmediate::canDoFastAdditiveOperations(v)) { 1788 1788 callFrame[dst] = v; 1789 1789 callFrame[srcDst] = JSImmediate::decImmediateNumber(v); 1790 1790 } else { 1791 JSValue Ptrnumber = callFrame[srcDst].jsValue(callFrame)->toJSNumber(callFrame);1791 JSValue* number = callFrame[srcDst].jsValue(callFrame)->toJSNumber(callFrame); 1792 1792 VM_CHECK_EXCEPTION(); 1793 1793 callFrame[dst] = number; … … 1807 1807 int src = (++vPC)->u.operand; 1808 1808 1809 JSValue PtrsrcVal = callFrame[src].jsValue(callFrame);1809 JSValue* srcVal = callFrame[src].jsValue(callFrame); 1810 1810 1811 1811 if (LIKELY(srcVal->isNumber())) 1812 1812 callFrame[dst] = callFrame[src]; 1813 1813 else { 1814 JSValue Ptrresult = srcVal->toJSNumber(callFrame);1814 JSValue* result = srcVal->toJSNumber(callFrame); 1815 1815 VM_CHECK_EXCEPTION(); 1816 1816 callFrame[dst] = result; … … 1827 1827 */ 1828 1828 int dst = (++vPC)->u.operand; 1829 JSValue Ptrsrc = callFrame[(++vPC)->u.operand].jsValue(callFrame);1829 JSValue* src = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1830 1830 double v; 1831 1831 if (fastIsNumber(src, v)) 1832 1832 callFrame[dst] = jsNumber(callFrame, -v); 1833 1833 else { 1834 JSValue Ptrresult = jsNumber(callFrame, -src->toNumber(callFrame));1834 JSValue* result = jsNumber(callFrame, -src->toNumber(callFrame)); 1835 1835 VM_CHECK_EXCEPTION(); 1836 1836 callFrame[dst] = result; … … 1848 1848 */ 1849 1849 int dst = (++vPC)->u.operand; 1850 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1851 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1850 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1851 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1852 1852 if (JSImmediate::canDoFastAdditiveOperations(src1) && JSImmediate::canDoFastAdditiveOperations(src2)) 1853 1853 callFrame[dst] = JSImmediate::addImmediateNumbers(src1, src2); 1854 1854 else { 1855 JSValue Ptrresult = jsAdd(callFrame, src1, src2);1855 JSValue* result = jsAdd(callFrame, src1, src2); 1856 1856 VM_CHECK_EXCEPTION(); 1857 1857 callFrame[dst] = result; … … 1867 1867 */ 1868 1868 int dst = (++vPC)->u.operand; 1869 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1870 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1869 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1870 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1871 1871 double left; 1872 1872 double right; … … 1881 1881 callFrame[dst] = jsNumber(callFrame, left * right); 1882 1882 else { 1883 JSValue Ptrresult = jsNumber(callFrame, src1->toNumber(callFrame) * src2->toNumber(callFrame));1883 JSValue* result = jsNumber(callFrame, src1->toNumber(callFrame) * src2->toNumber(callFrame)); 1884 1884 VM_CHECK_EXCEPTION(); 1885 1885 callFrame[dst] = result; … … 1897 1897 */ 1898 1898 int dst = (++vPC)->u.operand; 1899 JSValue Ptrdividend = callFrame[(++vPC)->u.operand].jsValue(callFrame);1900 JSValue Ptrdivisor = callFrame[(++vPC)->u.operand].jsValue(callFrame);1899 JSValue* dividend = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1900 JSValue* divisor = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1901 1901 double left; 1902 1902 double right; … … 1904 1904 callFrame[dst] = jsNumber(callFrame, left / right); 1905 1905 else { 1906 JSValue Ptrresult = jsNumber(callFrame, dividend->toNumber(callFrame) / divisor->toNumber(callFrame));1906 JSValue* result = jsNumber(callFrame, dividend->toNumber(callFrame) / divisor->toNumber(callFrame)); 1907 1907 VM_CHECK_EXCEPTION(); 1908 1908 callFrame[dst] = result; … … 1922 1922 int divisor = (++vPC)->u.operand; 1923 1923 1924 JSValue PtrdividendValue = callFrame[dividend].jsValue(callFrame);1925 JSValue PtrdivisorValue = callFrame[divisor].jsValue(callFrame);1924 JSValue* dividendValue = callFrame[dividend].jsValue(callFrame); 1925 JSValue* divisorValue = callFrame[divisor].jsValue(callFrame); 1926 1926 1927 1927 if (JSImmediate::areBothImmediateNumbers(dividendValue, divisorValue) && divisorValue != JSImmediate::from(0)) { … … 1932 1932 1933 1933 double d = dividendValue->toNumber(callFrame); 1934 JSValue Ptrresult = jsNumber(callFrame, fmod(d, divisorValue->toNumber(callFrame)));1934 JSValue* result = jsNumber(callFrame, fmod(d, divisorValue->toNumber(callFrame))); 1935 1935 VM_CHECK_EXCEPTION(); 1936 1936 callFrame[dst] = result; … … 1946 1946 */ 1947 1947 int dst = (++vPC)->u.operand; 1948 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1949 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);1948 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1949 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1950 1950 double left; 1951 1951 double right; … … 1955 1955 callFrame[dst] = jsNumber(callFrame, left - right); 1956 1956 else { 1957 JSValue Ptrresult = jsNumber(callFrame, src1->toNumber(callFrame) - src2->toNumber(callFrame));1957 JSValue* result = jsNumber(callFrame, src1->toNumber(callFrame) - src2->toNumber(callFrame)); 1958 1958 VM_CHECK_EXCEPTION(); 1959 1959 callFrame[dst] = result; … … 1970 1970 */ 1971 1971 int dst = (++vPC)->u.operand; 1972 JSValue Ptrval = callFrame[(++vPC)->u.operand].jsValue(callFrame);1973 JSValue Ptrshift = callFrame[(++vPC)->u.operand].jsValue(callFrame);1972 JSValue* val = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1973 JSValue* shift = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1974 1974 int32_t left; 1975 1975 uint32_t right; … … 1979 1979 callFrame[dst] = jsNumber(callFrame, left << (right & 0x1f)); 1980 1980 else { 1981 JSValue Ptrresult = jsNumber(callFrame, (val->toInt32(callFrame)) << (shift->toUInt32(callFrame) & 0x1f));1981 JSValue* result = jsNumber(callFrame, (val->toInt32(callFrame)) << (shift->toUInt32(callFrame) & 0x1f)); 1982 1982 VM_CHECK_EXCEPTION(); 1983 1983 callFrame[dst] = result; … … 1995 1995 */ 1996 1996 int dst = (++vPC)->u.operand; 1997 JSValue Ptrval = callFrame[(++vPC)->u.operand].jsValue(callFrame);1998 JSValue Ptrshift = callFrame[(++vPC)->u.operand].jsValue(callFrame);1997 JSValue* val = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1998 JSValue* shift = callFrame[(++vPC)->u.operand].jsValue(callFrame); 1999 1999 int32_t left; 2000 2000 uint32_t right; … … 2004 2004 callFrame[dst] = jsNumber(callFrame, left >> (right & 0x1f)); 2005 2005 else { 2006 JSValue Ptrresult = jsNumber(callFrame, (val->toInt32(callFrame)) >> (shift->toUInt32(callFrame) & 0x1f));2006 JSValue* result = jsNumber(callFrame, (val->toInt32(callFrame)) >> (shift->toUInt32(callFrame) & 0x1f)); 2007 2007 VM_CHECK_EXCEPTION(); 2008 2008 callFrame[dst] = result; … … 2020 2020 */ 2021 2021 int dst = (++vPC)->u.operand; 2022 JSValue Ptrval = callFrame[(++vPC)->u.operand].jsValue(callFrame);2023 JSValue Ptrshift = callFrame[(++vPC)->u.operand].jsValue(callFrame);2022 JSValue* val = callFrame[(++vPC)->u.operand].jsValue(callFrame); 2023 JSValue* shift = callFrame[(++vPC)->u.operand].jsValue(callFrame); 2024 2024 if (JSImmediate::areBothImmediateNumbers(val, shift) && !JSImmediate::isNegative(val)) 2025 2025 callFrame[dst] = JSImmediate::rightShiftImmediateNumbers(val, shift); 2026 2026 else { 2027 JSValue Ptrresult = jsNumber(callFrame, (val->toUInt32(callFrame)) >> (shift->toUInt32(callFrame) & 0x1f));2027 JSValue* result = jsNumber(callFrame, (val->toUInt32(callFrame)) >> (shift->toUInt32(callFrame) & 0x1f)); 2028 2028 VM_CHECK_EXCEPTION(); 2029 2029 callFrame[dst] = result; … … 2041 2041 */ 2042 2042 int dst = (++vPC)->u.operand; 2043 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);2044 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);2043 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 2044 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 2045 2045 int32_t left; 2046 2046 int32_t right; … … 2050 2050 callFrame[dst] = jsNumber(callFrame, left & right); 2051 2051 else { 2052 JSValue Ptrresult = jsNumber(callFrame, src1->toInt32(callFrame) & src2->toInt32(callFrame));2052 JSValue* result = jsNumber(callFrame, src1->toInt32(callFrame) & src2->toInt32(callFrame)); 2053 2053 VM_CHECK_EXCEPTION(); 2054 2054 callFrame[dst] = result; … … 2066 2066 */ 2067 2067 int dst = (++vPC)->u.operand; 2068 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);2069 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);2068 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 2069 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 2070 2070 int32_t left; 2071 2071 int32_t right; … … 2075 2075 callFrame[dst] = jsNumber(callFrame, left ^ right); 2076 2076 else { 2077 JSValue Ptrresult = jsNumber(callFrame, src1->toInt32(callFrame) ^ src2->toInt32(callFrame));2077 JSValue* result = jsNumber(callFrame, src1->toInt32(callFrame) ^ src2->toInt32(callFrame)); 2078 2078 VM_CHECK_EXCEPTION(); 2079 2079 callFrame[dst] = result; … … 2091 2091 */ 2092 2092 int dst = (++vPC)->u.operand; 2093 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);2094 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);2093 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 2094 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 2095 2095 int32_t left; 2096 2096 int32_t right; … … 2100 2100 callFrame[dst] = jsNumber(callFrame, left | right); 2101 2101 else { 2102 JSValue Ptrresult = jsNumber(callFrame, src1->toInt32(callFrame) | src2->toInt32(callFrame));2102 JSValue* result = jsNumber(callFrame, src1->toInt32(callFrame) | src2->toInt32(callFrame)); 2103 2103 VM_CHECK_EXCEPTION(); 2104 2104 callFrame[dst] = result; … … 2115 2115 */ 2116 2116 int dst = (++vPC)->u.operand; 2117 JSValue Ptrsrc = callFrame[(++vPC)->u.operand].jsValue(callFrame);2117 JSValue* src = callFrame[(++vPC)->u.operand].jsValue(callFrame); 2118 2118 int32_t value; 2119 2119 if (fastToInt32(src, value)) 2120 2120 callFrame[dst] = jsNumber(callFrame, ~value); 2121 2121 else { 2122 JSValue Ptrresult = jsNumber(callFrame, ~src->toInt32(callFrame));2122 JSValue* result = jsNumber(callFrame, ~src->toInt32(callFrame)); 2123 2123 VM_CHECK_EXCEPTION(); 2124 2124 callFrame[dst] = result; … … 2135 2135 int dst = (++vPC)->u.operand; 2136 2136 int src = (++vPC)->u.operand; 2137 JSValue Ptrresult = jsBoolean(!callFrame[src].jsValue(callFrame)->toBoolean(callFrame));2137 JSValue* result = jsBoolean(!callFrame[src].jsValue(callFrame)->toBoolean(callFrame)); 2138 2138 VM_CHECK_EXCEPTION(); 2139 2139 callFrame[dst] = result; … … 2160 2160 int baseProto = vPC[4].u.operand; 2161 2161 2162 JSValue PtrbaseVal = callFrame[base].jsValue(callFrame);2162 JSValue* baseVal = callFrame[base].jsValue(callFrame); 2163 2163 2164 2164 if (isNotObject(callFrame, true, callFrame->codeBlock(), vPC, baseVal, exceptionValue)) … … 2193 2193 int dst = (++vPC)->u.operand; 2194 2194 int src = (++vPC)->u.operand; 2195 JSValue Ptrv = callFrame[src].jsValue(callFrame);2195 JSValue* v = callFrame[src].jsValue(callFrame); 2196 2196 callFrame[dst] = jsBoolean(JSImmediate::isImmediate(v) ? v->isUndefined() : v->asCell()->structureID()->typeInfo().masqueradesAsUndefined()); 2197 2197 … … 2282 2282 int base = (++vPC)->u.operand; 2283 2283 2284 JSValue PtrbaseVal = callFrame[base].jsValue(callFrame);2284 JSValue* baseVal = callFrame[base].jsValue(callFrame); 2285 2285 if (isNotObject(callFrame, false, callFrame->codeBlock(), vPC, baseVal, exceptionValue)) 2286 2286 goto vm_throw; … … 2288 2288 JSObject* baseObj = asObject(baseVal); 2289 2289 2290 JSValue PtrpropName = callFrame[property].jsValue(callFrame);2290 JSValue* propName = callFrame[property].jsValue(callFrame); 2291 2291 2292 2292 uint32_t i; … … 2484 2484 CodeBlock* codeBlock = callFrame->codeBlock(); 2485 2485 Identifier& ident = codeBlock->identifiers[property]; 2486 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2486 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2487 2487 PropertySlot slot(baseValue); 2488 JSValue Ptrresult = baseValue->get(callFrame, ident, slot);2488 JSValue* result = baseValue->get(callFrame, ident, slot); 2489 2489 VM_CHECK_EXCEPTION(); 2490 2490 … … 2503 2503 */ 2504 2504 int base = vPC[2].u.operand; 2505 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2505 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2506 2506 2507 2507 if (LIKELY(!JSImmediate::isImmediate(baseValue))) { … … 2534 2534 */ 2535 2535 int base = vPC[2].u.operand; 2536 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2536 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2537 2537 2538 2538 if (LIKELY(!JSImmediate::isImmediate(baseValue))) { … … 2569 2569 */ 2570 2570 int base = vPC[2].u.operand; 2571 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2571 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2572 2572 2573 2573 if (LIKELY(!JSImmediate::isImmediate(baseValue))) { … … 2614 2614 2615 2615 Identifier& ident = callFrame->codeBlock()->identifiers[property]; 2616 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2616 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2617 2617 PropertySlot slot(baseValue); 2618 JSValue Ptrresult = baseValue->get(callFrame, ident, slot);2618 JSValue* result = baseValue->get(callFrame, ident, slot); 2619 2619 VM_CHECK_EXCEPTION(); 2620 2620 … … 2632 2632 2633 2633 int base = vPC[2].u.operand; 2634 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2634 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2635 2635 if (LIKELY(isJSArray(baseValue))) { 2636 2636 int dst = vPC[1].u.operand; … … 2652 2652 2653 2653 int base = vPC[2].u.operand; 2654 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2654 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2655 2655 if (LIKELY(isJSString(baseValue))) { 2656 2656 int dst = vPC[1].u.operand; … … 2678 2678 2679 2679 CodeBlock* codeBlock = callFrame->codeBlock(); 2680 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2680 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2681 2681 Identifier& ident = codeBlock->identifiers[property]; 2682 2682 PutPropertySlot slot; … … 2701 2701 */ 2702 2702 int base = vPC[1].u.operand; 2703 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2703 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2704 2704 2705 2705 if (LIKELY(!JSImmediate::isImmediate(baseValue))) { … … 2714 2714 RefPtr<StructureID>* it = vPC[6].u.structureIDChain->head(); 2715 2715 2716 JSValue Ptrproto = baseObject->structureID()->prototypeForLookup(callFrame);2716 JSValue* proto = baseObject->structureID()->prototypeForLookup(callFrame); 2717 2717 while (!proto->isNull()) { 2718 2718 if (UNLIKELY(asObject(proto)->structureID() != (*it).get())) { … … 2751 2751 */ 2752 2752 int base = vPC[1].u.operand; 2753 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2753 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2754 2754 2755 2755 if (LIKELY(!JSImmediate::isImmediate(baseValue))) { … … 2787 2787 int value = vPC[3].u.operand; 2788 2788 2789 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2789 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2790 2790 Identifier& ident = callFrame->codeBlock()->identifiers[property]; 2791 2791 PutPropertySlot slot; … … 2810 2810 JSObject* baseObj = callFrame[base].jsValue(callFrame)->toObject(callFrame); 2811 2811 Identifier& ident = callFrame->codeBlock()->identifiers[property]; 2812 JSValue Ptrresult = jsBoolean(baseObj->deleteProperty(callFrame, ident));2812 JSValue* result = jsBoolean(baseObj->deleteProperty(callFrame, ident)); 2813 2813 VM_CHECK_EXCEPTION(); 2814 2814 callFrame[dst] = result; … … 2828 2828 int property = (++vPC)->u.operand; 2829 2829 2830 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2831 JSValue Ptrsubscript = callFrame[property].jsValue(callFrame);2832 2833 JSValue Ptrresult;2830 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2831 JSValue* subscript = callFrame[property].jsValue(callFrame); 2832 2833 JSValue* result; 2834 2834 unsigned i; 2835 2835 … … 2871 2871 int value = (++vPC)->u.operand; 2872 2872 2873 JSValue PtrbaseValue = callFrame[base].jsValue(callFrame);2874 JSValue Ptrsubscript = callFrame[property].jsValue(callFrame);2873 JSValue* baseValue = callFrame[base].jsValue(callFrame); 2874 JSValue* subscript = callFrame[property].jsValue(callFrame); 2875 2875 2876 2876 unsigned i; … … 2912 2912 JSObject* baseObj = callFrame[base].jsValue(callFrame)->toObject(callFrame); // may throw 2913 2913 2914 JSValue Ptrsubscript = callFrame[property].jsValue(callFrame);2915 JSValue Ptrresult;2914 JSValue* subscript = callFrame[property].jsValue(callFrame); 2915 JSValue* result; 2916 2916 uint32_t i; 2917 2917 if (subscript->getUInt32(i)) … … 3041 3041 int src = (++vPC)->u.operand; 3042 3042 int target = (++vPC)->u.operand; 3043 JSValue PtrsrcValue = callFrame[src].jsValue(callFrame);3043 JSValue* srcValue = callFrame[src].jsValue(callFrame); 3044 3044 3045 3045 if (srcValue->isUndefinedOrNull() || (!JSImmediate::isImmediate(srcValue) && srcValue->asCell()->structureID()->typeInfo().masqueradesAsUndefined())) { … … 3059 3059 int src = (++vPC)->u.operand; 3060 3060 int target = (++vPC)->u.operand; 3061 JSValue PtrsrcValue = callFrame[src].jsValue(callFrame);3061 JSValue* srcValue = callFrame[src].jsValue(callFrame); 3062 3062 3063 3063 if (!srcValue->isUndefinedOrNull() || (!JSImmediate::isImmediate(srcValue) && !srcValue->asCell()->structureID()->typeInfo().masqueradesAsUndefined())) { … … 3080 3080 the JS timeout is reached. 3081 3081 */ 3082 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);3083 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);3082 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 3083 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 3084 3084 int target = (++vPC)->u.operand; 3085 3085 … … 3107 3107 the JS timeout is reached. 3108 3108 */ 3109 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);3110 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);3109 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 3110 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 3111 3111 int target = (++vPC)->u.operand; 3112 3112 … … 3131 3131 result of the comparison is false. 3132 3132 */ 3133 JSValue Ptrsrc1 = callFrame[(++vPC)->u.operand].jsValue(callFrame);3134 JSValue Ptrsrc2 = callFrame[(++vPC)->u.operand].jsValue(callFrame);3133 JSValue* src1 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 3134 JSValue* src2 = callFrame[(++vPC)->u.operand].jsValue(callFrame); 3135 3135 int target = (++vPC)->u.operand; 3136 3136 … … 3157 3157 int tableIndex = (++vPC)->u.operand; 3158 3158 int defaultOffset = (++vPC)->u.operand; 3159 JSValue Ptrscrutinee = callFrame[(++vPC)->u.operand].jsValue(callFrame);3159 JSValue* scrutinee = callFrame[(++vPC)->u.operand].jsValue(callFrame); 3160 3160 if (!JSImmediate::isNumber(scrutinee)) 3161 3161 vPC += defaultOffset; … … 3177 3177 int tableIndex = (++vPC)->u.operand; 3178 3178 int defaultOffset = (++vPC)->u.operand; 3179 JSValue Ptrscrutinee = callFrame[(++vPC)->u.operand].jsValue(callFrame);3179 JSValue* scrutinee = callFrame[(++vPC)->u.operand].jsValue(callFrame); 3180 3180 if (!scrutinee->isString()) 3181 3181 vPC += defaultOffset; … … 3200 3200 int tableIndex = (++vPC)->u.operand; 3201 3201 int defaultOffset = (++vPC)->u.operand; 3202 JSValue Ptrscrutinee = callFrame[(++vPC)->u.operand].jsValue(callFrame);3202 JSValue* scrutinee = callFrame[(++vPC)->u.operand].jsValue(callFrame); 3203 3203 if (!scrutinee->isString()) 3204 3204 vPC += defaultOffset; … … 3257 3257 int argCount = vPC[5].u.operand; 3258 3258 3259 JSValue PtrfuncVal = callFrame[func].jsValue(callFrame);3260 JSValue PtrbaseVal = callFrame[thisVal].jsValue(callFrame);3259 JSValue* funcVal = callFrame[func].jsValue(callFrame); 3260 JSValue* baseVal = callFrame[thisVal].jsValue(callFrame); 3261 3261 3262 3262 ScopeChainNode* scopeChain = callFrame->scopeChain(); 3263 3263 if (baseVal == scopeChain->globalObject() && funcVal == scopeChain->globalObject()->evalFunction()) { 3264 3264 JSObject* thisObject = asObject(callFrame[callFrame->codeBlock()->thisRegister].jsValue(callFrame)); 3265 JSValue Ptrresult = callEval(callFrame, thisObject, scopeChain, registerFile, firstArg, argCount, exceptionValue);3265 JSValue* result = callEval(callFrame, thisObject, scopeChain, registerFile, firstArg, argCount, exceptionValue); 3266 3266 if (exceptionValue) 3267 3267 goto vm_throw; … … 3330 3330 int registerOffset = vPC[6].u.operand; 3331 3331 3332 JSValue Ptrv = callFrame[func].jsValue(callFrame);3332 JSValue* v = callFrame[func].jsValue(callFrame); 3333 3333 3334 3334 CallData callData; … … 3362 3362 3363 3363 if (callType == CallTypeHost) { 3364 JSValue PtrthisValue = thisVal == missingThisObjectMarker() ? callFrame->globalThisValue() : callFrame[thisVal].jsValue(callFrame);3364 JSValue* thisValue = thisVal == missingThisObjectMarker() ? callFrame->globalThisValue() : callFrame[thisVal].jsValue(callFrame); 3365 3365 ArgList args(callFrame->registers() + firstArg + 1, argCount - 1); 3366 3366 … … 3371 3371 MACHINE_SAMPLING_callingHostFunction(); 3372 3372 3373 JSValue PtrreturnValue = callData.native.function(newCallFrame, asObject(v), thisValue, args);3373 JSValue* returnValue = callData.native.function(newCallFrame, asObject(v), thisValue, args); 3374 3374 VM_CHECK_EXCEPTION(); 3375 3375 … … 3441 3441 callFrame->scopeChain()->deref(); 3442 3442 3443 JSValue PtrreturnValue = callFrame[result].jsValue(callFrame);3443 JSValue* returnValue = callFrame[result].jsValue(callFrame); 3444 3444 3445 3445 vPC = callFrame->returnPC(); … … 3520 3520 3521 3521 int thisRegister = (++vPC)->u.operand; 3522 JSValue PtrthisVal = callFrame[thisRegister].getJSValue();3522 JSValue* thisVal = callFrame[thisRegister].getJSValue(); 3523 3523 if (thisVal->needsThisConversion()) 3524 3524 callFrame[thisRegister] = thisVal->toThisObject(callFrame); … … 3567 3567 int registerOffset = vPC[6].u.operand; 3568 3568 3569 JSValue Ptrv = callFrame[constr].jsValue(callFrame);3569 JSValue* v = callFrame[constr].jsValue(callFrame); 3570 3570 3571 3571 ConstructData constructData; … … 3578 3578 3579 3579 StructureID* structure; 3580 JSValue Ptrprototype = callFrame[constrProto].jsValue(callFrame);3580 JSValue* prototype = callFrame[constrProto].jsValue(callFrame); 3581 3581 if (prototype->isObject()) 3582 3582 structure = asObject(prototype)->inheritorID(); … … 3615 3615 MACHINE_SAMPLING_callingHostFunction(); 3616 3616 3617 JSValue PtrreturnValue = constructData.native.function(newCallFrame, asObject(v), args);3617 JSValue* returnValue = constructData.native.function(newCallFrame, asObject(v), args); 3618 3618 3619 3619 VM_CHECK_EXCEPTION(); … … 3655 3655 */ 3656 3656 int scope = (++vPC)->u.operand; 3657 JSValue Ptrv = callFrame[scope].jsValue(callFrame);3657 JSValue* v = callFrame[scope].jsValue(callFrame); 3658 3658 JSObject* o = v->toObject(callFrame); 3659 3659 VM_CHECK_EXCEPTION(); … … 3703 3703 3704 3704 JSPropertyNameIterator* it = callFrame[iter].propertyNameIterator(); 3705 if (JSValue Ptrtemp = it->next(callFrame)) {3705 if (JSValue* temp = it->next(callFrame)) { 3706 3706 CHECK_FOR_TIMEOUT(); 3707 3707 callFrame[dst] = temp; … … 3984 3984 } 3985 3985 3986 JSValue PtrMachine::retrieveArguments(CallFrame* callFrame, JSFunction* function) const3986 JSValue* Machine::retrieveArguments(CallFrame* callFrame, JSFunction* function) const 3987 3987 { 3988 3988 CallFrame* functionCallFrame = findFunctionCallFrame(callFrame, function); … … 4008 4008 } 4009 4009 4010 JSValue PtrMachine::retrieveCaller(CallFrame* callFrame, InternalFunction* function) const4010 JSValue* Machine::retrieveCaller(CallFrame* callFrame, InternalFunction* function) const 4011 4011 { 4012 4012 CallFrame* functionCallFrame = findFunctionCallFrame(callFrame, function); … … 4018 4018 return jsNull(); 4019 4019 4020 JSValue Ptrcaller = callerFrame->callee();4020 JSValue* caller = callerFrame->callee(); 4021 4021 if (!caller) 4022 4022 return jsNull(); … … 4025 4025 } 4026 4026 4027 void Machine::retrieveLastCaller(CallFrame* callFrame, int& lineNumber, intptr_t& sourceID, UString& sourceURL, JSValue Ptr& function) const4027 void Machine::retrieveLastCaller(CallFrame* callFrame, int& lineNumber, intptr_t& sourceID, UString& sourceURL, JSValue*& function) const 4028 4028 { 4029 4029 function = noValue(); … … 4057 4057 #if ENABLE(CTI) 4058 4058 4059 NEVER_INLINE void Machine::tryCTICachePutByID(CallFrame* callFrame, CodeBlock* codeBlock, void* returnAddress, JSValue PtrbaseValue, const PutPropertySlot& slot)4059 NEVER_INLINE void Machine::tryCTICachePutByID(CallFrame* callFrame, CodeBlock* codeBlock, void* returnAddress, JSValue* baseValue, const PutPropertySlot& slot) 4060 4060 { 4061 4061 // The interpreter checks for recursion here; I do not believe this can occur in CTI. … … 4142 4142 } 4143 4143 4144 NEVER_INLINE void Machine::tryCTICacheGetByID(CallFrame* callFrame, CodeBlock* codeBlock, void* returnAddress, JSValue PtrbaseValue, const Identifier& propertyName, const PropertySlot& slot)4144 NEVER_INLINE void Machine::tryCTICacheGetByID(CallFrame* callFrame, CodeBlock* codeBlock, void* returnAddress, JSValue* baseValue, const Identifier& propertyName, const PropertySlot& slot) 4145 4145 { 4146 4146 // FIXME: Write a test that proves we need to check for recursion here just … … 4231 4231 JSObject* o = asObject(baseValue); 4232 4232 while (slot.slotBase() != o) { 4233 JSValue Ptrv = o->structureID()->prototypeForLookup(callFrame);4233 JSValue* v = o->structureID()->prototypeForLookup(callFrame); 4234 4234 4235 4235 // If we didn't find slotBase in baseValue's prototype chain, then baseValue … … 4357 4357 CTI_STACK_HACK(); 4358 4358 4359 JSValue Ptrv1 = ARG_src1;4359 JSValue* v1 = ARG_src1; 4360 4360 CallFrame* callFrame = ARG_callFrame; 4361 4361 … … 4378 4378 CTI_STACK_HACK(); 4379 4379 4380 JSValue Ptrv1 = ARG_src1;4381 JSValue Ptrv2 = ARG_src2;4380 JSValue* v1 = ARG_src1; 4381 JSValue* v2 = ARG_src2; 4382 4382 4383 4383 double left; … … 4398 4398 } 4399 4399 4400 return JSValuePtr(jsString(ARG_globalData, value.release()));4400 return jsString(ARG_globalData, value.release()); 4401 4401 } 4402 4402 … … 4410 4410 VM_THROW_EXCEPTION(); 4411 4411 } 4412 return JSValuePtr(jsString(ARG_globalData, value.release()));4412 return jsString(ARG_globalData, value.release()); 4413 4413 } 4414 4414 4415 4415 // All other cases are pretty uncommon 4416 JSValue Ptrresult = jsAddSlowCase(callFrame, v1, v2);4416 JSValue* result = jsAddSlowCase(callFrame, v1, v2); 4417 4417 VM_CHECK_EXCEPTION_AT_END(); 4418 4418 return result; … … 4423 4423 CTI_STACK_HACK(); 4424 4424 4425 JSValue Ptrv = ARG_src1;4426 4427 CallFrame* callFrame = ARG_callFrame; 4428 JSValue Ptrresult = jsNumber(ARG_globalData, v->toNumber(callFrame) + 1);4425 JSValue* v = ARG_src1; 4426 4427 CallFrame* callFrame = ARG_callFrame; 4428 JSValue* result = jsNumber(ARG_globalData, v->toNumber(callFrame) + 1); 4429 4429 VM_CHECK_EXCEPTION_AT_END(); 4430 4430 return result; … … 4463 4463 CTI_STACK_HACK(); 4464 4464 4465 JSValue Ptrsrc1 = ARG_src1;4466 JSValue Ptrsrc2 = ARG_src2;4465 JSValue* src1 = ARG_src1; 4466 JSValue* src2 = ARG_src2; 4467 4467 CallFrame* callFrame = ARG_callFrame; 4468 4468 … … 4476 4476 CTI_STACK_HACK(); 4477 4477 4478 JSValue Ptrsrc1 = ARG_src1;4479 JSValue Ptrsrc2 = ARG_src2;4478 JSValue* src1 = ARG_src1; 4479 JSValue* src2 = ARG_src2; 4480 4480 CallFrame* callFrame = ARG_callFrame; 4481 4481 … … 4549 4549 Identifier& ident = *ARG_id2; 4550 4550 4551 JSValue PtrbaseValue = ARG_src1;4551 JSValue* baseValue = ARG_src1; 4552 4552 PropertySlot slot(baseValue); 4553 JSValue Ptrresult = baseValue->get(callFrame, ident, slot);4553 JSValue* result = baseValue->get(callFrame, ident, slot); 4554 4554 4555 4555 ctiRepatchCallByReturnAddress(CTI_RETURN_ADDRESS, reinterpret_cast<void*>(cti_op_get_by_id_second)); … … 4566 4566 Identifier& ident = *ARG_id2; 4567 4567 4568 JSValue PtrbaseValue = ARG_src1;4568 JSValue* baseValue = ARG_src1; 4569 4569 PropertySlot slot(baseValue); 4570 JSValue Ptrresult = baseValue->get(callFrame, ident, slot);4570 JSValue* result = baseValue->get(callFrame, ident, slot); 4571 4571 4572 4572 ARG_globalData->machine->tryCTICacheGetByID(callFrame, callFrame->codeBlock(), CTI_RETURN_ADDRESS, baseValue, ident, slot); … … 4583 4583 Identifier& ident = *ARG_id2; 4584 4584 4585 JSValue PtrbaseValue = ARG_src1;4585 JSValue* baseValue = ARG_src1; 4586 4586 PropertySlot slot(baseValue); 4587 JSValue Ptrresult = baseValue->get(callFrame, ident, slot);4587 JSValue* result = baseValue->get(callFrame, ident, slot); 4588 4588 4589 4589 VM_CHECK_EXCEPTION_AT_END(); … … 4598 4598 Identifier& ident = *ARG_id2; 4599 4599 4600 JSValue PtrbaseValue = ARG_src1;4600 JSValue* baseValue = ARG_src1; 4601 4601 PropertySlot slot(baseValue); 4602 JSValue Ptrresult = baseValue->get(callFrame, ident, slot);4602 JSValue* result = baseValue->get(callFrame, ident, slot); 4603 4603 4604 4604 // should probably uncacheGetByID() ... this would mean doing a vPC lookup - might be worth just bleeding this until the end. … … 4614 4614 4615 4615 CallFrame* callFrame = ARG_callFrame; 4616 JSValue Ptrvalue = ARG_src1;4617 JSValue PtrbaseVal = ARG_src2;4618 JSValue Ptrproto = ARG_src3;4616 JSValue* value = ARG_src1; 4617 JSValue* baseVal = ARG_src2; 4618 JSValue* proto = ARG_src3; 4619 4619 4620 4620 // at least one of these checks must have failed to get to the slow case … … 4633 4633 4634 4634 if (!asObject(baseVal)->structureID()->typeInfo().implementsHasInstance()) 4635 return JSValuePtr(jsBoolean(false));4635 return jsBoolean(false); 4636 4636 4637 4637 if (!proto->isObject()) { … … 4641 4641 4642 4642 if (!value->isObject()) 4643 return JSValuePtr(jsBoolean(false));4644 4645 JSValue Ptrresult = jsBoolean(asObject(baseVal)->hasInstance(callFrame, value, proto));4643 return jsBoolean(false); 4644 4645 JSValue* result = jsBoolean(asObject(baseVal)->hasInstance(callFrame, value, proto)); 4646 4646 VM_CHECK_EXCEPTION_AT_END(); 4647 4647 … … 4658 4658 JSObject* baseObj = ARG_src1->toObject(callFrame); 4659 4659 4660 JSValue Ptrresult = jsBoolean(baseObj->deleteProperty(callFrame, ident));4660 JSValue* result = jsBoolean(baseObj->deleteProperty(callFrame, ident)); 4661 4661 VM_CHECK_EXCEPTION_AT_END(); 4662 4662 return result; … … 4667 4667 CTI_STACK_HACK(); 4668 4668 4669 JSValue Ptrsrc1 = ARG_src1;4670 JSValue Ptrsrc2 = ARG_src2;4669 JSValue* src1 = ARG_src1; 4670 JSValue* src2 = ARG_src2; 4671 4671 4672 4672 double left; … … 4676 4676 4677 4677 CallFrame* callFrame = ARG_callFrame; 4678 JSValue Ptrresult = jsNumber(ARG_globalData, src1->toNumber(callFrame) * src2->toNumber(callFrame));4678 JSValue* result = jsNumber(ARG_globalData, src1->toNumber(callFrame) * src2->toNumber(callFrame)); 4679 4679 VM_CHECK_EXCEPTION_AT_END(); 4680 4680 return result; … … 4776 4776 CTI_STACK_HACK(); 4777 4777 4778 JSValue PtrfuncVal = ARG_src1;4778 JSValue* funcVal = ARG_src1; 4779 4779 4780 4780 CallData callData; … … 4797 4797 CTI_MACHINE_SAMPLING_callingHostFunction(); 4798 4798 4799 JSValue PtrreturnValue = callData.native.function(callFrame, asObject(funcVal), argv[0].jsValue(callFrame), argList);4799 JSValue* returnValue = callData.native.function(callFrame, asObject(funcVal), argv[0].jsValue(callFrame), argList); 4800 4800 ARG_setCallFrame(previousCallFrame); 4801 4801 VM_CHECK_EXCEPTION(); … … 4892 4892 PropertySlot slot(o); 4893 4893 if (o->getPropertySlot(callFrame, ident, slot)) { 4894 JSValue Ptrresult = slot.getValue(callFrame, ident);4894 JSValue* result = slot.getValue(callFrame, ident); 4895 4895 VM_CHECK_EXCEPTION_AT_END(); 4896 4896 return result; … … 4931 4931 int registerOffset = ARG_int2; 4932 4932 int argCount = ARG_int3; 4933 JSValue PtrconstrProtoVal = ARG_src5;4933 JSValue* constrProtoVal = ARG_src5; 4934 4934 int firstArg = ARG_int6; 4935 4935 … … 4990 4990 CallFrame* callFrame = ARG_callFrame; 4991 4991 4992 JSValue PtrconstrVal = ARG_src1;4992 JSValue* constrVal = ARG_src1; 4993 4993 int argCount = ARG_int3; 4994 4994 int firstArg = ARG_int6; … … 5002 5002 CTI_MACHINE_SAMPLING_callingHostFunction(); 5003 5003 5004 JSValue PtrreturnValue = constructData.native.function(callFrame, asObject(constrVal), argList);5004 JSValue* returnValue = constructData.native.function(callFrame, asObject(constrVal), argList); 5005 5005 VM_CHECK_EXCEPTION(); 5006 5006 … … 5021 5021 Machine* machine = ARG_globalData->machine; 5022 5022 5023 JSValue PtrbaseValue = ARG_src1;5024 JSValue Ptrsubscript = ARG_src2;5025 5026 JSValue Ptrresult;5023 JSValue* baseValue = ARG_src1; 5024 JSValue* subscript = ARG_src2; 5025 5026 JSValue* result; 5027 5027 unsigned i; 5028 5028 … … 5076 5076 // We also handle wrapper substitution for the global object at the same time. 5077 5077 JSObject* thisObj = base->toThisObject(callFrame); 5078 JSValue Ptrresult = slot.getValue(callFrame, ident);5078 JSValue* result = slot.getValue(callFrame, ident); 5079 5079 VM_CHECK_EXCEPTION_AT_END(); 5080 5080 … … 5096 5096 CTI_STACK_HACK(); 5097 5097 5098 JSValue Ptrsrc1 = ARG_src1;5099 JSValue Ptrsrc2 = ARG_src2;5098 JSValue* src1 = ARG_src1; 5099 JSValue* src2 = ARG_src2; 5100 5100 5101 5101 double left; … … 5105 5105 5106 5106 CallFrame* callFrame = ARG_callFrame; 5107 JSValue Ptrresult = jsNumber(ARG_globalData, src1->toNumber(callFrame) - src2->toNumber(callFrame));5107 JSValue* result = jsNumber(ARG_globalData, src1->toNumber(callFrame) - src2->toNumber(callFrame)); 5108 5108 VM_CHECK_EXCEPTION_AT_END(); 5109 5109 return result; … … 5117 5117 Machine* machine = ARG_globalData->machine; 5118 5118 5119 JSValue PtrbaseValue = ARG_src1;5120 JSValue Ptrsubscript = ARG_src2;5121 JSValue Ptrvalue = ARG_src3;5119 JSValue* baseValue = ARG_src1; 5120 JSValue* subscript = ARG_src2; 5121 JSValue* value = ARG_src3; 5122 5122 5123 5123 unsigned i; … … 5150 5150 CallFrame* callFrame = ARG_callFrame; 5151 5151 5152 JSValue PtrbaseValue = ARG_src1;5152 JSValue* baseValue = ARG_src1; 5153 5153 int i = ARG_int2; 5154 JSValue Ptrvalue = ARG_src3;5154 JSValue* value = ARG_src3; 5155 5155 5156 5156 ASSERT(ARG_globalData->machine->isJSArray(baseValue)); … … 5175 5175 5176 5176 CallFrame* callFrame = ARG_callFrame; 5177 JSValue Ptrresult = jsBoolean(jsLessEq(callFrame, ARG_src1, ARG_src2));5177 JSValue* result = jsBoolean(jsLessEq(callFrame, ARG_src1, ARG_src2)); 5178 5178 VM_CHECK_EXCEPTION_AT_END(); 5179 5179 return result; … … 5184 5184 CTI_STACK_HACK(); 5185 5185 5186 JSValue Ptrsrc1 = ARG_src1;5186 JSValue* src1 = ARG_src1; 5187 5187 5188 5188 CallFrame* callFrame = ARG_callFrame; … … 5197 5197 CTI_STACK_HACK(); 5198 5198 5199 JSValue Ptrsrc = ARG_src1;5199 JSValue* src = ARG_src1; 5200 5200 5201 5201 double v; … … 5204 5204 5205 5205 CallFrame* callFrame = ARG_callFrame; 5206 JSValue Ptrresult = jsNumber(ARG_globalData, -src->toNumber(callFrame));5206 JSValue* result = jsNumber(ARG_globalData, -src->toNumber(callFrame)); 5207 5207 VM_CHECK_EXCEPTION_AT_END(); 5208 5208 return result; … … 5237 5237 PropertySlot slot(o); 5238 5238 if (o->getPropertySlot(callFrame, ident, slot)) { 5239 JSValue Ptrresult = slot.getValue(callFrame, ident);5239 JSValue* result = slot.getValue(callFrame, ident); 5240 5240 VM_CHECK_EXCEPTION_AT_END(); 5241 5241 return result; … … 5262 5262 PropertySlot slot(globalObject); 5263 5263 if (globalObject->getPropertySlot(callFrame, ident, slot)) { 5264 JSValue Ptrresult = slot.getValue(callFrame, ident);5264 JSValue* result = slot.getValue(callFrame, ident); 5265 5265 if (slot.isCacheable()) { 5266 5266 if (vPC[4].u.structureID) … … 5284 5284 CTI_STACK_HACK(); 5285 5285 5286 JSValue Ptrsrc1 = ARG_src1;5287 JSValue Ptrsrc2 = ARG_src2;5286 JSValue* src1 = ARG_src1; 5287 JSValue* src2 = ARG_src2; 5288 5288 5289 5289 double left; … … 5293 5293 5294 5294 CallFrame* callFrame = ARG_callFrame; 5295 JSValue Ptrresult = jsNumber(ARG_globalData, src1->toNumber(callFrame) / src2->toNumber(callFrame));5295 JSValue* result = jsNumber(ARG_globalData, src1->toNumber(callFrame) / src2->toNumber(callFrame)); 5296 5296 VM_CHECK_EXCEPTION_AT_END(); 5297 5297 return result; … … 5302 5302 CTI_STACK_HACK(); 5303 5303 5304 JSValue Ptrv = ARG_src1;5305 5306 CallFrame* callFrame = ARG_callFrame; 5307 JSValue Ptrresult = jsNumber(ARG_globalData, v->toNumber(callFrame) - 1);5304 JSValue* v = ARG_src1; 5305 5306 CallFrame* callFrame = ARG_callFrame; 5307 JSValue* result = jsNumber(ARG_globalData, v->toNumber(callFrame) - 1); 5308 5308 VM_CHECK_EXCEPTION_AT_END(); 5309 5309 return result; … … 5314 5314 CTI_STACK_HACK(); 5315 5315 5316 JSValue Ptrsrc1 = ARG_src1;5317 JSValue Ptrsrc2 = ARG_src2;5316 JSValue* src1 = ARG_src1; 5317 JSValue* src2 = ARG_src2; 5318 5318 CallFrame* callFrame = ARG_callFrame; 5319 5319 … … 5327 5327 CTI_STACK_HACK(); 5328 5328 5329 JSValue Ptrsrc = ARG_src1;5330 5331 CallFrame* callFrame = ARG_callFrame; 5332 5333 JSValue Ptrresult = jsBoolean(!src->toBoolean(callFrame));5329 JSValue* src = ARG_src1; 5330 5331 CallFrame* callFrame = ARG_callFrame; 5332 5333 JSValue* result = jsBoolean(!src->toBoolean(callFrame)); 5334 5334 VM_CHECK_EXCEPTION_AT_END(); 5335 5335 return result; … … 5340 5340 CTI_STACK_HACK(); 5341 5341 5342 JSValue Ptrsrc1 = ARG_src1;5342 JSValue* src1 = ARG_src1; 5343 5343 5344 5344 CallFrame* callFrame = ARG_callFrame; … … 5353 5353 CTI_STACK_HACK(); 5354 5354 5355 JSValue Ptrv = ARG_src1;5356 5357 CallFrame* callFrame = ARG_callFrame; 5358 5359 JSValue Ptrnumber = v->toJSNumber(callFrame);5355 JSValue* v = ARG_src1; 5356 5357 CallFrame* callFrame = ARG_callFrame; 5358 5359 JSValue* number = v->toJSNumber(callFrame); 5360 5360 VM_CHECK_EXCEPTION_AT_END(); 5361 5361 … … 5368 5368 CTI_STACK_HACK(); 5369 5369 5370 JSValue Ptrsrc1 = ARG_src1;5371 JSValue Ptrsrc2 = ARG_src2;5370 JSValue* src1 = ARG_src1; 5371 JSValue* src2 = ARG_src2; 5372 5372 5373 5373 CallFrame* callFrame = ARG_callFrame; 5374 5374 5375 5375 ASSERT(!JSImmediate::areBothImmediateNumbers(src1, src2)); 5376 JSValue Ptrresult = jsBoolean(equalSlowCaseInline(callFrame, src1, src2));5376 JSValue* result = jsBoolean(equalSlowCaseInline(callFrame, src1, src2)); 5377 5377 VM_CHECK_EXCEPTION_AT_END(); 5378 5378 return result; … … 5383 5383 CTI_STACK_HACK(); 5384 5384 5385 JSValue Ptrval = ARG_src1;5386 JSValue Ptrshift = ARG_src2;5385 JSValue* val = ARG_src1; 5386 JSValue* shift = ARG_src2; 5387 5387 5388 5388 int32_t left; … … 5394 5394 5395 5395 CallFrame* callFrame = ARG_callFrame; 5396 JSValue Ptrresult = jsNumber(ARG_globalData, (val->toInt32(callFrame)) << (shift->toUInt32(callFrame) & 0x1f));5396 JSValue* result = jsNumber(ARG_globalData, (val->toInt32(callFrame)) << (shift->toUInt32(callFrame) & 0x1f)); 5397 5397 VM_CHECK_EXCEPTION_AT_END(); 5398 5398 return result; … … 5403 5403 CTI_STACK_HACK(); 5404 5404 5405 JSValue Ptrsrc1 = ARG_src1;5406 JSValue Ptrsrc2 = ARG_src2;5405 JSValue* src1 = ARG_src1; 5406 JSValue* src2 = ARG_src2; 5407 5407 5408 5408 int32_t left; … … 5412 5412 5413 5413 CallFrame* callFrame = ARG_callFrame; 5414 JSValue Ptrresult = jsNumber(ARG_globalData, src1->toInt32(callFrame) & src2->toInt32(callFrame));5414 JSValue* result = jsNumber(ARG_globalData, src1->toInt32(callFrame) & src2->toInt32(callFrame)); 5415 5415 VM_CHECK_EXCEPTION_AT_END(); 5416 5416 return result; … … 5421 5421 CTI_STACK_HACK(); 5422 5422 5423 JSValue Ptrval = ARG_src1;5424 JSValue Ptrshift = ARG_src2;5423 JSValue* val = ARG_src1; 5424 JSValue* shift = ARG_src2; 5425 5425 5426 5426 int32_t left; … … 5432 5432 5433 5433 CallFrame* callFrame = ARG_callFrame; 5434 JSValue Ptrresult = jsNumber(ARG_globalData, (val->toInt32(callFrame)) >> (shift->toUInt32(callFrame) & 0x1f));5434 JSValue* result = jsNumber(ARG_globalData, (val->toInt32(callFrame)) >> (shift->toUInt32(callFrame) & 0x1f)); 5435 5435 VM_CHECK_EXCEPTION_AT_END(); 5436 5436 return result; … … 5441 5441 CTI_STACK_HACK(); 5442 5442 5443 JSValue Ptrsrc = ARG_src1;5443 JSValue* src = ARG_src1; 5444 5444 5445 5445 int value; … … 5448 5448 5449 5449 CallFrame* callFrame = ARG_callFrame; 5450 JSValue Ptrresult = jsNumber(ARG_globalData, ~src->toInt32(callFrame));5450 JSValue* result = jsNumber(ARG_globalData, ~src->toInt32(callFrame)); 5451 5451 VM_CHECK_EXCEPTION_AT_END(); 5452 5452 return result; … … 5473 5473 PropertySlot slot(base); 5474 5474 if (base->getPropertySlot(callFrame, ident, slot)) { 5475 JSValue Ptrresult = slot.getValue(callFrame, ident);5475 JSValue* result = slot.getValue(callFrame, ident); 5476 5476 VM_CHECK_EXCEPTION_AT_END(); 5477 5477 … … 5500 5500 CTI_STACK_HACK(); 5501 5501 5502 JSValue PtrdividendValue = ARG_src1;5503 JSValue PtrdivisorValue = ARG_src2;5502 JSValue* dividendValue = ARG_src1; 5503 JSValue* divisorValue = ARG_src2; 5504 5504 5505 5505 CallFrame* callFrame = ARG_callFrame; 5506 5506 double d = dividendValue->toNumber(callFrame); 5507 JSValue Ptrresult = jsNumber(ARG_globalData, fmod(d, divisorValue->toNumber(callFrame)));5507 JSValue* result = jsNumber(ARG_globalData, fmod(d, divisorValue->toNumber(callFrame))); 5508 5508 VM_CHECK_EXCEPTION_AT_END(); 5509 5509 return result; … … 5515 5515 5516 5516 CallFrame* callFrame = ARG_callFrame; 5517 JSValue Ptrresult = jsBoolean(jsLess(callFrame, ARG_src1, ARG_src2));5517 JSValue* result = jsBoolean(jsLess(callFrame, ARG_src1, ARG_src2)); 5518 5518 VM_CHECK_EXCEPTION_AT_END(); 5519 5519 return result; … … 5524 5524 CTI_STACK_HACK(); 5525 5525 5526 JSValue Ptrsrc1 = ARG_src1;5527 JSValue Ptrsrc2 = ARG_src2;5526 JSValue* src1 = ARG_src1; 5527 JSValue* src2 = ARG_src2; 5528 5528 5529 5529 ASSERT(!JSImmediate::areBothImmediateNumbers(src1, src2)); 5530 5530 5531 5531 CallFrame* callFrame = ARG_callFrame; 5532 JSValue Ptrresult = jsBoolean(!equalSlowCaseInline(callFrame, src1, src2));5532 JSValue* result = jsBoolean(!equalSlowCaseInline(callFrame, src1, src2)); 5533 5533 VM_CHECK_EXCEPTION_AT_END(); 5534 5534 return result; … … 5539 5539 CTI_STACK_HACK(); 5540 5540 5541 JSValue Ptrv = ARG_src1;5542 5543 CallFrame* callFrame = ARG_callFrame; 5544 5545 JSValue Ptrnumber = v->toJSNumber(callFrame);5541 JSValue* v = ARG_src1; 5542 5543 CallFrame* callFrame = ARG_callFrame; 5544 5545 JSValue* number = v->toJSNumber(callFrame); 5546 5546 VM_CHECK_EXCEPTION_AT_END(); 5547 5547 … … 5554 5554 CTI_STACK_HACK(); 5555 5555 5556 JSValue Ptrval = ARG_src1;5557 JSValue Ptrshift = ARG_src2;5556 JSValue* val = ARG_src1; 5557 JSValue* shift = ARG_src2; 5558 5558 5559 5559 CallFrame* callFrame = ARG_callFrame; … … 5562 5562 return JSImmediate::rightShiftImmediateNumbers(val, shift); 5563 5563 else { 5564 JSValue Ptrresult = jsNumber(ARG_globalData, (val->toUInt32(callFrame)) >> (shift->toUInt32(callFrame) & 0x1f));5564 JSValue* result = jsNumber(ARG_globalData, (val->toUInt32(callFrame)) >> (shift->toUInt32(callFrame) & 0x1f)); 5565 5565 VM_CHECK_EXCEPTION_AT_END(); 5566 5566 return result; … … 5572 5572 CTI_STACK_HACK(); 5573 5573 5574 JSValue Ptrsrc1 = ARG_src1;5575 JSValue Ptrsrc2 = ARG_src2;5576 5577 CallFrame* callFrame = ARG_callFrame; 5578 5579 JSValue Ptrresult = jsNumber(ARG_globalData, src1->toInt32(callFrame) ^ src2->toInt32(callFrame));5574 JSValue* src1 = ARG_src1; 5575 JSValue* src2 = ARG_src2; 5576 5577 CallFrame* callFrame = ARG_callFrame; 5578 5579 JSValue* result = jsNumber(ARG_globalData, src1->toInt32(callFrame) ^ src2->toInt32(callFrame)); 5580 5580 VM_CHECK_EXCEPTION_AT_END(); 5581 5581 return result; … … 5593 5593 CTI_STACK_HACK(); 5594 5594 5595 JSValue Ptrsrc1 = ARG_src1;5596 JSValue Ptrsrc2 = ARG_src2;5597 5598 CallFrame* callFrame = ARG_callFrame; 5599 5600 JSValue Ptrresult = jsNumber(ARG_globalData, src1->toInt32(callFrame) | src2->toInt32(callFrame));5595 JSValue* src1 = ARG_src1; 5596 JSValue* src2 = ARG_src2; 5597 5598 CallFrame* callFrame = ARG_callFrame; 5599 5600 JSValue* result = jsNumber(ARG_globalData, src1->toInt32(callFrame) | src2->toInt32(callFrame)); 5601 5601 VM_CHECK_EXCEPTION_AT_END(); 5602 5602 return result; … … 5614 5614 Machine* machine = ARG_globalData->machine; 5615 5615 5616 JSValue PtrfuncVal = ARG_src1;5616 JSValue* funcVal = ARG_src1; 5617 5617 int registerOffset = ARG_int2; 5618 5618 int argCount = ARG_int3; 5619 JSValue PtrbaseVal = ARG_src5;5619 JSValue* baseVal = ARG_src5; 5620 5620 5621 5621 if (baseVal == scopeChain->globalObject() && funcVal == scopeChain->globalObject()->evalFunction()) { 5622 5622 JSObject* thisObject = asObject(callFrame[codeBlock->thisRegister].jsValue(callFrame)); 5623 JSValue PtrexceptionValue = noValue();5624 JSValue Ptrresult = machine->callEval(callFrame, thisObject, scopeChain, registerFile, registerOffset - RegisterFile::CallFrameHeaderSize - argCount, argCount, exceptionValue);5623 JSValue* exceptionValue = noValue(); 5624 JSValue* result = machine->callEval(callFrame, thisObject, scopeChain, registerFile, registerOffset - RegisterFile::CallFrameHeaderSize - argCount, argCount, exceptionValue); 5625 5625 if (UNLIKELY(exceptionValue != noValue())) { 5626 5626 ARG_globalData->exception = exceptionValue; … … 5643 5643 unsigned vPCIndex = codeBlock->ctiReturnAddressVPCMap.get(CTI_RETURN_ADDRESS); 5644 5644 5645 JSValue PtrexceptionValue = ARG_src1;5645 JSValue* exceptionValue = ARG_src1; 5646 5646 ASSERT(exceptionValue); 5647 5647 … … 5672 5672 5673 5673 JSPropertyNameIterator* it = ARG_pni1; 5674 JSValue Ptrtemp = it->next(ARG_callFrame);5674 JSValue* temp = it->next(ARG_callFrame); 5675 5675 if (!temp) 5676 5676 it->invalidate(); … … 5705 5705 CTI_STACK_HACK(); 5706 5706 5707 JSValue Ptrv = ARG_src1;5707 JSValue* v = ARG_src1; 5708 5708 return jsBoolean(JSImmediate::isImmediate(v) ? v->isUndefined() : v->asCell()->structureID()->typeInfo().masqueradesAsUndefined()); 5709 5709 } … … 5748 5748 CTI_STACK_HACK(); 5749 5749 5750 JSValue Ptrsrc1 = ARG_src1;5751 JSValue Ptrsrc2 = ARG_src2;5750 JSValue* src1 = ARG_src1; 5751 JSValue* src2 = ARG_src2; 5752 5752 5753 5753 // handled inline as fast cases … … 5762 5762 CTI_STACK_HACK(); 5763 5763 5764 JSValue Ptrsrc1 = ARG_src1;5765 JSValue Ptrsrc2 = ARG_src2;5764 JSValue* src1 = ARG_src1; 5765 JSValue* src2 = ARG_src2; 5766 5766 5767 5767 // handled inline as fast cases … … 5776 5776 CTI_STACK_HACK(); 5777 5777 5778 JSValue Ptrsrc = ARG_src1;5779 CallFrame* callFrame = ARG_callFrame; 5780 5781 JSValue Ptrresult = src->toJSNumber(callFrame);5778 JSValue* src = ARG_src1; 5779 CallFrame* callFrame = ARG_callFrame; 5780 5781 JSValue* result = src->toJSNumber(callFrame); 5782 5782 VM_CHECK_EXCEPTION_AT_END(); 5783 5783 return result; … … 5789 5789 5790 5790 CallFrame* callFrame = ARG_callFrame; 5791 JSValue PtrbaseVal = ARG_src2;5791 JSValue* baseVal = ARG_src2; 5792 5792 5793 5793 if (!baseVal->isObject()) { … … 5800 5800 } 5801 5801 5802 JSValue PtrpropName = ARG_src1;5802 JSValue* propName = ARG_src1; 5803 5803 JSObject* baseObj = asObject(baseVal); 5804 5804 … … 5850 5850 CTI_STACK_HACK(); 5851 5851 5852 JSValue Ptrscrutinee = ARG_src1;5852 JSValue* scrutinee = ARG_src1; 5853 5853 unsigned tableIndex = ARG_int2; 5854 5854 CallFrame* callFrame = ARG_callFrame; … … 5867 5867 CTI_STACK_HACK(); 5868 5868 5869 JSValue Ptrscrutinee = ARG_src1;5869 JSValue* scrutinee = ARG_src1; 5870 5870 unsigned tableIndex = ARG_int2; 5871 5871 CallFrame* callFrame = ARG_callFrame; … … 5887 5887 CTI_STACK_HACK(); 5888 5888 5889 JSValue Ptrscrutinee = ARG_src1;5889 JSValue* scrutinee = ARG_src1; 5890 5890 unsigned tableIndex = ARG_int2; 5891 5891 CallFrame* callFrame = ARG_callFrame; … … 5908 5908 CallFrame* callFrame = ARG_callFrame; 5909 5909 5910 JSValue PtrbaseValue = ARG_src1;5910 JSValue* baseValue = ARG_src1; 5911 5911 JSObject* baseObj = baseValue->toObject(callFrame); // may throw 5912 5912 5913 JSValue Ptrsubscript = ARG_src2;5914 JSValue Ptrresult;5913 JSValue* subscript = ARG_src2; 5914 JSValue* result; 5915 5915 uint32_t i; 5916 5916 if (subscript->getUInt32(i)) … … 5960 5960 CodeBlock* codeBlock = callFrame->codeBlock(); 5961 5961 unsigned type = ARG_int1; 5962 JSValue Ptrmessage = ARG_src2;5962 JSValue* message = ARG_src2; 5963 5963 unsigned lineNumber = ARG_int3; 5964 5964 … … 5989 5989 unsigned vPCIndex = codeBlock->ctiReturnAddressVPCMap.get(ARG_globalData->throwReturnAddress); 5990 5990 5991 JSValue PtrexceptionValue = ARG_globalData->exception;5991 JSValue* exceptionValue = ARG_globalData->exception; 5992 5992 ASSERT(exceptionValue); 5993 5993 ARG_globalData->exception = noValue(); -
trunk/JavaScriptCore/VM/Machine.h
r37730 r37845 125 125 bool isOpcode(Opcode opcode); 126 126 127 JSValue Ptr execute(ProgramNode*, CallFrame*, ScopeChainNode*, JSObject* thisObj, JSValuePtr* exception);128 JSValue Ptr execute(FunctionBodyNode*, CallFrame*, JSFunction*, JSObject* thisObj, const ArgList& args, ScopeChainNode*, JSValuePtr* exception);129 JSValue Ptr execute(EvalNode* evalNode, CallFrame* exec, JSObject* thisObj, ScopeChainNode* scopeChain, JSValuePtr* exception);130 131 JSValue PtrretrieveArguments(CallFrame*, JSFunction*) const;132 JSValue PtrretrieveCaller(CallFrame*, InternalFunction*) const;133 void retrieveLastCaller(CallFrame*, int& lineNumber, intptr_t& sourceID, UString& sourceURL, JSValue Ptr& function) const;127 JSValue* execute(ProgramNode*, CallFrame*, ScopeChainNode*, JSObject* thisObj, JSValue** exception); 128 JSValue* execute(FunctionBodyNode*, CallFrame*, JSFunction*, JSObject* thisObj, const ArgList& args, ScopeChainNode*, JSValue** exception); 129 JSValue* execute(EvalNode* evalNode, CallFrame* exec, JSObject* thisObj, ScopeChainNode* scopeChain, JSValue** exception); 130 131 JSValue* retrieveArguments(CallFrame*, JSFunction*) const; 132 JSValue* retrieveCaller(CallFrame*, InternalFunction*) const; 133 void retrieveLastCaller(CallFrame*, int& lineNumber, intptr_t& sourceID, UString& sourceURL, JSValue*& function) const; 134 134 135 135 void getArgumentsData(CallFrame*, JSFunction*&, ptrdiff_t& firstParameterIndex, Register*& argv, int& argc); … … 269 269 static const int initialTickCountThreshold = 1024; 270 270 271 bool isJSArray(JSValue Ptrv) { return !JSImmediate::isImmediate(v) && v->asCell()->vptr() == m_jsArrayVptr; }272 bool isJSString(JSValue Ptrv) { return !JSImmediate::isImmediate(v) && v->asCell()->vptr() == m_jsStringVptr; }271 bool isJSArray(JSValue* v) { return !JSImmediate::isImmediate(v) && v->asCell()->vptr() == m_jsArrayVptr; } 272 bool isJSString(JSValue* v) { return !JSImmediate::isImmediate(v) && v->asCell()->vptr() == m_jsStringVptr; } 273 273 274 274 private: 275 275 enum ExecutionFlag { Normal, InitializeAndReturn }; 276 276 277 NEVER_INLINE JSValue Ptr callEval(CallFrame*, JSObject* thisObject, ScopeChainNode*, RegisterFile*, int argv, int argc, JSValuePtr& exceptionValue);278 JSValue Ptr execute(EvalNode*, CallFrame*, JSObject* thisObject, int registerOffset, ScopeChainNode*, JSValuePtr* exception);277 NEVER_INLINE JSValue* callEval(CallFrame*, JSObject* thisObject, ScopeChainNode*, RegisterFile*, int argv, int argc, JSValue*& exceptionValue); 278 JSValue* execute(EvalNode*, CallFrame*, JSObject* thisObject, int registerOffset, ScopeChainNode*, JSValue** exception); 279 279 280 280 NEVER_INLINE void debug(CallFrame*, DebugHookID, int firstLine, int lastLine); 281 281 282 NEVER_INLINE bool resolve(CallFrame*, Instruction*, JSValue Ptr& exceptionValue);283 NEVER_INLINE bool resolveSkip(CallFrame*, Instruction*, JSValue Ptr& exceptionValue);284 NEVER_INLINE bool resolveGlobal(CallFrame*, Instruction*, JSValue Ptr& exceptionValue);282 NEVER_INLINE bool resolve(CallFrame*, Instruction*, JSValue*& exceptionValue); 283 NEVER_INLINE bool resolveSkip(CallFrame*, Instruction*, JSValue*& exceptionValue); 284 NEVER_INLINE bool resolveGlobal(CallFrame*, Instruction*, JSValue*& exceptionValue); 285 285 NEVER_INLINE void resolveBase(CallFrame*, Instruction* vPC); 286 NEVER_INLINE bool resolveBaseAndProperty(CallFrame*, Instruction*, JSValue Ptr& exceptionValue);286 NEVER_INLINE bool resolveBaseAndProperty(CallFrame*, Instruction*, JSValue*& exceptionValue); 287 287 NEVER_INLINE ScopeChainNode* createExceptionScope(CallFrame*, const Instruction* vPC); 288 288 289 NEVER_INLINE bool unwindCallFrame(CallFrame*&, JSValue Ptr, const Instruction*&, CodeBlock*&);290 NEVER_INLINE Instruction* throwException(CallFrame*&, JSValue Ptr&, const Instruction*, bool);291 NEVER_INLINE bool resolveBaseAndFunc(CallFrame*, Instruction*, JSValue Ptr& exceptionValue);289 NEVER_INLINE bool unwindCallFrame(CallFrame*&, JSValue*, const Instruction*&, CodeBlock*&); 290 NEVER_INLINE Instruction* throwException(CallFrame*&, JSValue*&, const Instruction*, bool); 291 NEVER_INLINE bool resolveBaseAndFunc(CallFrame*, Instruction*, JSValue*& exceptionValue); 292 292 293 293 static ALWAYS_INLINE CallFrame* slideRegisterWindowForCall(CodeBlock*, RegisterFile*, CallFrame*, size_t registerOffset, int argc); … … 295 295 static CallFrame* findFunctionCallFrame(CallFrame*, InternalFunction*); 296 296 297 JSValue Ptr privateExecute(ExecutionFlag, RegisterFile*, CallFrame*, JSValuePtr* exception);297 JSValue* privateExecute(ExecutionFlag, RegisterFile*, CallFrame*, JSValue** exception); 298 298 299 299 void dumpCallFrame(const RegisterFile*, CallFrame*); 300 300 void dumpRegisters(const RegisterFile*, CallFrame*); 301 301 302 JSValue PtrcheckTimeout(JSGlobalObject*);302 JSValue* checkTimeout(JSGlobalObject*); 303 303 void resetTimeoutCheck(); 304 304 305 void tryCacheGetByID(CallFrame*, CodeBlock*, Instruction*, JSValue PtrbaseValue, const Identifier& propertyName, const PropertySlot&);305 void tryCacheGetByID(CallFrame*, CodeBlock*, Instruction*, JSValue* baseValue, const Identifier& propertyName, const PropertySlot&); 306 306 void uncacheGetByID(CodeBlock*, Instruction* vPC); 307 void tryCachePutByID(CallFrame*, CodeBlock*, Instruction*, JSValue PtrbaseValue, const PutPropertySlot&);307 void tryCachePutByID(CallFrame*, CodeBlock*, Instruction*, JSValue* baseValue, const PutPropertySlot&); 308 308 void uncachePutByID(CodeBlock*, Instruction* vPC); 309 309 … … 313 313 static void throwStackOverflowPreviousFrame(CallFrame*, JSGlobalData*, void*& returnAddress); 314 314 315 void tryCTICacheGetByID(CallFrame*, CodeBlock*, void* returnAddress, JSValue PtrbaseValue, const Identifier& propertyName, const PropertySlot&);316 void tryCTICachePutByID(CallFrame*, CodeBlock*, void* returnAddress, JSValue PtrbaseValue, const PutPropertySlot&);315 void tryCTICacheGetByID(CallFrame*, CodeBlock*, void* returnAddress, JSValue* baseValue, const Identifier& propertyName, const PropertySlot&); 316 void tryCTICachePutByID(CallFrame*, CodeBlock*, void* returnAddress, JSValue* baseValue, const PutPropertySlot&); 317 317 318 318 void* getCTIArrayLengthTrampoline(CallFrame*, CodeBlock*); -
trunk/JavaScriptCore/VM/Register.h
r37812 r37845 50 50 public: 51 51 Register(); 52 Register(JSValue Ptr);53 54 JSValue PtrjsValue(CallFrame*) const;55 JSValue PtrgetJSValue() const;52 Register(JSValue*); 53 54 JSValue* jsValue(CallFrame*) const; 55 JSValue* getJSValue() const; 56 56 57 57 bool marked() const; … … 140 140 } 141 141 142 ALWAYS_INLINE Register::Register(JSValue Ptrv)142 ALWAYS_INLINE Register::Register(JSValue* v) 143 143 { 144 144 SET_TYPE(ValueType); … … 147 147 148 148 // This function is scaffolding for legacy clients. It will eventually go away. 149 ALWAYS_INLINE JSValue PtrRegister::jsValue(CallFrame*) const150 { 151 // Once registers hold doubles, this function will allocate a JSValue Ptr149 ALWAYS_INLINE JSValue* Register::jsValue(CallFrame*) const 150 { 151 // Once registers hold doubles, this function will allocate a JSValue* 152 152 // if the register doesn't hold one already. 153 153 ASSERT_TYPE(ValueType); … … 155 155 } 156 156 157 ALWAYS_INLINE JSValue PtrRegister::getJSValue() const157 ALWAYS_INLINE JSValue* Register::getJSValue() const 158 158 { 159 159 ASSERT_TYPE(JSValueType);
Note:
See TracChangeset
for help on using the changeset viewer.