- 22 Jul, 2013 2 commits
-
-
bmeurer@chromium.org authored
TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/19927002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Use ShouldInlineSmiCase() on arm, mips and x64 similar to the ia32 port. R=dslomov@chromium.org Review URL: https://codereview.chromium.org/19489003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 19 Jul, 2013 22 commits
-
-
jkummerow@chromium.org authored
This reverts r15776 and r15777 due to compile failures on Chromium Mac bots. TBR=rossberg@chromium.org Review URL: https://codereview.chromium.org/19482016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
No logic changes. BUG=none TEST=current test set TBR=yurys@chromium.org Review URL: https://codereview.chromium.org/19724004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15785 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
The idea is to extract all the CodeEvent loggers into separate classes make an interface for code events and put them into a listeners array. I extracted code that works with name_buffer into a separate base class CodeEventLogger. And made JitLogger, LowLevelLogger and new CodeMap its descendants. As a side effect I converted NameBuffer into nested class of CodeEventLogger and converted NameMap into nested class of CodeMap. BUG=260203 R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/19795002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15784 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
MIPS: With >= 64 non-string instance types, I removed an optimization that allowed us to detect internalized strings with a single bit test. Port r15773 (60aa9f0) Original commit message: With >= 64 non-string instance types, I removed an optimization that allowed us to detect internalized strings with a single bit test. (https://code.google.com/p/v8/source/detail?r=15358) But that change caused a regression, so here is an improvement: Put the internalized string types in the lower 64 entries of INSTANCE_TYPE, and non-internalized string types in the next 64 entries. This way we can restore the single bit check. BUG= Review URL: https://codereview.chromium.org/19723008 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15783 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
This patch fixes the step size of masm->pc_ in back_edge tables to words (4 bytes) to ensure 4 bytes alignment for read/write operations. Read and write of words (4 bytes) data from aligned space (address % 4 == 0) is more efficient on all platforms and especially on MIPS where without this alignment fix a kernel exception handler is used for every unaligned access. This patch increases the size of back_edge tables by 3 bytes in every row. By the test it seem the back_edge table quite small in every/most cases (maximal length is 18 so in that case there are only 54 additional bytes with this patch). BUG= Patch from Douglas Leung <Douglas.Leung@imgtec.com> Review URL: https://codereview.chromium.org/19248002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15782 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Also fixes internal exception handling in several places of the runtime. R=yangguo@chromium.org BUG=v8:1543 Review URL: https://codereview.chromium.org/19384004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15781 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
ulan@chromium.org authored
R=verwaest@chromium.org Review URL: https://chromiumcodereview.appspot.com/19693004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15780 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jochen@chromium.org authored
BUG=none R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/19500011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15779 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
This is just a rename change with the exception of a bug found along the way in CodeStubGraphBuilder<FastCloneShallowArrayStub>::BuildCodeStub(). There, the intent is to get the boilerplate object from an AllocationSite. But the wrong HObjectAccess was used. It only succeeds because it happened to be the same offset :). BUG= R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/19595004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15778 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
R=titzer@chromium.org BUG= Review URL: https://codereview.chromium.org/18926004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15777 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
For that, we maintain an abstract store typing of all variables with LOCAL location (i.e., those that do not escape the function's own scope). We treat assignments as sequential effects that modify this store. When control flow branches, we have to compute the disjunction of possible effects. To that end, we represent the store as a stack of effect sets, such that we can cheaply push and pop "local" effects when control flow has to branch. In cases of non-local control transfer from an unknown source, we currently erase all knowledge about the store. The 'switch' statement is still to come. For a formulation of the typing rules, see: https://docs.google.com/a/google.com/file/d/0B3wuXSv9YKuKeUNkVXZDemZ0Z1E ;) R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/19054006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Avoid duplication of StringAddFlags in the platform specific code stubs header files. Fix the inverted flag logic, replacing it with a scheme that is easier to understand. Depends on: https://codereview.chromium.org/19541003 R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/19492006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15775 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
object_is_smi was always false so there's no need to actually have it. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/19541007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
With >= 64 non-string instance types, I removed an optimization that allowed us to detect internalized strings with a single bit test. (https://code.google.com/p/v8/source/detail?r=15358) But that change caused a regression, so here is an improvement: Put the internalized string types in the lower 64 entries of INSTANCE_TYPE, and non-internalized string types in the next 64 entries. This way we can restore the single bit check. BUG= R=yangguo@chromium.org Review URL: https://codereview.chromium.org/19749004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15773 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-7.8.3 ES6 extends the numeric literals to support explicit support for binary and octal literals using the following syntax: 0b10101 0o777 This is currently behind the flag, --harmony-numeric-literals BUG=2783 R=rossberg@chromium.org Review URL: https://codereview.chromium.org/19300002 Patch from Erik Arvidsson <arv@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15772 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Previously there were two ways to actually use the StringAddStub from Hydrogen: - Either using HStringAdd (which implied NO_STRING_CHECK_IN_STUB and and does the argument handling internally), - or using HCallStub with CodeStub::StringAdd (which implied NO_STRING_ADD_FLAGS and expected the arguments to be on the stack already). R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/19541003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
This removes the isolate=>heap=>isolate nonsense and has the additional bonus that it re-enables printing of code objects in GDB. NOT: To make the latter work, one has to adapt GDB any macros using FindCodeObject! Keeping things as it is and outlining Isolate::heap() was not really an option... Side note: Currently we are lucky that we still have Isolate::Current() available in GDB, although it is marked as INLINE. :-} R=verwaest@chromium.org Review URL: https://codereview.chromium.org/19785004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
These methods have been superceeded by equivalents accepting object arguments exposing more details. This is exactly the same change as r15708 which was reverted in r15710 due to pending Blink changes. Now that Blink is rolled to 154493 it should be safe to land this (required Blink change is 154386). BUG=None TBR=yangguo@chromium.org Review URL: https://codereview.chromium.org/19541005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15769 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
haitao.feng@intel.com authored
BUG= R=danno@chromium.org Review URL: https://codereview.chromium.org/19763010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
BUG=chromium:259787 R=titzer@chromium.org, ulan@chromium.org Review URL: https://chromiumcodereview.appspot.com/19528005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15763 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
The current usage of this runtime function is broken as it does not prevent inlining of the affected function but rather bails out from the whole unit of compilation after trying to inline affected functions. This simplifies said runtime function to avoid accidental misuse. R=titzer@chromium.org TEST=mjsunit/never-optimize Review URL: https://codereview.chromium.org/19776006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15762 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/18333012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15761 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 18 Jul, 2013 16 commits
-
-
loislo@chromium.org authored
LogMessageBuilder is a helper class for Log. So I made it a nested class and removed the dependency from Logger. BUG=none TEST=no changes in the logic R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/19768003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15760 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/19722005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
BUG=None TBR=yangguo@chromium.org Review URL: https://codereview.chromium.org/19471006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
BUG=None TBR=yangguo@chromium.org Review URL: https://codereview.chromium.org/19778003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alph@chromium.org authored
R=loislo@chromium.org, ulan@chromium.org Review URL: https://codereview.chromium.org/19631003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/19638003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
This change fixes data race described in the bug by adding Acquire_Load to SamplingCircularQueue::StartDequeue and Acquire_Store to SamplingCircularQueue::Enqueue. Also the queue implementation imposed a constraint on the records it stored: the first AtomicWord in each record was a marker. For that purpose TickSampleEventRecord had filter field of type int. This approach is error prone, e.g. on x64 sizeof(AtomicWord) is 8 while sizeof(int) is 4. Moreover the queue needs such marker only at the beginning of chunk. I changed the queue so that it stores the marker explicitly as the first Cell in chunk and removed the filter field. BUG=251218 R=loislo@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/19642002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15750 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
loislo@chromium.org authored
Second patch from the set. BUG=260203 TEST=logic wasn't changed R=yangguo@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/19761003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
- Update ObjectStatsVisitTracker::Visit function to check if CodeCache is of CodeCache type, and extract the FixedArray from the struct if so - Fix typo in v8-counters.h where count_of_FIXED_ARRAY_XXX fields weren't being initialized. BUG=v8:2780 R=danno@chromium.org, hpayer@chromium.org Review URL: https://codereview.chromium.org/19257002 Patch from Ross McIlroy <mcilroy@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15748 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yangguo@chromium.org authored
R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/19520006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15747 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
The original expectations from blink contain crash expectations for these three tests. We overwrote those by adding timeout. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/19753002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
These tests fail with the nacl/v8 builders. Patch from bradchen@chromium.org. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/19769002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15745 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
Patch from bradchen@chromium.org. Prevents use of PROT_EXEC for NaCl builds R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/19729003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15744 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/18209023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15743 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
Implement DISALLOW_COPY_AND_ASSIGN and DISALLOW_IMPLICIT_CONSTRUCTORS using C++11 deleted functions if possible. R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/19728003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15742 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
To fix the issue at hand regarding constant function calls and perhaps other hidden issues regarding negative lookups, we basically add a "marker instruction", just for harvesting purposes. Our type feedback oracle is really, really fragile, we should better switch to some more explicit and robust scheme soon. BUG=chromium:252797 R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/19588002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-