- 21 May, 2013 3 commits
-
-
mstarzinger@chromium.org authored
R=verwaest@chromium.org BUG=chromium:242502 TEST=mjsunit/regress/regress-crbug-242502 Review URL: https://codereview.chromium.org/15288008 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org BUG=v8:2628 TEST=cctest/test-cpu-profiler/SampleWhenFrameIsNotSetup Review URL: https://codereview.chromium.org/15415007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
R=svenpanne@chromium.org BUG= Review URL: https://codereview.chromium.org/12494012 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 17 May, 2013 5 commits
-
-
rodolph.perfetta@gmail.com authored
Refactoring: * consistent use of SmiTag/Untag * added a few Smi macros and helpers Improvements * small optimisations (e.g. merging untag and cmp #0) * added fixed point to double conversion instructions for simpler conversions More on the last point: a Smi can be seen as a fixed point number with the a one bit fractional part. Fixed to double instructions allow us to convert a Smi to a double without untagging. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/15085026 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
yurys@chromium.org authored
The test should only check that there are no sample stacks that never possible in the JS code being profiled. BUG=v8:2628 R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/14845018 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/15303002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
hpayer@chromium.org authored
BUG= Review URL: https://codereview.chromium.org/15270002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
verwaest@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/14843023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 16 May, 2013 3 commits
-
-
titzer@chromium.org authored
Fix code gen bug on arm and mips; SeqStringSetChar overwrites a register; Add better default PrintDataTo for HInstruction BUG= Review URL: https://codereview.chromium.org/14895019 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
rossberg@chromium.org authored
Review URL: https://codereview.chromium.org/14978007 Patch from Rafael Weinstein <rafaelw@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
olivf@chromium.org authored
Encapsulate type information in a convenient wrapper instead of storing it in a naked bitfield. This especially facilitates transitioning to a new state and converting from/to the extraICState representation. Additionally cleaning up ToBooleanICStub::Types for consistency. BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/14862009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 15 May, 2013 12 commits
-
-
adamk@chromium.org authored
Fixes the debug check failure on sorting an object with an array __proto__. Original Issue: https://codereview.chromium.org/14779011/ TBR=adamk@chromium.org Review URL: https://codereview.chromium.org/14977015 Patch from Rafael Weinstein <rafaelw@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
adamk@chromium.org authored
Reverts r14696 because it caused debug assertion failures when running test/mjsunit/harmony/object-observe.js TBR=rossberg Review URL: https://codereview.chromium.org/15203002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
adamk@chromium.org authored
R=rossberg,adamk,arv BUG= Review URL: https://codereview.chromium.org/14779011 Patch from Rafael Weinstein <rafaelw@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This change preserves the contents of optimized code maps during GCs but treats the references in this cache weakly. It uses infrastructure from code flushing to maintain a list of all caches. R=hpayer@chromium.org Review URL: https://codereview.chromium.org/14794007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
This reverts r14684 because of blink LayoutTest failures in inspector/debugger/debugger-pause-in-internal.html. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/14619040 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14694 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mvstanton@chromium.org authored
With flag optimize-constructed-arrays on, ARM and MIPS suffered a performance degrade due to incorrect code in GenerateRecordCallTarget(). The CL also enables flag optimize-constructed-arrays. BUG= R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/14772043 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14692 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
The current specification has GeneratorFunction() be like Function(), except that it makes generator instances. This commit implements that behavior. It also fills in a piece of the implementation where otherwise calling GeneratorFunction or GeneratorFunctionPrototype would cause an abort because they have no code. R=mstarzinger@chromium.org, rossberg@chromium.org TEST=mjsunit/harmony/generators-iteration TEST=mjsunit/harmony/generators-runtime BUG=v8:2355 BUG=v8:2680 Review URL: https://codereview.chromium.org/14857009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14684 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=danno@chromium.org, svenpanne@chromium.org Review URL: https://codereview.chromium.org/14969025 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=svenpanne@chromium.org TEST=cctest/test-conversions/BitField64 Review URL: https://codereview.chromium.org/14643004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14681 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/14899010 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14679 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
Replace a use of .indexOf with a call to StringIndexOf. As always, lexical scoping to the rescue. R=mstarzinger@chromium.org TEST=mjsunit/regress/regress-2686 BUG=v8:2686 Review URL: https://codereview.chromium.org/14668013 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14678 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
* Running with ASAN needs more stack, so don't set resource constraints too tight. * Checking boot time memory usage doesn't make sense when running with ASAN, it eats tons of memory for itself. * Fixed a malloc/delete[] mismatch: Not surprisingly, the pointer wrapped by a SmartArrayPointer should better be allocated by, well, NewArray... Even with these 3 fixes, we still have a few failures when running our test suite with ASAN. Most of them are either timeouts or failures caused by greatly increased stack usage. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/15096011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14674 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 14 May, 2013 5 commits
-
-
yurys@chromium.org authored
Stack iterator takes return address based on the frame pointer (ebp) and detects JS frames based on value at fp + StandardFrameConstants::kMarkerOffset. So in order the iterator to work correctly this values should be already setup for the current function. Stack frame is constructed at the very beginning of JS function code and destroyed before return. If sample is taken before before the frame construction is completed or after it was destroyed the stack iterator will wrongly think that FP points at the current functions frame base and will skip callers frame. To avoid this we mark code ranges where stack frame doesn't exist and completely ignore such samples. This fixes cctest/test-cpu-profiler/CollectCpuProfile flakiness. BUG=v8:2628 R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/14253015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14670 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
Ideally this would have been implemented via desugaring at parse-time, but yield* is an expression, and its desugaring includes statements like while and try/catch. We'd have to have BlockExpression in the AST to support that, and it's not worth it for this feature. So instead we implement all of the logic in FullCodeGenerator::VisitYield. Delegating yield AST nodes now have a try handler index, for the try/catch. Otherwise the implementation is straightforward. R=rossberg@chromium.org BUG=v8:2355 TEST=mjsunit/harmony/generators-iteration Review URL: https://codereview.chromium.org/14582007 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14669 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14668 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
Ideally this would have been implemented via desugaring at parse-time, but yield* is an expression, and its desugaring includes statements like while and try/catch. We'd have to have BlockExpression in the AST to support that, and it's not worth it for this feature. So instead we implement all of the logic in FullCodeGenerator::VisitYield. Delegating yield AST nodes now have a try handler index, for the try/catch. Otherwise the implementation is straightforward. R=mstarzinger@chromium.org BUG=v8:2355 TEST=mjsunit/harmony/generators-iteration git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14666 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
titzer@chromium.org authored
Improve dead code elimination by transitively marking live code and removing all dead code. Replace unreachable phi removal algorithm with the new dead code elimination pass, which is more thorough. Review URL: https://codereview.chromium.org/14676011 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14661 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 13 May, 2013 6 commits
-
-
wingo@igalia.com authored
R=mstarzinger@chromium.org BUG=v8:2681 TEST=mjsunit/regress/regress-2681 Review URL: https://codereview.chromium.org/14731023 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dslomov@chromium.org authored
R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/15059009 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
dcarney@chromium.org authored
TBR=svenpanne@chomium.org BUG= Review URL: https://codereview.chromium.org/15129002 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14645 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
jkummerow@chromium.org authored
BUG=chromium:233737 Review URL: https://codereview.chromium.org/14978004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14638 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
danno@chromium.org authored
Improves NavierStokes by about 5% R=ulan@chromium.org Review URL: https://codereview.chromium.org/15014020 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14630 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
svenpanne@chromium.org authored
We have to check for overflow before attempting to do a modulo operation, otherwise Crankshaft itself segfaults on some platforms, e.g. ia32. Added tests even for division, where the problem doesn't show up, just to be sure... R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/14617014 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14629 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
- 10 May, 2013 6 commits
-
-
verwaest@chromium.org authored
R=danno@chromium.org Review URL: https://chromiumcodereview.appspot.com/14996004 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14625 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
This will be relevant after Persistent is changed to Dispose itself when destructed. With Persistent::ClearAndLeak, Blink can take the ownership of the object pointed by a Persistent and avoid it getting destructed. BUG= R=svenpanne@chromium.org Review URL: https://codereview.chromium.org/15023010 Patch from Marja Hölttä <marja@chromium.org>. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14624 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=test262/15.5.4.9_3 Review URL: https://codereview.chromium.org/14972015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14623 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=rossberg@chromium.org TEST=test262 Review URL: https://codereview.chromium.org/14644015 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14620 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
wingo@igalia.com authored
ES3 specified that functions created via Function() would have enumerable prototypes, unlike function literals. For this reason, V8 has always had two prototypes for functions: "function_map" for literals, and "function_instance_map" for "function instances": those functions created by Function(). However, since 2009 or so, both maps have been the same! Both have had writable, non-enumerable prototypes. Moreover, ES5 changed to specify that function instances would have non-enumerable prototypes. This patch removes the separate maps for function instances in sloppy and strict mode. R=mstarzinger@chromium.org TEST=mjsunit/function-prototype BUG= Review URL: https://codereview.chromium.org/14829005 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14619 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-
mstarzinger@chromium.org authored
R=ulan@chromium.org BUG=chromium:160010 TEST=mjsunit/regress/regress-crbug-160010 Review URL: https://codereview.chromium.org/14908006 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14614 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
-