- 19 Jul, 2013 13 commits
-
-
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 23 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
-
hpayer@chromium.org authored
BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/19603002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15740 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
machenbach@chromium.org authored
Store the deopt stress counter per isolate instead of per shared function info. The old field is removed. Enable output of the counter value with a new flag. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/19383002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/19594002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
This fixes build breakage introduced with r15736. TBR=svenpanne@chromium.org Review URL: https://codereview.chromium.org/19671009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
bmeurer@chromium.org authored
R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/19684009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
This reverts commit 69957c36edaebe0b9b614099eb1b067fb0208671. Blink roll this patch depends on was reverted for some reason. BUG=None TBR=yangguo@chromium.org Review URL: https://codereview.chromium.org/19483003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15735 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. BUG=None TBR=yangguo@chromium.org Review URL: https://codereview.chromium.org/19542003 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 Jul, 2013 4 commits
-
-
palfia@homejinni.com authored
Port r15697 (61d56196) Original commit message: The code aging sequence contains a load which is unecessary for optimised function. This has been replaced by a nop. BUG= Review URL: https://codereview.chromium.org/19683005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
palfia@homejinni.com authored
Port r15715 (2e830d4) Original commit message: The gc should be able to traverse all AllocationSites for decision making. The sites are threaded into a weak list. Special problems include: * Allocations of AllocationSites occur in generated code, so generated code needs to be able to add to the list. For now I have a special hydrogen instruction, though it would be nice to use general purpose instructions. * The snapshot contains AllocationSites, and these need to be re-threaded into the list on deserialization. Something nice is that the AllocationSites are only created in old space, so a special new space visitor isn't required. BUG= Review URL: https://codereview.chromium.org/19635002 Patch from Balazs Kilvady <kilvadyb@homejinni.com>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
alph@chromium.org authored
R=verwaest@chromium.org, yurys@chromium.org Review URL: https://codereview.chromium.org/19267023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/18774002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-