[webkit-dev] precompiled headers

2011-02-07 Thread Patrick Roland Gansterer
Hi,

I'm working on a CMake based Windows port and have some problems with
the precompiled headers.
At the moment it's not possible to build the Windows port without them.
Other ports don't require PCH.

[1], [2] and [3] will make it work without PCH, but this patches raised up
a general discussion about the PCH requirement.

[4] says: The project should be able to build without this header,
although we rarely test that.
What does this mean? it should be possible to build the existing Mac and
Windows ports without this prefix header, or it should be possible to
construct a port that builds without this prefix header

[5] says: ... This guarantees that each header's completeness is tested.
This also assures that each header can be compiled without requiring any
other header files be included first.
Does header completeness include PCH?

Should it be possible to build all ports without using precompiled
headers?

- Patrick

[1] http://webkit.org/b/53881
[2] http://webkit.org/b/53883
[3] http://webkit.org/b/53885
[4]
http://trac.webkit.org/browser/trunk/Source/WebCore/WebCorePrefix.h#L25
[5] http://webkit.org/coding/coding-style.html
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] coding style of #include statements

2010-11-03 Thread Patrick Roland Gansterer
Currently, the style guidelines specify Includes of system headers must
come after includes of other headers. 
But what about WebKit headers in arrow brackets?

What is the correct style:

#include ArgumentEncoder.h
#include WorkItem.h
#include wtf/HashSet.h
#include wtf/OwnPtr.h 
#include QApplication
#include QLocalServer

or 

#include ArgumentEncoder.h
#include WorkItem.h
#include QApplication
#include QLocalServer
#include wtf/HashSet.h
#include wtf/OwnPtr.h 

