Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
On Wed, 2009-06-17 at 14:12 -0700, Jeremy Orlow wrote: If so, why not just develop in the open? I think this is very funny coming from Chrom(e|ium) people. Why was Chrome developed behind closed doors? Why was the ARMv7 port? I don't think you guys are being reasonable. I can understand not wanting to help him, because he is not able to show the code, but he has no obligation of releasing the code (or his changes) before the binary is distributed. See you, -- Gustavo Noronha g...@gnome.org GNOME contributor ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
If someone could be kind enough to explain how it works on other platforms, it would be very helpful. I'm not really interested in helping with the dubiously legal task of taking JavaScriptCore, which is an OpenSource library, and turning it into a closed, proprietary library. Geoff___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
--- On Wed, 6/17/09, Geoffrey Garen gga...@apple.com wrote: I'm not really interested in helping with the dubiously legal task of taking JavaScriptCore, which is an OpenSource library, and turning it into a closed, proprietary library. I'm not sure where this weird idea of developing a closed proprietary library came from. I have never mentioned anything about developing a closed proprietary library. My client is a hardware company. It produces consumer devices. They have been using GNU software for a long time. Their current website has a support download page where you can download the GNU source code used in all their released products. Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
IANAL (and correct me if I'm wrong), but 1) Parts of WebKit are licensed under the LGPL 2) Even if you're not modifying (or copying code from) files licensed under the LGPL, any files linked to those LGPL files are governed by the LGPL 3) Presumably you're going to distribute binaries that include your modified version of WebKit 4) And thus aren't you compelled to release the source code for anything linked to any LGPL whenever 3 happens? If so, why not just develop in the open? J On Wed, Jun 17, 2009 at 1:56 PM, Toshiyasu Morita tm_web...@yahoo.comwrote: --- On *Wed, 6/17/09, Geoffrey Garen gga...@apple.com* wrote: I'm not really interested in helping with the dubiously legal task of taking JavaScriptCore, which is an OpenSource library, and turning it into a closed, proprietary library. I'm not sure where this weird idea of developing a closed proprietary library came from. I have never mentioned anything about developing a closed proprietary library. My client is a hardware company. It produces consumer devices. They have been using GNU software for a long time. Their current website has a support download page where you can download the GNU source code used in all their released products. Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
--- On Wed, 6/17/09, Geoffrey Garen gga...@apple.com wrote: I'm not really interested in helping with the dubiously legal task of taking JavaScriptCore, which is an OpenSource library, and turning it into a closed, proprietary library. I've talked to my client, and he's told me it's their intent to contribute the port back to the community once the port is finished. IMHO main problem with trying to contribute the code now is they have milestones, and there aren't enough resources to coordinate the merging of all the MIPS architecture-specific code back to mainline. Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
That doesn't mean that you cannot develop it in the open. We can integrate the code once you are ready to do so. Kenneth I've talked to my client, and he's told me it's their intent to contribute the port back to the community once the port is finished. IMHO main problem with trying to contribute the code now is they have milestones, and there aren't enough resources to coordinate the merging of all the MIPS architecture-specific code back to mainline. Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
--- On Wed, 6/17/09, Jeremy Orlow jor...@chromium.org wrote: IANAL (and correct me if I'm wrong), but 1) Parts of WebKit are licensed under the LGPL 2) Even if you're not modifying (or copying code from) files licensed under the LGPL, any files linked to those LGPL files are governed by the LGPL 3) Presumably you're going to distribute binaries that include your modified version of WebKit 4) And thus aren't you compelled to release the source code for anything linked to any LGPL whenever 3 happens? If so, why not just develop in the open? i've been told they want a head start on producing a MIPS-based device that uses WebKit. Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
kenneth.christian...@openbossa.org wrote: That doesn't mean that you cannot develop it in the open. We can integrate the code once you are ready to do so. Kenneth You're preaching to the choir. It's not my decision to make. Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
When then I guess that you can only expect to get help after you have contributed the code back to the community. ;-) Good luck with your port anyway. Kenneth On Wed, Jun 17, 2009 at 6:29 PM, Toshiyasu Moritatm_web...@yahoo.com wrote: kenneth.christian...@openbossa.org wrote: That doesn't mean that you cannot develop it in the open. We can integrate the code once you are ready to do so. Kenneth You're preaching to the choir. It's not my decision to make. Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
On Wednesday 17 June 2009 05:12:41 pm Jeremy Orlow wrote: If so, why not just develop in the open? I'm just guessing here... but probably for the same rough combination of reasons that Google didn't develop Chromium in the open before it was publicly announced... or for the same rough combination of reasons that Apple didn't develop the new ARM JIT support in the open before it was publicly announced. Same goes for lots of initial features or ports that the various companies involved in WebKit have eventually contributed. It would be nice if every change that is envisioned will eventually be merged back into the official repository to be developed in the open, but that is just not realistic given the commercial world we live in. That said, if a company is determined to initially develop such things behind a closed door, then they should have no expectation that the greater community will help with any obfuscated technical questions given that we aren't privy to what's going on behind that closed door. At least that's how I see it. Cheers, Adam ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
On Jun 17, 2009, at 2:18 PM, Toshiyasu Morita wrote: --- On Wed, 6/17/09, Geoffrey Garen gga...@apple.com wrote: I'm not really interested in helping with the dubiously legal task of taking JavaScriptCore, which is an OpenSource library, and turning it into a closed, proprietary library. I've talked to my client, and he's told me it's their intent to contribute the port back to the community once the port is finished. IMHO main problem with trying to contribute the code now is they have milestones, and there aren't enough resources to coordinate the merging of all the MIPS architecture-specific code back to mainline. Glad to hear they are planning to contribute the code in the future. It will be much easier to provide meaningful help once the code is available. Until then, it's hard for us to help you figure out what is going wrong in the temporarily private port, and somewhat off-topic to ask for help on the list. I'm not trying to give you a hard time. It's just that this list is meant for development discussion of WebKit, as in the public svn.webkit.org tree. We get a lot of questions from people who are clearly working on various private ports, and it is a distraction from the on-topic content. Asking for help in using the API is not entirely on-topic either. If people would like a forum for such discussions, we can consider making a webkit-help list where it would be on-topic to ask for WebKit- related help, without distracting us from actual development discussion. Regards, Maciej ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
[webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
I've gotten the MIPS port up to where it can compile and execute through about 9 functions of a testcase before it crashes. The reason for the crash appears to be related to op_put_by_id. When this opcode is compiled, the JIT executes: void JIT::compilePutByIdSlowCase(int baseVReg, Identifier* ident, int, VectorSlowCaseEntry::iterator iter, unsigned propertyAccessInstructionIndex) { linkSlowCaseIfNotJSCell(iter, baseVReg); linkSlowCase(iter); emitPutJITStubArgConstant(ident, 2); emitPutJITStubArg(regT0, 1); emitPutJITStubArg(regT1, 3); Call call = emitCTICall(JITStubs::cti_op_put_by_id); // Track the location of the call; this will be used to recover patch information. m_propertyAccessCompilationInfo[propertyAccessInstructionIndex].callReturnLocation = call; } When the code is initially generated, it generates a call to address 0x6a2294 (JIT::cti_op_put_by_id) which is correct. Later on, something modifies the instruction to call address 0x6a26dc instead, which causes an infinite loop. What is the purpose of dynamically modifying this call instruction? Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
It's cool that you are working on a MIPS port of the JIT. However, it's somewhat off-topic to ask for help with private ports here. There's also not much we can do to help without actually seeing the code. I would suggest posting some patches to get the start of your port in svn.webkit.org, then it will be easier for us to help and for other collaborators to contribute. Cheers, Maciej On Jun 16, 2009, at 4:53 PM, Toshiyasu Morita wrote: I've gotten the MIPS port up to where it can compile and execute through about 9 functions of a testcase before it crashes. The reason for the crash appears to be related to op_put_by_id. When this opcode is compiled, the JIT executes: void JIT::compilePutByIdSlowCase(int baseVReg, Identifier* ident, int, VectorSlowCaseEntry::iterator iter, unsigned propertyAccessInstructionIndex) { linkSlowCaseIfNotJSCell(iter, baseVReg); linkSlowCase(iter); emitPutJITStubArgConstant(ident, 2); emitPutJITStubArg(regT0, 1); emitPutJITStubArg(regT1, 3); Call call = emitCTICall(JITStubs::cti_op_put_by_id); // Track the location of the call; this will be used to recover patch information. m_propertyAccessCompilationInfo [propertyAccessInstructionIndex].callReturnLocation = call; } When the code is initially generated, it generates a call to address 0x6a2294 (JIT::cti_op_put_by_id) which is correct. Later on, something modifies the instruction to call address 0x6a26dc instead, which causes an infinite loop. What is the purpose of dynamically modifying this call instruction? Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
I am performing this work on contract, and therefore I do not own the changes. Therefore, I cannot submit the changes. Toshi --- On Wed, 6/17/09, Maciej Stachowiak m...@apple.com wrote: From: Maciej Stachowiak m...@apple.com Subject: Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem To: Toshiyasu Morita tm_web...@yahoo.com Cc: webkit-dev@lists.webkit.org Date: Wednesday, June 17, 2009, 12:02 AM It's cool that you are working on a MIPS port of the JIT. However, it's somewhat off-topic to ask for help with private ports here. There's also not much we can do to help without actually seeing the code. I would suggest posting some patches to get the start of your port in svn.webkit.org, then it will be easier for us to help and for other collaborators to contribute. Cheers,Maciej On Jun 16, 2009, at 4:53 PM, Toshiyasu Morita wrote: I've gotten the MIPS port up to where it can compile and execute through about 9 functions of a testcase before it crashes. The reason for the crash appears to be related to op_put_by_id. When this opcode is compiled, the JIT executes: void JIT::compilePutByIdSlowCase(int baseVReg, Identifier* ident, int, VectorSlowCaseEntry::iterator iter, unsigned propertyAccessInstructionIndex) { linkSlowCaseIfNotJSCell(iter, baseVReg); linkSlowCase(iter); emitPutJITStubArgConstant(ident, 2); emitPutJITStubArg(regT0, 1); emitPutJITStubArg(regT1, 3); Call call = emitCTICall(JITStubs::cti_op_put_by_id); // Track the location of the call; this will be used to recover patch information. m_propertyAccessCompilationInfo[propertyAccessInstructionIndex].callReturnLocation = call; } When the code is initially generated, it generates a call to address 0x6a2294 (JIT::cti_op_put_by_id) which is correct. Later on, something modifies the instruction to call address 0x6a26dc instead, which causes an infinite loop. What is the purpose of dynamically modifying this call instruction? Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Re: [webkit-dev] MIPS port problem - cti_op_put_by_id slow case problem
On Jun 16, 2009, at 6:03 PM, Toshiyasu Morita wrote: --- On Wed, 6/17/09, Maciej Stachowiak m...@apple.com wrote: It's cool that you are working on a MIPS port of the JIT. However, it's somewhat off-topic to ask for help with private ports here. There's also not much we can do to help without actually seeing the code. BTW...the code I posted previously is already in the repository. And that code works in multiple platforms, so i would assume that the error is in your secret implementation of the platform specific backend. Toshi ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev ___ webkit-dev mailing list webkit-dev@lists.webkit.org http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev