jkummerow@chromium.org
47ba2b2dd8
Migrate BinaryOpICs and UnaryOpICs to new type rep
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/16957004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 17:02:39 +00:00
palfia@homejinni.com
60c2218ae3
MIPS: Refactor only: Rename JSGlobaPropertyCell to PropertyCell
...
Port r15165 (daf37483)
BUG=
Review URL: https://codereview.chromium.org/17064007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 17:00:24 +00:00
verwaest@chromium.org
98167ed0a8
Improved range analysis for bitwise operations.
...
R=fschneider@chromium.org , verwaest@chromium.org
Review URL: https://chromiumcodereview.appspot.com/9156001
Patch from Stephen Adams <sra@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15170 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:55:34 +00:00
jkummerow@chromium.org
5229b181e2
Add missing NULL check to TypeFeedbackOracle::CompareTypes()
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/17096003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:50:50 +00:00
jkummerow@chromium.org
fb1057ad5d
Fix MathFloorOfDiv canonicalization ASSERT failures
...
- remove outdated ASSERT about instruction type
- add inserted HChanges to the graph
R=danno@chromium.org
Review URL: https://codereview.chromium.org/17094005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:27:52 +00:00
danno@chromium.org
61a23ceb4d
Refactor only: Rename JSGlobaPropertyCell to PropertyCell
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/17064002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:06:12 +00:00
mstarzinger@chromium.org
3626e48e5c
Make --trace-code-flushing uniform with other tracing.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/17059007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 16:04:58 +00:00
jkummerow@chromium.org
de71923b20
Make MathFloorOfDiv optimization trigger more often
...
BUG=v8:2205
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/16973002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:33:15 +00:00
ulan@chromium.org
f751e89416
Reland "Make more GCs in idle notification handler."
...
Fix performance regression on benchmarks by filtering out short idle
notifications.
R=hpayer@chromium.org
BUG=241815
Review URL: https://chromiumcodereview.appspot.com/17005005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:24:03 +00:00
verwaest@chromium.org
7cebf3f684
When HBranch sees Smi, it sees Smi.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/17064006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:23:05 +00:00
verwaest@chromium.org
773c08c58f
Try convert polymorphic stores into a single monomorphic store.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16975006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:16:03 +00:00
yangguo@chromium.org
af599c835d
Increase default type info threshold.
...
R=jkummerow@chromium.org
BUG=v8:2730
Review URL: https://chromiumcodereview.appspot.com/17074002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:15:05 +00:00
verwaest@chromium.org
41c63d8899
Only infer int32 in HBoundsCheck if input is double or int32.
...
R=jkummerow@chromium.org , mmassi@chromium.org
Review URL: https://chromiumcodereview.appspot.com/17057004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:14:07 +00:00
verwaest@chromium.org
84759d7e6e
Cleanup RepresentationFromUseRequirements, move it to HValue and use it where relevant
...
BUG=
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/17005004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15155 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:13:48 +00:00
svenpanne@chromium.org
62254ae97c
Prepare push to trunk. Now working on version 3.19.17.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/17043003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 14:02:09 +00:00
dcarney@chromium.org
a07b99f3ae
build fix for d8-readline for 15142
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/17028013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15151 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 13:40:47 +00:00
palfia@homejinni.com
7d53546097
MIPS: Install a generic handler whenever we fail to update the IC. Ignore select cases in StoreIC since we don't have premonomorphic.
...
Port r15145 (e415de7c)
BUG=
Review URL: https://codereview.chromium.org/17086002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 13:36:13 +00:00
hpayer@chromium.org
08a4a37616
Decrease size of first page of property cell space.
...
BUG=
R=danno@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/17027006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15148 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:36:55 +00:00
yangguo@chromium.org
b863016da2
Inhibit OSR for big functions.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/17030008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:35:00 +00:00
hpayer@chromium.org
9e70cb84fb
As a last resort try to allocate out of the smaller size size-class in
...
the free list allocator.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/17058002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15146 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:22:25 +00:00
verwaest@chromium.org
2987b11701
Install a generic handler whenever we fail to update the IC.
...
Ignore select cases in StoreIC since we don't have premonomorphic.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/17027007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 11:21:34 +00:00
mstarzinger@chromium.org
4578f634eb
Remove bogus cast in LChunkBuilder::CreateEnvironment.
...
R=jkummerow@chromium.org
TEST=chromium:content_browsertests
Review URL: https://codereview.chromium.org/17057002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 09:02:11 +00:00
verwaest@chromium.org
cff21dc168
Observe smi as input for HCompareIDAndBranch
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16994002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 07:45:16 +00:00
svenpanne@chromium.org
bcf5912b3f
Reduce the amount of full code generated to fill out array literals.
...
This is achieved by tuning the calling convention of StoreArrayLiteralStub:
* The map of the array literal can be loaded in the stub from the
array literal itself, there is no need to pass it at all.
* The array literal is already on the stack, so there is no need to
pass it again via a register.
* The literal index is unchanged while filling the literal, so we can
push it on the stack once and avoid passing it every time. Note that
we need to mirror this change in the stack layout in crankshaft, too.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16950004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15138 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-14 06:06:00 +00:00
yurys@chromium.org
c4224f09a2
Notify CPU profiler when calling native getters
...
This change modifies code produced by BaseLoadStubCompiler::GenerateLoadCallback so that instead of calling AccessorGetter direcly it calls InvokeAccessorGetter which changes VM state and calls the actual callback. This way CPU profiler knows which external callback is being executed in this case. Indirect call happens only if CpuProfiler::is_profiling() is true.
This is exactly same change as r15116 with a build fix for test-api.cc
BUG=244580
TBR=danno@chromium.org
Review URL: https://codereview.chromium.org/16858013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15135 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 19:16:35 +00:00
palfia@homejinni.com
6dcc6e27f6
MIPS: Only extend storage if FIELD
...
Port r15125 (0c202ff0)
BUG=
Review URL: https://codereview.chromium.org/16983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 18:49:09 +00:00
palfia@homejinni.com
ddffbb7249
MIPS: Implement IC support for Constant Function transitions.
...
Port r15124 (6b02a945)
BUG=
Review URL: https://codereview.chromium.org/16984002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 18:48:19 +00:00
verwaest@chromium.org
91eda65014
Reduce usage of AssumeRepresentation
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16871011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15132 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 18:09:33 +00:00
palfia@homejinni.com
674d594606
MIPS: Delegating yield does not re-box result objects.
...
Port r15113 (9d28761)
Delegating yield (yield*) should just pass on the iterator results it
receives instead of re-boxing them.
TEST=mjsunit/harmony/generators-iteration
BUG=
Review URL: https://codereview.chromium.org/16855009
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 17:47:28 +00:00
verwaest@chromium.org
1b5835f69f
Remove manual representation annotations for constants.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16818016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 17:38:10 +00:00
hpayer@chromium.org
ce6a0e4def
Allow allocations in spaces with constant allocation size use the
...
smallest possible size-class.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16957003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15129 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 17:03:57 +00:00
palfia@homejinni.com
69b43a07ec
MIPS: Use keyed-call inline caches in delegating yield.
...
Port r15111 (7de1a19)
Original commit message:
Since we can't assume anything about the shape of the iterator in a
yield* (delegating yield), use an IC to do the next() and throw()
iterator method calls.
BUG=v8:2691
TEST=mjsunit/regress/regress-2691
Review URL: https://codereview.chromium.org/16923008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15128 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 16:50:22 +00:00
palfia@homejinni.com
9e1c894a9e
MIPS: Increase sanity of integer division handling.
...
Port r15057 (c82c777)
Original commit message:
- In the INT32 BinaryOpStub, fix type feedback collection for DIV,
bringing it in line with other platforms.
- In Lithium codegen, emit proper inlined code, don't call the stub.
- Drive-by fix: assert appropriate CpuFeaturesScope for SDIV.
BUG=
Review URL: https://codereview.chromium.org/16857004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 16:44:54 +00:00
verwaest@chromium.org
1d74cfaaf4
Refactor turning polymorphic loads into monomorphic loads
...
- remove special code for polymorphic loading of array length
- use it in VisitCountOperation
BUG=
R=hpayer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16948005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 16:36:15 +00:00
verwaest@chromium.org
1d5cdf215d
Only extend storage if FIELD
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16818014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 16:21:32 +00:00
verwaest@chromium.org
8bc9d98786
Implement IC support for Constant Function transitions.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16826016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 15:01:25 +00:00
mstarzinger@chromium.org
fede5231bc
Deprecate several unchecked accessors.
...
R=hpayer@google.com
BUG=v8:1490
Review URL: https://codereview.chromium.org/16663009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 15:00:30 +00:00
verwaest@chromium.org
4ac1aa533d
Temporarily patch HCompareIDAndBranch to accept Smi.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16957005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 14:58:41 +00:00
danno@chromium.org
681b10b3c0
Prepare push to trunk. Now working on version 3.19.16.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/16924007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 14:38:36 +00:00
mvstanton@chromium.org
5b2c1a50d9
HCheckFunction is needed to protect new array constructors in
...
crankshafted code.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/16944006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 14:29:01 +00:00
yurys@chromium.org
24ec017182
Revert "Notify CPU profiler when calling native getters"
...
This reverts commit f323d984a73bab345c4eab5c1907552ccfa7ccaa.
Broke compilation on the bots with an error that doesn't occur locally:
CXX(target) /mnt/data/b/build/slave/v8-linux-debug/build/v8/out/Debug/obj.target/cctest/test/cctest/test-bignum-dtoa.o
../test/cctest/test-api.cc: In function ‘void FastReturnValueCallback(const v8::FunctionCallbackInfo<v8::Value>&) [with T = int]’:
../test/cctest/test-api.cc:1129: error: insufficient contextual information to determine type
../test/cctest/test-api.cc: In function ‘void FastReturnValueCallback(const v8::FunctionCallbackInfo<v8::Value>&) [with T = unsigned int]’:
../test/cctest/test-api.cc:1136: error: insufficient contextual information to determine type
../test/cctest/test-api.cc: In function ‘void FastReturnValueCallback(const v8::FunctionCallbackInfo<v8::Value>&) [with T = double]’:
../test/cctest/test-api.cc:1143: error: insufficient contextual information to determine type
../test/cctest/test-api.cc: In function ‘void FastReturnValueCallback(const v8::FunctionCallbackInfo<v8::Value>&) [with T = bool]’:
../test/cctest/test-api.cc:1150: error: insufficient contextual information to determine type
../test/cctest/test-api.cc: In function ‘void FastReturnValueCallback(const v8::FunctionCallbackInfo<v8::Value>&) [with T = void]’:
../test/cctest/test-api.cc:1157: error: insufficient contextual information to determine type
CXX(target) /mnt/data/b/build/slave/v8-linux-debug/build/v8/out/Debug/obj.target/cctest/test/cctest/test-circular-queue.o
BUG=None
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16838013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 14:05:19 +00:00
yurys@chromium.org
1a3c3cee9d
Notify CPU profiler when calling native getters
...
This change modifies code produced by BaseLoadStubCompiler::GenerateLoadCallback so that instead of calling AccessorGetter direcly it calls InvokeAccessorGetter which changes VM state and calls the actual callback. This way CPU profiler knows which external callback is being executed in this case.
BUG=244580
R=dcarney@chromium.org , loislo@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16286016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 13:46:33 +00:00
loislo@chromium.org
2f811dbb99
Revert "DevTools: CPUProfiler: provide url for scripts that have sourceURL property."
...
This reverts commit d95b7bb92ad1a191cf505250830d094b86d61e8f.
This reverts commit ca81c09a367600be79452e1fc53ac63b75e369c4.
record-cpu-profile.html is crashing
TBR= yurys@chromium.org , danno@chromium.org
BUG=none
Review URL: https://codereview.chromium.org/16940005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15114 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 11:09:19 +00:00
wingo@igalia.com
d73dace0f5
Delegating yield does not re-box result objects
...
Delegating yield (yield*) should just pass on the iterator results it
receives instead of re-boxing them.
R=rossberg@chromium.org
TEST=mjsunit/harmony/generators-iteration
BUG=
Review URL: https://codereview.chromium.org/16695006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15113 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 10:57:11 +00:00
dcarney@chromium.org
608a6b8965
another attempt at fixing 15107
...
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16854009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 10:39:44 +00:00
wingo@igalia.com
09fcac5e39
Use keyed-call inline caches in delegating yield
...
Since we can't assume anything about the shape of the iterator in a
yield* (delegating yield), use an IC to do the next() and throw()
iterator method calls.
BUG=v8:2691
R=rossberg@chromium.org
TEST=mjsunit/regress/regress-2691
Review URL: https://codereview.chromium.org/15455002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 10:18:28 +00:00
mstarzinger@chromium.org
a7f3cd7486
Trace amount of external memory with --trace-gc-verbose.
...
R=hpayer@google.com
Review URL: https://codereview.chromium.org/16953002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 09:48:23 +00:00
dcarney@chromium.org
8b2c26d736
remove most uses of raw handle constructors
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15817014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15107 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 09:27:09 +00:00
yangguo@chromium.org
28db1d0ebd
Fix memory leak in assert scopes.
...
R=svenpanne@chromium.org
BUG=246567
Review URL: https://chromiumcodereview.appspot.com/15709020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 07:47:42 +00:00
dcarney@chromium.org
9103afa291
Deprecate the version of MakeWeak which takes an Isolate.
...
BUG=NONE
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16528009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-13 07:23:23 +00:00
palfia@homejinni.com
2ed2fde83b
MIPS: Fix for bug 245480. Calling new Array(a) with a single argument could result in creating a holey array with a packed elements kind.
...
Port r15095 (4a97e1e4)
BUG=
Review URL: https://codereview.chromium.org/16861003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 23:40:46 +00:00
palfia@homejinni.com
f5461d3c8a
MIPS: Separate Cell and PropertyCell spaces
...
Port r15089 (5c28e4e7)
Original commit message:
This makes it possible to store additional information on property cells, for example Type and optimized Code dependencies.
BUG=
Review URL: https://codereview.chromium.org/16858003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15103 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 23:39:22 +00:00
danno@chromium.org
d353e81143
Prepare push to trunk. Now working on version 3.19.15.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/16838008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 22:30:58 +00:00
danno@chromium.org
64ee36428a
Fix nosnap sarialization test failure (again)
...
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/16871002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 22:21:08 +00:00
palfia@homejinni.com
6124e8f141
MIPS: Allow the deoptimizer translation to track de-materialized objects.
...
Port r15087 (63e1626)
Original commit message:
This allows the deoptimizer to materialize objects (e.g. the arguments
object) while deopting without having a consective stack area holding
the object values. The LEnvironment explicitly tracks locations for
these values and preserves them in the translation.
TEST=mjsunit/compiler/inline-arguments
BUG=
Review URL: https://codereview.chromium.org/16846002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 21:46:53 +00:00
palfia@homejinni.com
2a56e33da7
MIPS: Allocate generator result objects before unwinding try handlers
...
Port r15079 (1ebdfdc6)
Original commit message:
When a generator suspends, it saves its state out to the heap and
unwinds try handlers but doesn't pop anything off the stack. Instead it
relies on no GC happening between the suspend and the return from the
generator. However this was not the case: boxing the result object
could cause GC, which would try to traverse the stack but would
misinterpret words from unwound try handlers as heap objects.
This CL changes to allocate the result objects before the suspend. It
also removes the generators-iteration skip introduced in r15065.
BUG=
Review URL: https://codereview.chromium.org/16820004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 19:41:29 +00:00
mvstanton@chromium.org
75afb8ce79
Fix for bug 245480. Calling new Array(a) with a single argument could result in creating a holey array with a packed elements kind.
...
BUG=245480
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/16341004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 18:04:16 +00:00
rossberg@chromium.org
94f651bc1b
Migrate Compare ICs to new type rep
...
(Does not yet use common AST expression type field.)
R=jkummerow@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16361015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 17:20:37 +00:00
danno@chromium.org
0a2f7acaab
Fix serialization tests and Mac build
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16109018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 16:23:17 +00:00
danno@chromium.org
1b89cbf817
Separate Cell and PropertyCell spaces
...
This makes it possible to store additional information on property cells, for example Type and optimized Code dependencies.
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16631002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 15:03:44 +00:00
mstarzinger@chromium.org
93ab1864ea
Allow the deoptimizer translation to track de-materialized objects.
...
This allows the deoptimizer to materialize objects (e.g. the arguments
object) while deopting without having a consective stack area holding
the object values. The LEnvironment explicitly tracks locations for
these values and preserves them in the translation.
R=svenpanne@chromium.org
TEST=mjsunit/compiler/inline-arguments
Review URL: https://codereview.chromium.org/16779004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 14:22:49 +00:00
mstarzinger@chromium.org
643350c5d2
Deprecate obsolete JSFunction::unchecked_shared accessor.
...
R=hpayer@chromium.org
BUG=v8:1490
Review URL: https://codereview.chromium.org/16813005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 14:05:56 +00:00
hpayer@chromium.org
a11d33967f
Clean up StoreBuffer::EnsureSpace.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16690006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 13:14:35 +00:00
wingo@igalia.com
cc27c4c41b
GeneratorFunction() makes generator instances
...
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
TEST=mjsunit/harmony/generators-iteration
TEST=mjsunit/harmony/generators-runtime
BUG=v8:2355,v8:2680
Review URL: https://codereview.chromium.org/15218004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 12:52:16 +00:00
hpayer@chromium.org
7ff046c3fd
Implemented function that returns code age.
...
This may be used to display debugging information.
BUG=
R=danno@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16509005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 12:39:15 +00:00
wingo@igalia.com
1fb2f4b358
For-of statements do not permit initializers.
...
R=rossberg@chromium.org
BUG=v8:2720
Review URL: https://codereview.chromium.org/16739008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15082 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 12:37:44 +00:00
wingo@igalia.com
8f15c921ee
Re-enable the harmony => harmony-generators implication after r15079.
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16815002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15081 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 11:48:55 +00:00
wingo@igalia.com
418ddc800a
Allocate generator result objects before unwinding try handlers
...
When a generator suspends, it saves its state out to the heap and
unwinds try handlers but doesn't pop anything off the stack. Instead it
relies on no GC happening between the suspend and the return from the
generator. However this was not the case: boxing the result object
could cause GC, which would try to traverse the stack but would
misinterpret words from unwound try handlers as heap objects.
This CL changes to allocate the result objects before the suspend. It
also removes the generators-iteration skip introduced in r15065.
R=mstarzinger@chromium.org
TEST=mjsunit/harmony/generators-iteration
BUG=
Review URL: https://codereview.chromium.org/16801006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 11:02:51 +00:00
yangguo@chromium.org
74556569d1
Reland "Enable map dependency to in-flight compilation info."
...
BUG=248076
R=ulan@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16782004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 09:43:22 +00:00
dslomov@chromium.org
ecaf460548
Unify processing of weak lists in heap.cc
...
R=hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16641003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15076 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 09:31:39 +00:00
dcarney@chromium.org
b34d1cf3e6
release callback table memory in ~Isolate
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16304008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 08:57:36 +00:00
loislo@chromium.org
29abaf4aad
DevTools: CPUProfiler: provide url for scripts that have sourceURL property.
...
BUG=none
TEST=SourceURLSupportForNewFunctions, LogExistingFunctionSourceURLCheck
R=jkummerow@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/16035027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-12 08:27:24 +00:00
plind44@gmail.com
0edbf9e709
MIPS: Skip some conditional deopts for Div/Mul when all uses are truncating.
...
Port r15060 (8cdd204)
Original commit message:
- set "can be minus zero" flag properly so minus-zero checks are skipped
- skip "integer result?" check in division code when uses are truncating
- drive-by cleanup: consolidated computation of kCanOverflow flag for Add/Sub into range inference phase
BUG=v8:2132
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/16645007
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 17:41:03 +00:00
ulan@chromium.org
c2dab39b71
Prepare push to trunk. Now working on version 3.19.14.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/16276010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 15:37:56 +00:00
wingo@igalia.com
5760c7b598
Disable --harmony -> --harmony-generators implication
...
A GC-related bug has started showing up after r15060 that unfortunately
I haven't been able to reproduce. Disable generators by default for the
Canary push.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16638011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 14:45:17 +00:00
mstarzinger@chromium.org
b348744c56
Add tracing for functions processed by code flushing.
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/16773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 14:40:44 +00:00
plind44@gmail.com
8f66deead7
MIPS: Fix memory barriers for atomic operations.
...
Add barriers using MIPS 'sync' instructions as needed for SMP
systems.
BUG=246947
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/15981017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15062 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 14:30:43 +00:00
yangguo@chromium.org
6da97b1d4a
Revert "Enable map dependency to in-flight compilation info."
...
This includes r15032, r15030 and r15005.
R=ulan@chromium.org
BUG=248076
Review URL: https://chromiumcodereview.appspot.com/16482004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 11:55:56 +00:00
jkummerow@chromium.org
9447014780
Skip some conditional deopts for Div/Mul when all uses are truncating.
...
- set "can be minus zero" flag properly so minus-zero checks are skipped
- skip "integer result?" check in division code when uses are truncating
- drive-by cleanup: consolidated computation of kCanOverflow flag for Add/Sub into range inference phase
BUG=v8:2132
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16741002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 11:43:57 +00:00
wingo@igalia.com
f68d6a10f8
Fix crasher when checking for "of", but next token has no literal buffer
...
Also fix a typo in an assertion in scanner.h.
R=mstarzinger@chromium.org
BUG=248025
TEST=mjsunit/regress/regress-crbug-248025.js
Review URL: https://codereview.chromium.org/16549003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 11:30:03 +00:00
dcarney@chromium.org
dbeafbaaff
interceptor return values escape their scope
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16537005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 11:08:46 +00:00
jkummerow@chromium.org
57632e208a
Increase sanity of integer division handling on ARM
...
- In the INT32 BinaryOpStub, fix type feedback collection for DIV,
bringing it in line with other platforms.
- In Lithium codegen, emit proper inlined code, don't call the stub.
- Drive-by fix: assert appropriate CpuFeaturesScope for SDIV.
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/16082008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 10:47:44 +00:00
dslomov@chromium.org
9278a4b7b1
Change ArrayBuffer API and implementation to use embedder-provided allocator.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15855012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-11 10:41:14 +00:00
palfia@homejinni.com
1d4c64591b
MIPS: Fix abs_d instruction in the simulator.
...
The abs_d instruction was implemented wrongly in the simulator,
it doesn't reverse the sign of the -0 number.
This commit fixes the abs_d instruction implementation.
TEST=msjunit/math-abs
BUG=
Review URL: https://codereview.chromium.org/15906014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 21:54:07 +00:00
palfia@homejinni.com
88021e64b1
MIPS: Use compare nil ic only for non-strict equality.
...
Port r15045 (cce366f)
Original commit message:
Strict-equality only has one check and cannot deopt. Should therefore not be part of the stub.
BUG=
Review URL: https://codereview.chromium.org/16690008
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 18:16:27 +00:00
palfia@homejinni.com
eb7e2771a9
MIPS: Generator object "next" method takes optional send value.
...
Port r15028 (258a047)
Original commit message:
Update the generators implementation to make "next" also do the job of
what was previously called "send" by taking an optional argument.
Remove send, and do a bunch of renamings.
BUG=v8:2355, v8:2715
Review URL: https://codereview.chromium.org/16735005
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 18:14:15 +00:00
palfia@homejinni.com
2ebb95071a
MIPS: Fix LoadIC calling convention.
...
Port r15027 (3ffb343)
Original commit message:
The comments in ic-arm.cc::LoadIC indicated that the receiver should be
both in a register and on the stack. This isn't true in fact: the code
is careful to spill the receiver if needed.
This CL also fixes up a mistaken use of this convention in VisitYield.
BUG=
Review URL: https://codereview.chromium.org/16131004
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 18:10:58 +00:00
palfia@homejinni.com
b7e06629f3
MIPS: add a default value for return value
...
Port r15024 (1a76177)
BUG=
Review URL: https://codereview.chromium.org/16005015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 18:07:28 +00:00
yangguo@chromium.org
5cf0cba71a
Fix compilation with gdbjit=on.
...
r14919 forgot three AssertNoAllocation -> DisallowHeapAllocation replacements.
BUG=v8:2719
R=yangguo@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16093041
Patch from Kang-Hao (Kenny) Lu <kennyluck@csail.mit.edu>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15046 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 16:31:55 +00:00
olivf@chromium.org
946ea53264
use compare nil ic only for non-strict equality. strict-equality only has one check and cannot deopt. should therefore not be part of the stub.
...
BUG=
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/16732002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 15:47:23 +00:00
olivf@chromium.org
3a26dda780
revert accidental dcommit
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 15:43:40 +00:00
olivf@chromium.org
23691cf023
also remove the constant
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 15:30:17 +00:00
olivf@chromium.org
73b7ab9ae6
remove equality kind from compare nil ic
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 15:30:02 +00:00
verwaest@chromium.org
b51c0295cc
Prepare push to trunk. Now working on version 3.19.13.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/16730004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 15:10:44 +00:00
mvstanton@chromium.org
4d7e939ed6
Array access fix: g++ darwin 4.2.1 compiler clamped array index to 0 when confronted with negative indices.
...
BUG=247303
R=jkummerow@chromium.org , ulan@chromium.org
Review URL: https://codereview.chromium.org/15855015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 14:44:05 +00:00
hpayer@chromium.org
09495dfea2
Fix store buffer ensure space heuristics.
...
This change results in less scan on scavenge memory chunks.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/15896037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 14:22:41 +00:00
svenpanne@chromium.org
66bb4c5b8d
Improve code for integral modulus calculation.
...
Depending on what we know about the right operand, we basically do 3
different things (and the code is actually structured this way):
* If we statically know that the right operand is a power of 2, we do
some bit fiddling instead of doing a "real" modulus calculation.
This should actually be done on the Hydrogen level, not on the
Lithium level, but this will be a separate CL.
* If type feedback tells us that the right operand is a power of 2, we
do the same as above, but guarded by conditional deoptimization to
make sure that the assumption is still valid. In the long run, we
should make this guard visible on the Hydrogen level to make it
visible for GVN and other optimizations.
* In the general case we only do the minimum steps necessary and don't
try to be too clever, because cleverness actually slows us down on
real-world code.
If we look at the code gerators for LModI, we actually see that we
basically have 3 (4 on ARM) fundamentally different translations. I
don't really like lumping them together, they should probably be
different Lithium instructions. For the time being, I restructured the
generators to make this crystal-clear, at the cost of some duplication
regarding the power-of-2 cases. This will go away when we do the
strength reduction on the Hydrogen level, so I'd like to keep it as it
is for now.
Note that the MIPS part was only slightly restructured, there is still
some work to do there.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/15769010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15034 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 12:05:54 +00:00
mstarzinger@chromium.org
ecc41e30c0
Fix re-initialization of existing double field.
...
R=verwaest@chromium.org
BUG=v8:2717
TEST=mjsunit/regress/regress-2717
Review URL: https://codereview.chromium.org/16735003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 11:55:47 +00:00
yangguo@chromium.org
b0afb77731
Fix parallel recompilation wrt transition maps dependency.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/15896038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 11:33:23 +00:00
verwaest@chromium.org
dbb16eaec3
Lookup transition again after migrating a transition target.
...
R=ulan@chromium.org
BUG=chromium:242332
Review URL: https://chromiumcodereview.appspot.com/16347005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 11:27:09 +00:00
yangguo@chromium.org
1594eca8ed
Fix parallel recompilation wrt initial object/array map dependency.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/16641002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 11:17:48 +00:00
dcarney@chromium.org
b12e6a9c1e
adjust assertions for addition of default value
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16136012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 09:35:47 +00:00
wingo@igalia.com
f88bca9576
Generator object "next" method takes optional send value
...
Update the generators implementation to make "next" also do the job of
what was previously called "send" by taking an optional argument.
Remove send, and do a bunch of renamings.
R=rossberg@chromium.org
BUG=v8:2355, v8:2715
Review URL: https://codereview.chromium.org/16136011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 09:26:18 +00:00
wingo@igalia.com
601e1cf0d5
Fix LoadIC calling convention on ARM
...
The comments in ic-arm.cc::LoadIC indicated that the receiver should be
both in a register and on the stack. This isn't true in fact: the code
is careful to spill the receiver if needed.
This CL also fixes up a mistaken use of this convention in in
VisitYield.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16203004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 09:12:57 +00:00
dcarney@chromium.org
e13aac5fcc
build fix for 15025
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16561011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 08:19:03 +00:00
dcarney@chromium.org
7df1f40b0b
build fix for 15023
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16729002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 07:56:17 +00:00
dcarney@chromium.org
a9ce5bb5ea
add a default value for return value
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16642003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 07:41:16 +00:00
dcarney@chromium.org
8c892ea2a8
do aligned reads in ContainsOnlyOneByte
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16147004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 07:34:58 +00:00
svenpanne@chromium.org
5b514e89ff
Make GCMole happy
...
TBR=yangguo@google.com
Review URL: https://codereview.chromium.org/16544009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15022 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-10 06:37:30 +00:00
peter.rybin@gmail.com
e79ba28aa8
Find breakpoint by PC rather than source position when clearing breakpoint
...
Current approach is to find breakpoint by the statement position that was used when setting breakpoint. This doesn't work when setting breakpoint by anything else but statement position.
(Question: could PC of existing breakpoint change, for example because of recompilation, or this approach is safe)
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/15685010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-09 20:10:29 +00:00
verwaest@chromium.org
3588aa45cd
Take all uses into account to clear int32 truncation.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16656002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 17:28:46 +00:00
plind44@gmail.com
659e0b46f5
MIPS: Baseline for-of implementation.
...
Port r15002 (d2f0fac)
Original commit message:
Add full-codegen support for the ES6 for-of iteration statement.
TEST=mjsunit/harmony/iteration-semantics
BUG=v8:2214
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/15995040
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15015 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 16:59:34 +00:00
peter.rybin@gmail.com
5dde44e431
Fix very strange bug in FindBreakLocationFromAddress algorithm
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/15737023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 16:48:22 +00:00
plind44@gmail.com
d7431f2c6e
MIPS: Fill more branch delay slots.
...
TEST=
BUG=
R=plind44@gmail.com
Review URL: https://codereview.chromium.org/15967006
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15011 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 16:00:19 +00:00
danno@chromium.org
82a73a0676
Prepare push to trunk. Now working on version 3.19.12.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/16234008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 15:58:51 +00:00
danno@chromium.org
b634fdd7b0
Fix presubmit errors
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/16017008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 15:43:56 +00:00
mstarzinger@chromium.org
eb6efbc53a
Add missing AllowHandleDereference to LAllocator::BuildLiveRanges.
...
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/16509004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 15:18:49 +00:00
dslomov@chromium.org
cbb11dbe6c
Neutering API for v8::ArrayBuffer
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/16562005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 15:02:20 +00:00
yangguo@chromium.org
17cfe68015
Enable map dependency to in-flight compilation info.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/16542003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 13:27:03 +00:00
mvstanton@chromium.org
1fc6065b38
CallNewArray sites need the original feedback cell at crankshaft time.
...
This CL addresses a TODO in the hydrogen-based array constructor code,
to pass through the actual type feedback cell, rather than the contents
of the cell.
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/16408005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15004 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 13:21:20 +00:00
olivf@chromium.org
9595a691b0
Fix InlineCacheState for ToBoolean and CompareIC
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/16613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 13:11:17 +00:00
wingo@igalia.com
b29a78fb02
Baseline for-of implementation
...
Add full-codegen support for the ES6 for-of iteration statement.
R=mstarzinger@chromium.org , rossberg@chromium.org
TEST=mjsunit/harmony/iteration-semantics
BUG=v8:2214
Review URL: https://codereview.chromium.org/15288011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 11:12:21 +00:00
verwaest@chromium.org
8afeaabe57
Allow boundscheck elimination to work on Smi keys.
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16035016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 11:00:39 +00:00
dslomov@chromium.org
b3282c290e
Recording array buffer views.
...
R=hpayer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/15562008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 10:52:11 +00:00
verwaest@chromium.org
a3dccd15b0
Don't ignore the actual input representation in UnaryMathOperations
...
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16035014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 09:11:33 +00:00
verwaest@chromium.org
cb3645fee9
Infer the range of Math.abs
...
R=jkummerow@chromium.org , svenpanne@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16268009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 09:07:53 +00:00
yangguo@chromium.org
987080415e
Remove use of Isolate::Current in regexp macro assemblers.
...
BUG=
R=hpayer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16026020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 08:38:05 +00:00
dcarney@chromium.org
6ee35b3ed9
lint failure with latest depot_tools
...
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/15795006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-07 07:56:49 +00:00
adamk@chromium.org
0df3857005
Remove redudant deleted_count argument from EnqueueSpliceRecord
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16438010
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14989 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 19:15:40 +00:00
palfia@homejinni.com
72f7abb4c9
MIPS: Assign less environments.
...
Port r14983 (960d6de)
BUG=
Review URL: https://codereview.chromium.org/16567002
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14988 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 18:59:11 +00:00
rossberg@chromium.org
372457a793
Allow smis for singleton types
...
To that end, introduce a generic Box struct.
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16562003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 15:40:28 +00:00
yangguo@chromium.org
8165d49173
Do not GC prior to every parallel recompile.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/16410005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 15:32:39 +00:00
yangguo@chromium.org
82c0ea4b04
Fix bogus assertions for tracing and verify.
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/15778012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 15:30:46 +00:00
wingo@igalia.com
cb0d146862
Add initial parser support for harmony iteration
...
This commit adds initial parser support for harmony iteration.
Specifically, it will parse:
for (x of y) {}
for (let x of y) {}
for (var x of y) {}
The semantics are still unimplemented.
TEST=mjsunit/harmony/for-of-syntax
BUG=v8:2214
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/15300018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14984 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 14:38:26 +00:00
verwaest@chromium.org
1b4cb2aac4
Assign less environments
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16556002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14983 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 14:31:44 +00:00
verwaest@chromium.org
16199c63d8
Initialized representations of computed values to None.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14721009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14982 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 14:21:35 +00:00
ulan@chromium.org
27d01cf8b2
Prepare push to trunk. Now working on version 3.19.11.
...
R=jkummerow@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/16473005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 14:13:44 +00:00
rossberg@chromium.org
919d64adce
Add type field to AST expression nodes
...
More importantly, do a bunch of renamings of incidental existing "types" to avoid actual and potential name clashes (and also to improve consistency).
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16549002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 13:28:22 +00:00
mvstanton@chromium.org
701f356bac
Move runtime array constructor functions from builtins.cc to runtime.cc.
...
Not only is runtime.cc a better location, but situations arise soon where we'll
want to make runtime calls to these functions.
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/16399007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 13:22:42 +00:00
dcarney@chromium.org
6f5d899248
add function to test whether string contents are definitely one byte
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/16530003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 13:16:52 +00:00
ulan@chromium.org
87b2f01873
Revert "Make more GCs in idle notification handler." because of performance
...
regression.
R=jkummerow@chromium.org
BUG=246141
Review URL: https://chromiumcodereview.appspot.com/15864010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14974 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 12:24:05 +00:00
mstarzinger@chromium.org
9b21eb910e
Fix TypedArray object printer output.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/16545002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14970 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 12:05:22 +00:00
mvstanton@chromium.org
8ff86a6998
Fix Android build issue 247303
...
ARM v7 support isn't available in the android build snapshot.
BUG=247303
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/16364007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 11:58:02 +00:00
mstarzinger@chromium.org
232f8d9865
Fix TypedArray error for parameterless constructor.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/16542002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 11:37:40 +00:00
rodolph.perfetta@gmail.com
e19a55df0d
RegExp macro assembler clean up.
...
Removes never called methods and fix a bug on ARM.
BUG=none
TEST=none
Review URL: https://chromiumcodereview.appspot.com/16280005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 10:17:07 +00:00
mvstanton@chromium.org
a9a80fb422
Allocation type info advice consumed in bailout path leads to assert failure.
...
If the runtime is taken for a constructor like "new Array(100000)", where
allocation site info already led to an elements kind of DOUBLE, then the runtime
would fail to transition the array to dictionary mode. Better to recognize this
case and avoid wasting time by following the advice. Furthermore, it offers a
way to recognize that the array should be in dictionary mode (though a future
checkin will capitalize on that).
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/15993012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-06 09:26:30 +00:00
danno@chromium.org
f6caad4b6b
Fix EntryHookStub on ia32 and x64.
...
These stubs were computing the return address location incorrectly.
Add testing for same.
R=danno@chromium.org
Review URL: https://codereview.chromium.org/15769017
Patch from Sigurður Ásgeirsson <siggi@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14962 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 21:02:29 +00:00
palfia@homejinni.com
b8714d72d1
MIPS: Add LoadIC_Slow builtin and use it for loading properties from primitive values.
...
Port r14950 (12748bb)
Original commit message:
This fixes recent performance regressions on Dromaeo.
BUG=chromium:242512
Review URL: https://codereview.chromium.org/16452011
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 17:52:44 +00:00
verwaest@chromium.org
8bd4199fdd
Don't force representations in the loop builder.
...
Additionally, infer None-typed CompareIDAndBranch to Smi+actual input.
R=jkummerow@chromium.org
Review URL: https://chromiumcodereview.appspot.com/16365004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14960 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 17:24:14 +00:00
palfia@homejinni.com
b556dc962c
MIPS: Fix LStoreKeyed error when tracing instruction.
...
Port r14951 (01dbfe2)
Original commit message:
LStoreKeyed can have a NULL value(), when we recognize we are storing a constant
hole value.
BUG=
Review URL: https://codereview.chromium.org/16171019
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14959 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-06-05 16:45:19 +00:00