WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 77013
[BlackBerry] Implement OSAllocator::commit/decommit
https://bugs.webkit.org/show_bug.cgi?id=77013
Summary
[BlackBerry] Implement OSAllocator::commit/decommit
Yong Li
Reported
2012-01-25 08:39:41 PST
BlackBerry port should also support decommitting virtual memory.
Attachments
the patch
(2.83 KB, patch)
2012-01-25 08:42 PST
,
Yong Li
no flags
Details
Formatted Diff
Diff
new solution
(3.53 KB, patch)
2012-03-19 12:12 PDT
,
Yong Li
no flags
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Yong Li
Comment 1
2012-01-25 08:42:59 PST
Created
attachment 123947
[details]
the patch
Rob Buis
Comment 2
2012-01-25 08:52:40 PST
Comment on
attachment 123947
[details]
the patch LGTM.
WebKit Review Bot
Comment 3
2012-01-25 10:01:30 PST
Comment on
attachment 123947
[details]
the patch
Attachment 123947
[details]
did not pass chromium-ews (chromium-xvfb): Output:
http://queues.webkit.org/results/11242851
New failing tests: media/audio-garbage-collect.html
Yong Li
Comment 4
2012-01-25 10:49:24 PST
(In reply to
comment #3
)
> (From update of
attachment 123947
[details]
) >
Attachment 123947
[details]
did not pass chromium-ews (chromium-xvfb): > Output:
http://queues.webkit.org/results/11242851
> > New failing tests: > media/audio-garbage-collect.html
cannot be due to this patch.
WebKit Review Bot
Comment 5
2012-01-25 12:52:57 PST
Comment on
attachment 123947
[details]
the patch Clearing flags on attachment: 123947 Committed
r105918
: <
http://trac.webkit.org/changeset/105918
>
WebKit Review Bot
Comment 6
2012-01-25 12:53:02 PST
All reviewed patches have been landed. Closing bug.
Yong Li
Comment 7
2012-03-19 11:57:19 PDT
Actually we should implement this in another way
Yong Li
Comment 8
2012-03-19 12:12:38 PDT
Created
attachment 132622
[details]
new solution
Rob Buis
Comment 9
2012-03-19 13:16:10 PDT
Comment on
attachment 132622
[details]
new solution LGTM.
WebKit Review Bot
Comment 10
2012-03-19 13:39:31 PDT
Comment on
attachment 132622
[details]
new solution Clearing flags on attachment: 132622 Committed
r111234
: <
http://trac.webkit.org/changeset/111234
>
WebKit Review Bot
Comment 11
2012-03-19 13:39:37 PDT
All reviewed patches have been landed. Closing bug.
Milian Wolff
Comment 12
2012-06-13 08:18:58 PDT
Hey there, I am wondering about the last patch: What QNX are you working on? On QNX6 I cannot find an implementation of MADV_FREE_REUSABLE nor MADV_FREE_REUSE, which you apparently do have, considering that your patch contains: #define HAVE_MADV_FREE_REUSE 1 #define HAVE_MADV_FREE 1 With this in, I cannot compile QtWebKit for QNX6, should this maybe be disabled to read #define HAVE_MADV_FREE(_REUSE) 0?
Yong Li
Comment 13
2012-06-13 08:36:32 PDT
(In reply to
comment #12
)
> Hey there, > > I am wondering about the last patch: What QNX are you working on? On QNX6 I cannot find an implementation of MADV_FREE_REUSABLE nor MADV_FREE_REUSE, which you apparently do have, considering that your patch contains: > > #define HAVE_MADV_FREE_REUSE 1 > #define HAVE_MADV_FREE 1 > > With this in, I cannot compile QtWebKit for QNX6, should this maybe be disabled to read #define HAVE_MADV_FREE(_REUSE) 0?
Try this one:
http://trac.webkit.org/changeset/111234
QNX doesn't have madv_free/free_reuse. But I want to turn them on so we know where we should add our alternative implementation.
Milian Wolff
Comment 14
2012-06-13 08:53:37 PDT
Hey there, the patchset you link to above does not cover the use case in TCSystemAlloc.cpp: /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function 'void TCMalloc_SystemRelease(void*, std::size_t)': /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: 'MADV_FREE_REUSABLE' was not declared in this scope /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: 'madvise' was not declared in this scope /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function 'void TCMalloc_SystemCommit(void*, std::size_t)': /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: 'MADV_FREE_REUSE' was not declared in this scope /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: 'madvise' was not declared in this scope Did you miss that, or is something going wrong on my side?
Yong Li
Comment 15
2012-06-13 09:05:35 PDT
(In reply to
comment #14
)
> Hey there, > > the patchset you link to above does not cover the use case in TCSystemAlloc.cpp: > > /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function 'void TCMalloc_SystemRelease(void*, std::size_t)': > /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: 'MADV_FREE_REUSABLE' was not declared in this scope > /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:390: error: 'madvise' was not declared in this scope > /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp: In function 'void TCMalloc_SystemCommit(void*, std::size_t)': > /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: 'MADV_FREE_REUSE' was not declared in this scope > /home/milian/projects/qt5/qtwebkit/Source/WTF/wtf/TCSystemAlloc.cpp:486: error: 'madvise' was not declared in this scope > > Did you miss that, or is something going wrong on my side?
We don't use TCSystemAlloc. So 2 options I can see here: 1. turn off HAVE_MADV_FREE and HAVE_MADV_FREE_REUSE. However the memory allocator won't be able to decommit free pages (return RAM to system). 2. Add an implementation as I did in
r111234
for TCSystemAlloc.
Milian Wolff
Comment 16
2012-06-13 09:14:29 PDT
Ah ok, so maybe we should change this block: #if PLATFORM(BLACKBERRY) #define USE_SYSTEM_MALLOC 1 #define WTF_USE_MERSENNE_TWISTER_19937 1 #define WTF_USE_SKIA 1 #endif to use #if OS(QNX) || PLATFORM(BLACKBERRY) ... #endif ? What do you think?
Yong Li
Comment 17
2012-06-13 09:25:49 PDT
(In reply to
comment #16
)
> Ah ok, > > so maybe we should change this block: > > #if PLATFORM(BLACKBERRY) > #define USE_SYSTEM_MALLOC 1 > #define WTF_USE_MERSENNE_TWISTER_19937 1 > #define WTF_USE_SKIA 1 > #endif > > to use > > #if OS(QNX) || PLATFORM(BLACKBERRY) > ... > #endif > > ? What do you think?
Not sure for the other 2. But it is OK to always use USE_SYSTEM_MALLOC on QNX. Yeah, this is the option 3 :)
Antonio Gomes
Comment 18
2012-06-13 12:30:15 PDT
> > #if OS(QNX) || PLATFORM(BLACKBERRY) > ... > #endif > > ? What do you think?
only #if OS(QNX) is enough.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug