mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-30 00:01:50 +00:00
Read-only Git mirror of the Mercurial gecko repositories at https://hg.mozilla.org. How to contribute: https://firefox-source-docs.mozilla.org/contributing/contribution_quickref.html
cf990027c9
Since constant pools have been simplified such that they always follow the load instructions referencing them, it is now possible to copy the pool data into the main assembly buffer right away in finishPool() instead of deferring the copy to executableCopy(). This has the important effect that BufferOffset values don't need to be adjusted to account for the size of injected constant pools. - In finishPool(), copy the constant pool data into the main assembler buffer with putBytesLarge() which allows the potentially large pool data to be split over multiple slices. - Stop copying pool data in executableCopy(). It has already been copied in finishPool(). - Simplify the PoolInfo data structure to a simple (firstEntry, offset) pair which records the necessary information about a single emitted constant pool. - Rewrite poolEntryOffset() to use the new PoolInfo data. - Simplify poolSizeBefore() to just return 0. This function will be removed entirely in a followup patch. - Stop patching branches in executableCopy() and delete the patchBranch() method. Since buffer offsets are reliable when the branches are inserted and when labels are bound, there is no need to adjust branches to account for constant pools. - Delete the BufferSliceTail class. It is no longer necessary to maintain a bit vector of branch instructions since we don't rewrite branches any longer. Use the plain AssemblerBuffer::Slice class instead. This patch implements the basic functional change of copying pool data immediately instead of deferring it. Followup patches will clean up the now redundant code. --HG-- extra : rebase_source : 719225aef25dbf1b4bb7561391224b3c5f8793a5 |
||
---|---|---|
accessible | ||
addon-sdk | ||
b2g | ||
browser | ||
build | ||
caps | ||
chrome | ||
config | ||
db/sqlite3 | ||
devtools | ||
docshell | ||
dom | ||
editor | ||
embedding | ||
extensions | ||
gfx | ||
hal | ||
image | ||
intl | ||
ipc | ||
js | ||
layout | ||
media | ||
memory | ||
mfbt | ||
mobile | ||
modules | ||
mozglue | ||
netwerk | ||
nsprpub | ||
other-licenses | ||
parser | ||
probes | ||
python | ||
rdf | ||
security | ||
services | ||
startupcache | ||
storage | ||
testing | ||
toolkit | ||
tools | ||
uriloader | ||
view | ||
webapprt | ||
widget | ||
xpcom | ||
xpfe | ||
xulrunner | ||
.clang-format | ||
.clang-format-ignore | ||
.eslintrc | ||
.gdbinit | ||
.gitignore | ||
.hgignore | ||
.hgtags | ||
.lldbinit | ||
.ycm_extra_conf.py | ||
aclocal.m4 | ||
Android.mk | ||
AUTHORS | ||
client.mk | ||
client.py | ||
CLOBBER | ||
configure.in | ||
GNUmakefile | ||
LEGAL | ||
LICENSE | ||
mach | ||
Makefile.in | ||
moz.build | ||
mozilla-config.h.in | ||
README.txt |
An explanation of the Mozilla Source Code Directory Structure and links to project pages with documentation can be found at: https://developer.mozilla.org/en/Mozilla_Source_Code_Directory_Structure For information on how to build Mozilla from the source code, see: http://developer.mozilla.org/en/docs/Build_Documentation To have your bug fix / feature added to Mozilla, you should create a patch and submit it to Bugzilla (https://bugzilla.mozilla.org). Instructions are at: http://developer.mozilla.org/en/docs/Creating_a_patch http://developer.mozilla.org/en/docs/Getting_your_patch_in_the_tree If you have a question about developing Mozilla, and can't find the solution on http://developer.mozilla.org, you can try asking your question in a mozilla.* Usenet group, or on IRC at irc.mozilla.org. [The Mozilla news groups are accessible on Google Groups, or news.mozilla.org with a NNTP reader.] You can download nightly development builds from the Mozilla FTP server. Keep in mind that nightly builds, which are used by Mozilla developers for testing, may be buggy. Firefox nightlies, for example, can be found at: https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central/ - or - http://nightly.mozilla.org/