-
fpizlo@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=97739 Reviewed by Oliver Hunt. Slamming pointers directly into bytecode is sometimes cool, but in this case it's unwieldy and confusing. Switched the instruction to use an enum instead. This has zero effect on code gen behavior in the JITs. In the LLInt, there is now more indirection, but that doesn't affect benchmarks. * CMakeLists.txt: * GNUmakefile.list.am: * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj: * JavaScriptCore.xcodeproj/project.pbxproj: * Target.pri: * bytecode/Instruction.h: (JSC::Instruction::Instruction): (Instruction): * bytecode/SpecialPointer.cpp: Added. (JSC): (JSC::actualPointerFor): * bytecode/SpecialPointer.h: Added. (JSC): (JSC::pointerIsFunction): (JSC::pointerIsCell): * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitJumpIfNotFunctionCall): (JSC::BytecodeGenerator::emitJumpIfNotFunctionApply): * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_jneq_ptr): * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_jneq_ptr): * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset): (JSC): * runtime/JSGlobalObject.h: (JSGlobalObject): (JSC::JSGlobalObject::actualPointerFor): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129713 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1271fa3a