I prefere the first one because wtf/*.h aren't real system headers.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] XMLHttpRequest memoryleak

2010-06-02 Thread Patrick Roland Gansterer
Hi,

I think WebKit (with JSC) leaks memory for every XMLHttpRequest and I need
to fix this problem.
Can somebody give me a hint where I should start?

My testpage (http://paroga.com/webkit/memory.htm) only creates a request
every second. 
Safari on windows leaks about 60KB/minute. QtBrowser on WinCE needs
about 4KB/minute.

I don't think that my values are correct, because of the garbage
collector.
Is there any easy way to dump a list of all used javascript objects (and
references)?
Can I trigger the GarbageCollecter manually to get the real memory usage?

Maybe related bugs:
https://bugs.webkit.org/show_bug.cgi?id=17534
https://bugs.webkit.org/show_bug.cgi?id=27041

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] XMLHttpRequest memoryleak

2010-06-02 Thread Patrick Roland Gansterer
On Wed, 02 Jun 2010 10:07:59 -0700, Alexey Proskuryakov a...@webkit.org
wrote:
 02.06.2010, в 6:55, Patrick Roland Gansterer написал(а):
 
 I think WebKit (with JSC) leaks memory for every XMLHttpRequest and  
 I need
 to fix this problem.
 Can somebody give me a hint where I should start?
 
 
 I don't think this has been fully investigated, but the current theory  
 is that the memory is used by Safari Activity window, see
 https://bugs.webkit.org/show_bug.cgi?id=17534.
How can I do further investigations? Where is the best point to start in
the source code?
I don't undersand why WebKit needs additional memory for every
XMLHttpRequest. What is the memory used for?

Mike Marchywka:
 I guess I would ask if you can empirically relate your test pages
 to a memory leak- can you say that simple html lacking javascript
 is leak free? Can you generally isolate the leak to JS?
The leak occurs only when I use the XMLHttpRequest. E.g. a setTimeout
seams to cost no memory.

 Can you or do you have any info on page faults?
Safari.exe has about 300.000 page faults.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Help with review of EFL CMake patches?

2010-05-07 Thread Patrick Roland Gansterer
Hi,

 The idea of a Options${PORT} file is to put only the port-specific
 checks and defaults there.
When we now have a CMake buildsystem we can get rid of port-thinking. We
can switch to has-feature-thinking.
You should check for different features instead of doing sth for a spezial
port.
E.g. ICU is used in more than one port: If you check for ICU you only need
to define the ICU stuff once and the different ports can use it.
An other example is the win32 an wince port, where many files are shared:
You would create a port-file for win32 and wince then a general windows
port-file?.
Only one port file isn't applicable everywhere.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Help with review of EFL CMake patches?

2010-05-03 Thread Patrick Roland Gansterer
Hi,

the file from Gustavo are mainly for the EFL port. It's not a general
buildsystem and some parts are not real CMake style in the moment.
I did some cleanup for the JavaScriptCore files already, but for the
WebCore and WebKit parts it is a bigger task.

As I already wrote at [1] I will help creating a general, not EFL
specific, CMake buildsystem, but I didn't get any responses until now.

- Patrick

[1] https://lists.webkit.org/pipermail/webkit-dev/2010-April/012599.html

On Mon, 3 May 2010 15:23:11 -0400, Adam Treat tr...@kde.org wrote:
 Bill, could you look over these CMake files and give it an informal
review?
 
 On Monday 03 May 2010 02:37:22 pm Gustavo Sverzut Barbieri wrote:
 Hi all,
 
 As some of you know, the EFL port is almost all merged, we just lack a
 build system in SVN by now. We initially started with automake,
 sharing with GTK, but it was quite slow and the Gtk guys had the
 willing to get it clean before any changes were made, in order to
 avoid it to get worse. We did an initial cleanup, but then we figured
 out CMake would be a better option.
 
 By the time we were almost done with CMake build system, this mail
 list started discussing build systems and CMake was one of the
 considered options, making us quite happy at the time.
 
 We got the system done, but then people just started to move files in
 SVN making our lives quite hard these last weeks. Fortunately things
 are calm now and the system compiles quite well. We did the patches
 splitting the common and EFL specific parts, so people may add new
 ports with minimum effort. Of course as more systems are added, we
 should rearrange things that we overlooked at first, but that should
 be easy.
 
 What we need know is someone to review
 https://bugs.webkit.org/show_bug.cgi?id=37945 and land it to SVN.
 
 Note that we're trying to get EFL to build with SVN, not to build the
 most perfect CMake build system ever. So let's be reasonable with
 comments and suggestions, particularly those to make it generic as
 we consider that these should come when people start moving their
 ports to CMake. We surely can help with such tasks, we have a
 partially working GTK port that we may finish one day and suggest to
 webkit-gtk the move to it.
 
 BR,
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Help with review of EFL CMake patches?

2010-05-03 Thread Patrick Roland Gansterer
Hi,

On Mon, 3 May 2010 17:33:45 -0300, Gustavo Sverzut Barbieri
barbi...@profusion.mobi wrote:
 Did you see this new version?  Leandro did the work on top of yours.
 However he removed the .h from the source list, he did it before he
 read that it may be useful to get some IDE to show it. If mandatory we
 can add them back.
Yes, I've seen it. He did a great job, but there a some parts which are
not good for a general buildsystem.
E.g. INCLUDE(Options${PORT}) doesn't support different ports well, since
ports share some parts. (There some other points too; I'll post them on the
bug)

My vision is that the root CMake file will do all the WTF_USE_* stuff.
It has to decide all port specific stuff. All other CMake files should
only use this defines. This will provide a central to switch the
different implementations (e.g. switch between pthread and native threads
on windows).
I already run in some problem with my JavaScriptCore CMake files, but I
hoped for some feedback I didn't get.

My big question is if CMake should be added as a universal buildsystem (to
get rid of some other buildsystems) or if it is only for the EFL port?
I think this depends on ther progress in the CMake vs. GYP discussion. The
last post on the mailing list was [1].

- Patrick

[1] https://lists.webkit.org/pipermail/webkit-dev/2010-April/012662.html

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] CMake as a build system?

2010-04-23 Thread Patrick Roland Gansterer
On Fri, 23 Apr 2010 00:54:02 -0700, Darin Fisher da...@chromium.org
wrote:
 Indeed.  It also allows features like Ctrl+F7 (compile only the current
 source file) to work.  A number of other common IDE features are lost if
 you
 use a makefile based vcproj.  GYP nicely preserves all of those great
IDE
 features, which to me is one of the main selling points as an end-user.
Did you tried my CMake example for the JSC executable? You can find it at
https://bugs.webkit.org/show_bug.cgi?id=37945.
I think that it show the CMake VisualStudio integration very good: You can
even compile one of the generator script (e.g. for the hashtables) and
all files with dependencies will rebuild too.

Maybe you can tell me what is missing in the generated vsproj, so I can
look at it and improve the CMakeLists.txt?

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] CMake as a build system?

2010-04-21 Thread Patrick Roland Gansterer
On Wed, 21 Apr 2010 12:36:17 -0400, Marc-Antoine Ruel
mar...@chromium.org wrote:
 Are the sources under an open source license? I'd like to take a look if
 so.
I'm sorry, they are closed source. :-(

But I have working CMake files for JSC on Windows already. 
I'd like to clean them up an try to get them run on other platform too
before I post a patch at bugs.webkit.org.

If you can't wait, I can send you my current files. You can see there for
example how the the additional build steps like bison, hashtable
generation, ... work.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] CMake buildsystem for JSC

2010-04-21 Thread Patrick Roland Gansterer
Hi,

I created an example how the CMake files might look for WebKit. Since WebKit 
is a huge project I've done the task only for WTF, JavaScriptCore library and 
application.

You can find this patch at https://bugs.webkit.org/show_bug.cgi?id=37945.

If there is a real chance to use CMake as the main buildsystem (or at least 
get it into trunk) I will add the remaining projects (WebCore, DRT, ...) and 
improve it further.
I only tried to build it on Win32 with CFLite and ICU.
At the moment the CMakeLists.txt file in the root directory is hard coded 
for this port. A final version will detect the available platform features and 
create a cmakeconfig.h like the autotoolsconfig.h. The other CMakeLists.txt 
files are nearly finished.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Fwd: CMake WebKit-EFL: initial preview

2010-04-20 Thread Patrick Roland Gansterer
Hi,

Gustavo Sverzut Barbieri:
 Find attached 2 patches.
 
 ? ?- WebKit-EFL-CMake_All-Missing-Patches.patch is a bundle that
 implements CMake support for WebKit-EFL and also adds the missing
 patches to make it compile (but runs with some bugs, needs updating to
 some api changes). Apply it if you want to compile the port (also get
 EFL from svn, see http://svn.enlightenment.org/)
 
 ? ?- WebKit-EFL-CMake.patch is just the CMake support, a single
 CMakeLists.txt and support *.cmake modules
 
 Please take a look if you are interested in CMake for WebKit-EFL.
 
 If you know CMake already, review it and send comments. My team just
 started with CMake some days ago.

Can you please post the patch at bugs.webkit.org.
Maybe you can split it into a CMake and a other stuff part. (Was it already 
before you merged it?)
I'd like to give you some feedback at the bug comments. The CMake file should 
be split into different projects for example.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Windows mobile build

2010-04-04 Thread Patrick Roland Gansterer
Hi,

i had the same problem some months ago 
(https://lists.webkit.org/pipermail/webkit-dev/2010-January/011160.html), but 
didn't get any final reply.
I had a look onto other (meta) buildsystems, but most of them lack WinCE 
(cross compile) support. I also tried gyp, but didn't get it working out of 
the box for WinCE. In my opinion qmake has the best support for building on 
WinCE at the moment.

I also had the same idea like Kwang Yul. I think this (python) script should 
also generate all the other buildsystems (vcproj, xcode, GNUmake, qmake, ...).
Then only this script must be changed when a file was added or removed.
If I'm not wrong gyp was born to fulfil exactly this task?
The best solution might be to add additional generators (e.g for the Qt-port) 
to gyp and then remove all other buildsystems from the tree?

If somebody knows the long-term goal of the webkit buildsystem I'm very 
interested. If gyp is the preferred solution I might also spend some time with 
the WinCE part for it.

- Patrick

 KwangYul, have you considered using gyp (and the files already there) rather
 than add another generating solution?
 Jason, have you considered using gyp to generate your solution?

 Disclaimer: I have no stake in gyp nor do I think it is necessarily better
 than anything else, but I do care about not modifying 7+ build files for any
 file additions/moves, etc.

 dave
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] build system for wince port

2010-01-16 Thread Patrick Roland Gansterer
Hi,

Can someone please decide how i should create a WinCE build system!

 Adam Roben:
  That sounds like a maintenance headache. Any new files will have to be
   added to both .vcproj files.
 
 Of course!
 
  The Apple and Cairo/libCURL ports of WebKit are already sharing .vcproj
   files. Can WinCE share these files, too?
 
 It is possible, but i'm not sure if it's the best solution: There will
 uncountable ExcludeFromBuild in the vcproj files and if we will add
  additional platforms i will grow further. If you add the STANDARDSDK_500
  (ARMV4I) platform to the solution it might throw a warning if the SDK
  isn't installed.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] ARM JIT for WinCE

2010-01-07 Thread Patrick Roland Gansterer
Hi,

many thanks! It works already when I disable OPTIMIZE_NATIVE_CALL (other 3 
OPTIMIZE are turned on). I think you're right with the ABI problem. Maybe you 
can help me with it too: Here are the instruction dumps with and without the 
OPTIMIZE_NATIVE_CALL:

==
== #define OPTIMIZE_NATIVE_CALL = 1 ==
==

003E0100  ldr r8, [r2, #8] 
003E0104  cmp r8, #0 
003E0108  bgt 003E012C 
003E010C  mov r7, lr 
003E0110  mov r0, sp 
003E0114  str r4, [sp, #0x40] 
003E0118  mov lr, pc 
003E011C  ldr pc, [pc, #0x128] 
003E0120  ldr r1, [sp, #0xC] 
003E0124  mov lr, r7 
003E0128  ldr r2, [r0, #0x18] 
003E012C  ldr r8, [r2, #8] 
003E0130  cmp r8, r1 
003E0134  beq 003E0160 
003E0138  mov r7, lr 
003E013C  str r7, [sp, #8] 
003E0140  mov r0, sp 
003E0144  str r4, [sp, #0x40] 
003E0148  mov lr, pc 
003E014C  ldr pc, [pc, #0x100] 
003E0150  mov r4, r1 
003E0154  ldr r1, [sp, #0xC] 
003E0158  mov lr, r7 
003E015C  ldr r2, [r0, #0x18] 
003E0160  str r1, [r4, #-0xC] 
003E0164  ldr r1, [r0, #0x1C] 
003E0168  ldr r8, [pc, #0xE8] 
003E016C  str r8, [r4, #-4] 
003E0170  str r0, [r4, #-8] 
003E0174  str r1, [r4, #-0x1C] 
003E0178  ldr r0, [r2, #0xC] 
003E017C  mov pc, r0 
003E0180  mov r0, lr 
003E0184  str r0, [r4, #-0x14] 
003E0188  ldr r1, [r4, #-0x18] 
003E018C  ldr r1, [r1, #-0x1C] 
003E0190  str r1, [r4, #-0x1C] 
003E0194  ldr r0, [r4, #-0xC] 
003E0198  subssp, sp, #8 
003E019C  subsr0, r0, #1 
003E01A0  str r0, [sp, #4] 
003E01A4  mov r1, r4 
003E01A8  subsr1, r1, #0x20 
003E01AC  mov r3, #4 
003E01B0  mulsr0, r3, r0 
003E01B4  subsr1, r1, r0 
003E01B8  str r1, [sp] 
003E01BC  ldr r2, [r1, #-4] 
003E01C0  ldr r1, [r4, #-8] 
003E01C4  mov r0, r4 
003E01C8  mov r3, sp 
003E01CC  mov lr, pc 
003E01D0  ldr pc, [r1, #0x1C] 
// R0 = 0x003f8080 R1 = 0x00601780 R2 = 0x00601760 R3 = 0x182af984
// R4 = 0x003f8080 R5 = 0x0200 R6 = 0x0060 R7 = 0x003e07b8
// R8 = 0x R9 = 0x182afbfc R10 = 0x R11 = 0x002b0370
// R12 = 0x182af8f0 Sp = 0x182af984 Lr = 0x003e01d4
// Pc = 0x00073468 Psr = 0x201f
003E01D4  addssp, sp, #8 
003E01D8  ldr r3, [pc, #0x7C] 
003E01DC  ldr r2, [r3] 
003E01E0  bicsr3, r2, #0 
003E01E4  bne 003E01F8 
003E01E8  ldr r1, [r4, #-0x14] 
003E01EC  ldr r4, [r4, #-0x18] 
003E01F0  mov lr, r1 
003E01F4  mov pc, lr 
003E01F8  ldr r1, [r4, #-0x14] 
003E01FC  ldr r2, [pc, #0x60] 
003E0200  str r1, [r2] 
003E0204  ldr r2, [pc, #0x5C] 
003E0208  ldr r4, [r4, #-0x18] 
003E020C  str r4, [sp, #0x40] 
003E0210  mov lr, r2 
003E0214  mov pc, lr 

==

JSValue JSC_HOST_CALL dateProtoFuncGetTimezoneOffset(ExecState* exec, 
JSObject*, JSValue thisValue, const ArgList)
{
00073468  mov r12, sp 
0007346C  stmdb   sp!, {r0 - r3} 
00073470  stmdb   sp!, {r4, r12, lr} 
00073474  sub sp, sp, #0x1C 
if (!thisValue.inherits(DateInstance::info))
00073478  ldr r1, [pc, #0x100] 
// R0 = 0x003f8080 R1 = 0x00601780 R2 = 0x00601760 R3 = 0x182af984
// R4 = 0x003f8080 R5 = 0x0200 R6 = 0x0060 R7 = 0x003e07b8
// R8 = 0x R9 = 0x182afbfc R10 = 0x R11 = 0x002b0370
// R12 = 0x182af984 Sp = 0x182af94c Lr = 0x003e01d4 
// Pc = 0x00073478 Psr = 0x201f 
0007347C  add r0, sp, #0x34 
00073480  bl  |JSC::JSValue::inherits ( 6997ch )| 
00073484  strbr0, [sp, #0xC] 
00073488  ldrbr3, [sp, #0xC] 
0007348C  cmp r3, #0 
00073490  bne |JSC::dateProtoFuncGetTimezoneOffset + 0x54 ( 734bch )| 
return throwError(exec, TypeError);
00073494  mov r1, #5 
00073498  ldr r0, exec 
0007349C  bl  |JSC::throwError ( 5dd78h )| 
000734A0  str r0, [sp, #0x10] 
000734A4  ldr r1, [sp, #0x10] 
000734A8  ldr r0, [sp, #0x28] 
000734AC  bl  |
WTF::OwnArrayPtrJSC::Register::OwnArrayPtrJSC::Register ( 110e8h )| 
000734B0  ldr r3, [sp, #0x28] 
000734B4  str r3, [sp, #8] 
000734B8  b   |JSC::dateProtoFuncGetTimezoneOffset + 0x100 ( 73568h )| 

DateInstance* thisDateObj = asDateInstance(thisValue); 
000734BC  ldr r0, thisValue 
000734C0  bl  |JSC::asRegExpConstructor ( 697b8h )| 
000734C4  str r0, [sp, 

Re: [webkit-dev] ARM JIT for WinCE

2010-01-07 Thread Patrick Roland Gansterer
Hi,

I did some further investigation today.

I did a quick hack in the privateCompileCTIMachineTrampolines to get the same 
maybe correct register values like without OPTIMIZE_NATIVE_CALL.

 move(callFrameRegister, regT0);

+move(ARMRegisters::r2, ARMRegisters::r3);
+move(ARMRegisters::r1, ARMRegisters::r2);
+move(ARMRegisters::r0, ARMRegisters::r1);
-move(stackPointerRegister, ARMRegisters::r3);
+move(stackPointerRegister, ARMRegisters::r0);
-call(Address(regT1, OBJECT_OFFSETOF(JSFunction, m_data)));
+call(Address(regT2, OBJECT_OFFSETOF(JSFunction, m_data)));
 
 addPtr(Imm32(sizeof(ArgList)), stackPointerRegister);

Now it produces the following code:

003E01B0  mulsr0, r3, r0 
003E01B4  subsr1, r1, r0 
003E01B8  str r1, [sp] 
003E01BC  ldr r2, [r1, #-4] 
003E01C0  ldr r1, [r4, #-8] 
003E01C4  mov r0, r4 
003E01C8  mov r3, r2 
003E01CC  mov r2, r1 
003E01D0  mov r1, r0 
003E01D4  mov r0, sp 
003E01D8  mov lr, pc 
003E01DC  ldr pc, [r2, #0x1C] 
003E01E0  addssp, sp, #8 
003E01E4  ldr r3, [pc, #0x80] 
003E01E8  ldr r2, [r3] 
003E01EC  bicsr3, r2, #0 
003E01F0  bne 003E0204 

The arguments seam to be sane now in the call to 
dateProtoFuncGetTimezoneOffset, but it crashes afterwards.
When i step through it with the debugger i get the following register after 
the function finished and it jumps to 0x000139d8 instead of 0x003e01e0:
(lr = 0x003e01e0 when i enter the function!)

R0 = 0x182af984 R1 = 0x003f8054 R2 = 0x00601500 R3 = 0x0060
R4 = 0x003f8054 R5 = 0x0200 R6 = 0x182af984 R7 = 0x003f8054
R8 = 0x R9 = 0x182afbfc R10 = 0x R11 = 0x002b0370
R12 = 0x182af8f0 Sp = 0x182af95c Lr = 0x003e01e0 
Pc = 0x000139d8 Psr = 0x201f 

I then tried to return jsNaN(exec) always. So R4 won't be used and 
prolog/epilog changed:

00071600  mov r12, sp 
00071604  stmdb   sp!, {r0 - r3} 
00071608  stmdb   sp!, {r4, r12, lr} 
0007160C  sub sp, sp, #0x1C 

00071700  ldr r0, [sp, #8] 
00071704  add sp, sp, #0x1C 
00071708  ldmia   sp, {r4, sp, pc} 

changed to

000734EC  mov r12, sp 
000734F0  stmdb   sp!, {r0 - r3} 
000734F4  stmdb   sp!, {r12, lr} 
000734F8  sub sp, sp, #0x1C 

000735A4  ldr r0, [sp, #8] 
000735A8  add sp, sp, #0x1C 
000735AC  ldmia   sp, {sp, pc} 

I now get following registers and it jumps to the correct address 
(0x003e01e0), but it crashes then in functionPrint.

R0 = 0x182af984 R1 = 0x182af8f8 R2 = 0x R3 = 0x182af984
R4 = 0x003f8080 R5 = 0x0200 R6 = 0x0060 R7 = 0x003e07c8
R8 = 0x R9 = 0x182afbfc R10 = 0x R11 = 0x002b0370
R12 = 0x03fc2c50 Sp = 0x182af984 Lr = 0x0001bc18 
Pc = 0x003e01e0 Psr = 0x601f

I tried jsc.exe with the following javascript file:
print(getTimeZoneDiff());
function getTimeZoneDiff() { 
return (new Date(2000, 1, 1)).getTimezoneOffset();
}

This doesn't make many sense to me in the moment.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] build system for wince port

2010-01-06 Thread Patrick Roland Gansterer
David Kilzer:
 On Thu, December 24, 2009 at 1:51:43 AM, Patrick Roland Gansterer wrote:
  On Thu, Dec 24, 2009 at 02:53:18, Adam Barth:
   I'm worried that the port will rot without an active maintainer, no
   matter which build system you choose.
 
  If i choose my preferred solution, there will be many changes in the
  current sln/vcproj/vsprops files. Who is maintaining this files at the
  moment? I'd like to hear his/her opinion on this before.
 
 You can use svn/git log to see who commits changes to these files.  I know
  Apple uses them for their Windows build, but we're on break until Jan 4,
  so please don't expect a reply until after that date.  (I don't work on
  the Windows port much, so I don't have an opinion about your proposal.)
Break is over and I didn't find a better working buildsystem for WincE than 
vcproj in the meantime. :-/

In the current trunk the vcproj files all use the Win32 defines. Because Win32 
an WinCE have some parts in common i'd like to split the current vsprop files. 
To keep the vcproj files readable i prefer to add a second vcproj file for 
e.g. JavaScriptCore and a solution file with this new vcproj file.
I'd like to start with the JavaScriptCore for STANDARDSDK_500 (ARMV4I).

The last blocker for WinCE JavascriptCore is the missing TextCodec (see 
https://bugs.webkit.org/show_bug.cgi?id=32169) with a pending review request 
for a month.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] ARM JIT for WinCE

2010-01-06 Thread Patrick Roland Gansterer
Hi,

I'm trying to enable the JIT for CPU(ARM_TRADITIONAL)  OS(WINCE).
It already passes the RegExp-Tests with ENABLE_YARR_JIT. If i set all 
ENABLE_JIT_OPTIMIZE_* to 0 it won't compile.
MSVC supports inline assembler only for X86, so i had to provide a separate 
asm file (i copied the code from the GCC #ifdef with !JSVALUE32_64):
ctiTrampoline proc
stmdb sp!, {r1-r3}
stmdb sp!, {r4-r8, lr}
sub sp, sp, #36
mov r4, r2
mov r5, #512
mov lr, pc
mov pc, r0
add sp, sp, #36
ldmia sp!, {r4-r8, lr}
add sp, sp, #12
mov pc, lr
endp

ctiVMThrowTrampoline proc
mov r0, sp
bl cti_vm_throw
endp

ctiOpThrowNotCaught proc
add sp, sp, #36
ldmia sp!, {r4-r8, lr}
add sp, sp, #12
mov pc, lr
endp

I can compile and link it without problems, but it crashes with a nullpointer 
at runtime and a strange callstack. When i use a debugger and step into 
ctiTrampoline it stops at the second stmdb because it can't find the 
sourcecode. :-/
I've done a #pragma pack(4) around the JITStackFrame.

Can somebody give me a hint where to search for the failure?

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] build system for wince port

2010-01-06 Thread Patrick Roland Gansterer
Adam Roben:
 That sounds like a maintenance headache. Any new files will have to be
  added to both .vcproj files.
Of course!

 The Apple and Cairo/libCURL ports of WebKit are already sharing .vcproj
  files. Can WinCE share these files, too?
It is possible, but i'm not sure if it's the best solution: There will 
uncountable ExcludeFromBuild in the vcproj files and if we will add additional 
platforms i will grow further. If you add the STANDARDSDK_500 (ARMV4I) 
platform to the solution it might throw a warning if the SDK isn't installed.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] build system for wince port

2009-12-28 Thread Patrick Roland Gansterer
Jason Rukman:
 We have a working wince build for all components right now including
 javascrtipcore, webcore and webkit COM layers.  We'd like to help
 contribute this back in as well and work together with you on this.
Can you give me a snapshot of your code or better publish it?

When you use cairo (and curl for network?) it is only a cairo port. The qt 
port is working on WinCE too.
During the last days i have begun finishing most of the work from Tourch 
Mobile.

In my opinion the missing buildsystem is the biggest problem in the moment.

I'm very interested in all of your WinCE work! If you can share your code i 
can also help with creating patches.

Which WinCE SDK(s) do you use?

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] build system for wince port

2009-12-24 Thread Patrick Roland Gansterer
On Thu, Dec 24, 2009 at 02:53:18, Adam Barth:
 Please try to avoid this option if at all possible.  The number of
 build systems in the tree is out of control already.
Are there any plans to cleanup and use only one?

 I'm worried that the port will rot without an active maintainer, no
 matter which build system you choose.
If i choose my preferred solution, there will be many changes in the current 
sln/vcproj/vsprops files. Who is maintaining this files at the moment? I'd 
like to hear his/her opinion on this before.

- Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] build system for wince port

2009-12-23 Thread Patrick Roland Gansterer
Currently the Windows CE port has no working build system. I'd like to 
contribute one, but i need to know the preferred solution:

(1) Add the port to the current sln/vsproj/vsprops files

a) Extend the sln/vsproj with the additional platforms and add many
   FileConfiguration ExcludedFromBuild=true and split the vspops.

b) Add a separate main vsproj file (JavaScriptCore.vcproj,
   WebCore.vcproj) for the port (like code.staikos.net)

c) Split the current main vspoj files into a
   platform dependent and independent file

(2) Add it to a other build system like gyp or bkl. Which one provides good 
cross compiling features for wince?

(3) Add a completely independent build system


Which one is the least ugly one? I prefer 1a in the moment.

I'd like to start with STANDARDSDK_500 (ARMV4I) and then add other supported 
STANDARDSDK_500 platforms.
Because the wince port isn't finished right now, it's only possible to provide 
it for WTF and JavaScriptCore (including tests).

Is already anything in the repository with support for cross compiling 
(something like Scripts/build-webkit)?

Is anybody _active_ working on the wince port? Most of the related bugs are 
inactive for months now.
Does anybody have the last git repository form git://code.staikos.net/WebKit-
CE before it has gone offline? (my last log message is from 2009-07-30)
I'd like to do some additional work in porting the remaining parts, when i 
have a working build system for it.

- Patick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] Partial SVG repaint

2009-10-08 Thread Patrick Roland Gansterer
 SVG was designed to support this, it's just not been turned on yet.
Can you please show me how i can turn it on. ;-) 

Currently i set a attribute in the SVG at ...
http://trac.webkit.org/browser/trunk/WebCore/svg/SVGRectElement.cpp#L101

.. this will shedule a layout via ..
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderObject.h#L882
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderObject.h#L976
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderObject.cpp#L2017
http://trac.webkit.org/browser/trunk/WebCore/page/FrameView.cpp#L1062

http://trac.webkit.org/browser/trunk/WebCore/page/FrameView.cpp#L985
http://trac.webkit.org/browser/trunk/WebCore/page/FrameView.cpp#L624
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderSVGRoot.cpp#L102
...
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderObject.cpp#L1166

... where the oldBounds and newBounds contain the coorect coordinates (at 
least for simple rects :).

But the damageRect is the whole frame size in
http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderLayer.cpp#L2038


I use the Qt-Port. Maybe the dirtyRegion is only wrong there, but i don't 
think so because e.g. Safari shows the same performance problem.


 I'm not sure I would suggest such a change as your first change to WebKit 
though.  It could have lots of fallout. :)
I have a big perfromance problem with my dynamic SVG. So the only alternative 
is, that i create my own SVG renderer, which is not a real option.

Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


[webkit-dev] Partial SVG repaint

2009-10-06 Thread Patrick Roland Gansterer
I want to fix https://bugs.webkit.org/show_bug.cgi?id=30055.

What is the prefered solution?
Where is the best place to start?
If i start the work i might ends up in one big patch. So what are the code 
areas i can create single patches from?

Patrick
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev