- 01 Jun, 2015 11 commits
-
-
chunyang.dai authored
port 5450fc07 (r18659) original commit message: Also adapt code generation to pass the slot to the store/keyed-store ic. AST nodes ObjectLiteral, Assignment, ForEach, Call and CountOperation now include one or more feedback vector ic slot ids. BUG= Review URL: https://codereview.chromium.org/1155383003 Cr-Commit-Position: refs/heads/master@{#28718}
-
chunyang.dai authored
port 44e98103 (r28644) original commit message: When we enter a method that needs access to the [[HomeObject]] we allocate a local variable `.home_object` and assign it the value from the [[HomeObject]] private symbol. Something along the lines of: method() { var .home_object = %ThisFunction()[home_object_symbol]; ... } BUG= Review URL: https://codereview.chromium.org/1158543004 Cr-Commit-Position: refs/heads/master@{#28717}
-
chunyang.dai authored
port eca5b5d7 (r28622). original commit message: * Hash code is now just done with a private own symbol instead of the hidden string, which predates symbols. * In the long run we should do all hidden properties this way and get rid of the hidden magic 0-length string with the zero hash code. The advantages include less complexity and being able to do things from JS in a natural way. * Initially, the performance of weak set regressed, because it's a little harder to do the lookup in C++. Instead of heroics in C++ to make things faster I moved some functionality into JS and got the performance back. JS is supposed to be good at looking up named properties on objects. * This also changes hash codes of Smis so that they are always Smis. Performance figures are in the comments to the code review. Summary: Most of js-perf-test/Collections is neutral. Set and Map with object keys are 40-50% better. WeakMap is -5% and WeakSet is +9%. In the code review comments is a patch with an example of the heroics we could do in C++ to make lookup faster (I hope we don't have to do this. Instead of checking for the property, then doing a new In a similar vein we could give the magic zero hash code to the hash code symbol. Then when we look up the hash code we would sometimes see the table with all the hidden properties. This dual use of the field for either the hash code or the table with all hidden properties and the hash code is rather ugly, and this CL gets rid of it. I'd be loath to bring it back. On the benchmarks quoted above it's slightly slower than moving the hash code lookup to JS like in this CL. One worry is that the benchmark results above are more monomorphic than real world code, so may be overstating the performance benefits of moving to JS. I think this is part of a general issue we have with handling polymorphic code in JS and any solutions there will benefit this solution, which boils down to regular property access. Any improvement there will lift all boats. BUG= Review URL: https://codereview.chromium.org/1153963010 Cr-Commit-Position: refs/heads/master@{#28716}
-
chunyang.dai authored
port 32de6778 (r29615) original commit message: The reason is that this information will be needed to compute the number of vector ic slots done at numbering time. BUG= Review URL: https://codereview.chromium.org/1165693002 Cr-Commit-Position: refs/heads/master@{#28715}
-
hablich authored
R=arv@chromium.org, mstarzinger@chromium.org BUG=v8:4131 LOG=n Review URL: https://codereview.chromium.org/1153363002 Cr-Commit-Position: refs/heads/master@{#28714}
-
mstarzinger authored
This introduces two new operators for loads of variables bound to Variable::LOOKUP locations. Currently they all still lower to runtime calls, but will allow optimization during typed lowering. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1155103004 Cr-Commit-Position: refs/heads/master@{#28713}
-
jochen authored
In contrast to CreateDataProperty, this will always call out to JS BUG=475206 R=adamk@chromium.org,verwaest@chromium.org LOG=y Review URL: https://codereview.chromium.org/1167473002 Cr-Commit-Position: refs/heads/master@{#28712}
-
bmeurer authored
In a nutshell: The FILTER_KEY builtin is gone, and was replaced by a simple runtime call to ForInFilter, which does everything and is even cheaper (because FILTER_KEY used to call into the runtime anyway). And ForInFilter returns either the name or undefined, which makes it possible to remove the control flow construction from the AstGraphBuilder, and thereby make both the initialization and the per-loop code of for-in optimizable later (in typed lowering). R=jarin@chromium.org Review URL: https://codereview.chromium.org/1160983004 Cr-Commit-Position: refs/heads/master@{#28711}
-
michael_dawson authored
Fix another may be uninitialized compile failure on AIX in src/heap/heap.cc R=svenpanne@chromium.org, mbrandy@us.ibm.com BUG= Review URL: https://codereview.chromium.org/1153233004 Cr-Commit-Position: refs/heads/master@{#28710}
-
jacob.bramley authored
Use __ARM_ARCH_6ZK__ instead of __ARM_ARCH_6KZ__. The architecture is technically called ARMv6KZ, but GCC has always called it 6ZK. Clang defines __ARM_ARCH_6K__ for this target, and is unaffected. BUG=v8:3978 LOG=N Review URL: https://codereview.chromium.org/1145973004 Cr-Commit-Position: refs/heads/master@{#28709}
-
v8-autoroll authored
Rolling v8/tools/clang to ed19e3a88ba8dccc757b6f2e76d06c5d1355cfa3 TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1166613002 Cr-Commit-Position: refs/heads/master@{#28708}
-
- 31 May, 2015 2 commits
-
-
erikcorry authored
R=hpayer@chromium.org, szager@chromium.org TBR=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1149413003 Cr-Commit-Position: refs/heads/master@{#28707}
-
v8-autoroll authored
Rolling v8/tools/clang to 4a73eedb03ade4ca209eadcf768737ca01bf7b4a TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1163663004 Cr-Commit-Position: refs/heads/master@{#28706}
-
- 30 May, 2015 1 commit
-
-
v8-autoroll authored
Rolling v8/buildtools to fa660d47fa1a6c649d5c29e001348447c55709e6 Rolling v8/tools/clang to fbd2e50b735151d7745bca153f7f17ea896dcfb7 TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1158313003 Cr-Commit-Position: refs/heads/master@{#28705}
-
- 29 May, 2015 15 commits
-
-
erikcorry authored
If we crash V8 due to out-of-memory then we print the last 3 GCs on stdout as we crash. Also records the last 3 GCs on the stack so that it will be part of the minidump. R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1159513003 Cr-Commit-Position: refs/heads/master@{#28704}
-
titzer authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1164603002 Cr-Commit-Position: refs/heads/master@{#28703}
-
bbudge authored
Moves alignment fill calculations into two static Heap methods. Adds a Heap method to handle the complex case where filler is potentially needed before and after a heap object. Makes DoubleAlignForDeserialization explicitly fill after an already aligned object. LOG=N BUG=v8:4124 Committed: https://crrev.com/fcfb080eb9a637f0ae066bed4c45095e60df8a84 Cr-Commit-Position: refs/heads/master@{#28687} Review URL: https://codereview.chromium.org/1150593003 Cr-Commit-Position: refs/heads/master@{#28702}
-
yangguo authored
The point of this change is so that when emitting code for a call in FullCodegen::VisitCall, the statement position is not associated to any code that loads the function, but to the actual CallIC. R=mvstanton@chromium.org BUG=chromium:481896 LOG=N Review URL: https://codereview.chromium.org/1157543004 Cr-Commit-Position: refs/heads/master@{#28701}
-
vogelheim authored
R=jochen@chromium.org BUG=chromium:470930 LOG=N Review URL: https://codereview.chromium.org/1156103015 Cr-Commit-Position: refs/heads/master@{#28700}
-
ishell authored
Reland "Fixed a couple of failing DCHECK(has_pending_exception()). (patchset #1 id:1 of https://codereview.chromium.org/1151373002/ )" BUG=chromium:491062 LOG=N Review URL: https://codereview.chromium.org/1157273002 Cr-Commit-Position: refs/heads/master@{#28699}
-
conradw authored
Implements the strong mode proposal's restrictions on changing a strong object's writable, non-configurable property to non-writable. Setting the strong bit is still wip, so this change will only affect those objects that have the bit correctly set. The tests reflect this, and will be expanded as more objects can be marked as strong. BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1142393003 Cr-Commit-Position: refs/heads/master@{#28698}
-
jarin authored
BUG= Review URL: https://codereview.chromium.org/1148293009 Cr-Commit-Position: refs/heads/master@{#28697}
-
yangguo authored
R=mstarzinger@chromium.org BUG=chromium:492522 LOG=Y Review URL: https://codereview.chromium.org/1154163006 Cr-Commit-Position: refs/heads/master@{#28696}
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1162633002 Cr-Commit-Position: refs/heads/master@{#28695}
-
erikcorry authored
R=ulan@chromium.org BUG= Review URL: https://codereview.chromium.org/1142343009 Cr-Commit-Position: refs/heads/master@{#28694}
-
hpayer authored
BUG= Review URL: https://codereview.chromium.org/1158423002 Cr-Commit-Position: refs/heads/master@{#28693}
-
bmeurer authored
R=jarin@chromium.org Review URL: https://codereview.chromium.org/1157423003 Cr-Commit-Position: refs/heads/master@{#28692}
-
rodolph.perfetta authored
vmov immediate was always emitting movt for some immediates wether or not the CPU supported ARMv7. BUG=v8:4019 LOG=n Review URL: https://codereview.chromium.org/1160093002 Cr-Commit-Position: refs/heads/master@{#28691}
-
v8-autoroll authored
Rolling v8/tools/clang to 5413f2a11e1b56c30e28769b9ff1086797c11b28 TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1167453002 Cr-Commit-Position: refs/heads/master@{#28690}
-
- 28 May, 2015 11 commits
-
-
arv authored
Follow up to https://codereview.chromium.org/1135243004 For now we need to call set_base_id in AstNumberingVisitor because TurboFan needs a bailout id for super.prop in a lot of cases. BUG=None LOG=N R=adamk@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1153053005 Cr-Commit-Position: refs/heads/master@{#28689}
-
bbudge authored
Revert of Clean up aligned allocation code in preparation for SIMD alignments. (patchset #14 id:300001 of https://codereview.chromium.org/1150593003/) Reason for revert: Breaks mjsunit, webkit, mozilla, benchmarks. TBR=hpayer@chromium.org Original issue's description: > Clean up aligned allocation code in preparation for SIMD alignments. > > Moves alignment fill calculations into two static Heap methods. > Adds a Heap method to handle the complex case where filler is potentially needed before and after a heap object. > Makes DoubleAlignForDeserialization explicitly fill after an already > aligned object. > > LOG=N > BUG=v8:4124 > > Committed: https://crrev.com/fcfb080eb9a637f0ae066bed4c45095e60df8a84 > Cr-Commit-Position: refs/heads/master@{#28687} TBR=hpayer@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG=v8:4124 Review URL: https://codereview.chromium.org/1159123002 Cr-Commit-Position: refs/heads/master@{#28688}
-
bbudge authored
Moves alignment fill calculations into two static Heap methods. Adds a Heap method to handle the complex case where filler is potentially needed before and after a heap object. Makes DoubleAlignForDeserialization explicitly fill after an already aligned object. LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1150593003 Cr-Commit-Position: refs/heads/master@{#28687}
-
mbrandy authored
Port 3a1d7335 Original commit message: This finishes up work begun by CL (https://codereview.chromium.org/546683003/) some months ago. R=mvstanton@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1160933003 Cr-Commit-Position: refs/heads/master@{#28686}
-
mbrandy authored
R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1143153013 Cr-Commit-Position: refs/heads/master@{#28685}
-
sergiyb authored
This will land with https://chromereviews.googleplex.com/202967013 R=akuegel@chromium.org, machenbach@chromium.org BUG=471767 NOTRY=true LOG=N Review URL: https://codereview.chromium.org/1161873004 Cr-Commit-Position: refs/heads/master@{#28684}
-
mvstanton authored
This finishes up work begun by CL (https://codereview.chromium.org/546683003/) some months ago. BUG= Review URL: https://codereview.chromium.org/1149053004 Cr-Commit-Position: refs/heads/master@{#28683}
-
bmeurer authored
This is an initial step towards a faster and less incorrect implementation of for-in in TurboFan. R=jarin@chromium.org Review URL: https://codereview.chromium.org/1153403002 Cr-Commit-Position: refs/heads/master@{#28682}
-
mstarzinger authored
This introduces a conservative prediction for each exception handler whether it will locally catch an exception or re-throw it to outside the code bondaries. It will allow for a more intuitive prediction of whether an exception is considered "caught" or "uncaught". R=bmeurer@chromium.org,yangguo@chromium.org BUG=chromium:492522 LOG=N Review URL: https://codereview.chromium.org/1158563008 Cr-Commit-Position: refs/heads/master@{#28681}
-
erikcorry authored
R=hpayer@chromium.org BUG= Review URL: https://codereview.chromium.org/1158933007 Cr-Commit-Position: refs/heads/master@{#28680}
-
machenbach authored
NOTRY=true Review URL: https://codereview.chromium.org/1156663009 Cr-Commit-Position: refs/heads/master@{#28679}
-