svenpanne@chromium.org
abe807db7f
ES6: Map and Set needs to normalize minus zero
...
BUG=v8:3069
LOG=Y
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/147143003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18892 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-29 07:27:05 +00:00
ishell@chromium.org
d330d4801d
Load elimination fix with a test case.
...
R=titzer@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/143413019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-28 16:45:04 +00:00
mvstanton@chromium.org
371d6f6a98
We shouldn't throw under FLAG_debug_code, rather abort.
...
Throwing under FLAG_debug_code confuses the rest of our infrastructure
which expects a safe point at the site of call into the runtime
for throw. We were doing that to make a clusterfuzz test happy, but
the better solution is to assert/abort under debug_code, and prevent
clusterfuzz from fuzzing on internal APIs that crash on incorrect
values.
We'll need to alter the fuzzer to turn off fuzzing for:
string-natives.js
lithium/SeqStringSetChar.js
regress/regress-seqstrsetchar-ex3.js
regress/regress-seqstrsetchar-ex1.js
regress/regress-crbug-320922.js
So as to prevent the fuzzer from running
%_OneByteSeqStringSetChar() and
%_TwoByteSeqStringSetChar().
BUG=
R=hpayer@chromium.org , machenbach@chromium.org
Review URL: https://codereview.chromium.org/139903005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-28 11:53:11 +00:00
ishell@chromium.org
1776dffa56
Make String.prototype.{starts,ends}With
throw when passing a regular expression
...
Contributed by Mathias Bynens <mathiasb@opera.com>.
TEST=mjsunit/harmony
BUG=v8:3070
LOG=Y
R=arv@chromium.org , ishell@chromium.org
Review URL: https://codereview.chromium.org/120683002
Patch from Mathias Bynens <mathiasb@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-28 10:31:05 +00:00
hpayer@chromium.org
9e462504fb
Turn off global pretenuring when allocation site pretenuring is in use.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/133803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-28 09:47:03 +00:00
machenbach@chromium.org
fd4a006eb3
[Sheriff] Fix status file entry.
...
BUG=
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/148183007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 16:46:16 +00:00
hpayer@chromium.org
e624346e68
Skip regression test 320948 temporarily.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/131503008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 15:59:10 +00:00
hpayer@chromium.org
86cf9ca690
Enable concurrent sweeping.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/146833012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 14:37:22 +00:00
dcarney@chromium.org
d2a4bd32fb
don't anger clang
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/141433016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18848 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 10:06:37 +00:00
alph@chromium.org
89ffd30537
Allow arbitrary names for weak references in heap snapshots.
...
LOG=N
BUG=
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/146843003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18846 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 09:37:02 +00:00
dcarney@chromium.org
1b30de8b55
Fix issue with context not being saved on x64 introduced in 144543004
...
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/143333003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18845 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 08:12:59 +00:00
bmeurer@chromium.org
361095d397
Revert "Allow arbitrary names for weak references in heap snapshots."
...
This reverts commit r18838 for breaking build with clang. Errors are:
../../src/heap-snapshot-generator.cc:1217:53: error: empty macro arguments were standardized in C99 [-Werror,-pedantic]
EXTRACT_CONTEXT_FIELD(OPTIMIZED_FUNCTIONS_LIST, , optimized_functions_list);
../../src/heap-snapshot-generator.cc:1218:48: error: empty macro arguments were standardized in C99 [-Werror,-pedantic]
EXTRACT_CONTEXT_FIELD(OPTIMIZED_CODE_LIST, , optimized_code_list);
../../src/heap-snapshot-generator.cc:1219:50: error: empty macro arguments were standardized in C99 [-Werror,-pedantic]
EXTRACT_CONTEXT_FIELD(DEOPTIMIZED_CODE_LIST, , deoptimized_code_list);
../../src/heap-snapshot-generator.cc:1220:46: error: empty macro arguments were standardized in C99 [-Werror,-pedantic]
EXTRACT_CONTEXT_FIELD(NEXT_CONTEXT_LINK, , next_context_link);
TBR=alph@chromium.org
Review URL: https://codereview.chromium.org/145583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-27 06:47:42 +00:00
alph@chromium.org
f4a470d5bb
Allow arbitrary names for weak references in heap snapshots.
...
LOG=N
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/145353003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18838 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 17:18:34 +00:00
dslomov@chromium.org
1a67b7f86a
External Array renaming and boilerplate scrapping
...
Replaced symbolic names with correct JS name (byte -> int8, unsigned int -> uint32 etc).
Using macros to scrap the boilerplate
BUG=
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/145133013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18835 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 16:01:15 +00:00
alph@chromium.org
01a6c8ae35
Mark weak fields of JSArrayBuffer and JSArrayBufferView as weak in heap snapshot.
...
BUG=337144
LOG=N
R=ulan@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/138443009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18830 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 15:10:09 +00:00
rossberg@chromium.org
fa0f929fee
Use rand not random
...
Should make VS happier.
R=bmeurer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/145173012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18817 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 11:58:11 +00:00
verwaest@chromium.org
21532ddfdc
Reland ArrayPop / ArrayPush.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/138443012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18814 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 11:47:53 +00:00
rossberg@chromium.org
2311b678ae
Type representation converter
...
R=danno@chromium.org
BUG=
Review URL: https://codereview.chromium.org/145083007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 11:47:47 +00:00
machenbach@chromium.org
cde3ed1fe3
Speed up some mjsunit test cases and clean up test expectations for arm and mips.
...
Many skipped test cases already run very fast. Removing the corresponding expectations.
BUG=
R=jkummerow@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/138503008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18812 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 11:36:45 +00:00
jkummerow@chromium.org
ee4e034d70
Revert broken ArrayPop changes
...
This reverts:
r18749 "Reland (and fix) "Add hydrogen support for ArrayPop, and remove the handwritten call stubs."",
r18790 "Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft.", and
r18798 "MIPS: Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft."
For causing crashes on Canary.
BUG=chromium:337686
LOG=N
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/146003006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18805 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-24 08:32:50 +00:00
machenbach@chromium.org
ca0d99196d
Disable SetAllocationTimeout in fuzz-natives test since it has varargs.
...
BUG=
R=mstarzinger@chromium.org
TBR=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/145803002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18791 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 16:33:35 +00:00
verwaest@chromium.org
6b60546b16
Remove ArrayPush from the custom call generators, and instead call directly to the handler in crankshaft.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/137693003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18790 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 16:20:25 +00:00
hpayer@chromium.org
83a1df2354
Remove Heap::MaxRegularSpaceAllocationSize and use Page::MaxRegularHeapObjectSize instead.
...
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/141653016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18776 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 13:02:27 +00:00
hpayer@chromium.org
a92e87e100
Make the full object memory size of a page available for a single allocation.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/145493004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18774 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 12:13:20 +00:00
machenbach@chromium.org
c159485fb1
[Sheriff] Temporarily mark test as flaky.
...
BUG=
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/145593002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18770 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-23 10:54:30 +00:00
dslomov@chromium.org
2f005e1384
Fix clang build.
...
See http://blog.llvm.org/2009/12/dreaded-two-phase-name-lookup.html .
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/134643025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18756 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-22 15:06:36 +00:00
verwaest@chromium.org
c478b6dc60
Ensure we don't overwrite transitions in SetPropertyIgnoreAttributes.
...
BUG=326155
LOG=y
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/134733011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18754 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-22 14:02:00 +00:00
palfia@homejinni.com
787aa693e3
MIPS: Add missing cctests of DoubleToIStub (r16322).
...
BUG=
R=jkummerow@chromium.org , plind44@gmail.com
Review URL: https://codereview.chromium.org/143453003
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18751 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-22 13:44:00 +00:00
verwaest@chromium.org
f30330325e
Reland (and fix) "Add hydrogen support for ArrayPop, and remove the handwritten call stubs."
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/144913003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-22 13:22:58 +00:00
hpayer@chromium.org
1474d0510f
Increase the number of allocations in OptimizedPretenuringdoubleArrayLiterals test to make sure that pretenuring decisions are not flaky on the tests bots.
...
BUG=
Review URL: https://codereview.chromium.org/129783006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-22 12:59:25 +00:00
dslomov@chromium.org
33d7e64b51
ES6: Implement Object.setPrototypeOf
...
This reverts commit bdc89ae76c15f3ef2626f8849744500248aec3ba.
This is a revert of the revert with test/webkit updated as needed.
Original CL Description:
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof
This just exposes the internal %SetPrototype and adds all the required
type checks as specified.
BUG=v8:2675
LOG=Y
R=dslomov@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/144193005
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18739 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-22 12:15:57 +00:00
svenpanne@chromium.org
b4949cfd62
Fixed floor-of-div optimization.
...
We removed an HDiv by hand which was still used by an HChange. The
solution is letting dead code removal do the cleanup.
Removed a fragile "optimization" (looking through an HChange), too,
this obviously never triggered and is hard to get right given all our
global invariants and state/type/... changes.
The repro is a bit tricky, because you need inlining to make our
representations and types disagree in this case.
LOG=y
BUG=334708
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/143903016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-22 11:54:51 +00:00
rossberg@chromium.org
0d906a8bdb
Zonify types in compiler frontend
...
Clean up some zone/isolate handling in AST and its visitors on the way.
(Based on https://codereview.chromium.org/103743004/ )
R=jkummerow@chromium.org , titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/102563004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-21 16:22:52 +00:00
rossberg@chromium.org
80195df5d8
Silence another VS warning
...
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/143973004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-21 14:41:48 +00:00
rossberg@chromium.org
928d71f83b
Retry landing "Implement zone-allocated types"
...
Works around apparent scoping bug in VS, the only change to before being a method rename in the test suite:
--- a/test/cctest/test-types.cc
+++ b/test/cctest/test-types.cc
@@ -153,7 +153,7 @@ struct ZoneRep {
return reinterpret_cast<ZoneList<ZoneType*>*>(AsTagged(t));
}
- static Zone* Region(Zone* zone, Isolate* isolate) { return zone; }
+ static Zone* ToRegion(Zone* zone, Isolate* isolate) { return zone; }
};
@@ -168,7 +168,7 @@ struct HeapRep {
static Object* AsConstant(Handle<Type> t) { return Box::cast(*t)->value(); }
static FixedArray* AsUnion(Handle<Type> t) { return FixedArray::cast(*t); }
- static Isolate* Region(Zone* zone, Isolate* isolate) { return isolate; }
+ static Isolate* ToRegion(Zone* zone, Isolate* isolate) { return isolate; }
};
@@ -183,7 +183,7 @@ struct Tests : Rep {
isolate(CcTest::i_isolate()),
scope(isolate),
zone(isolate),
- T(Rep::Region(&zone, isolate), isolate) {
+ T(Rep::ToRegion(&zone, isolate), isolate) {
}
static void CheckEqual(TypeHandle type1, TypeHandle type2) {
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/143693003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-21 14:14:12 +00:00
machenbach@chromium.org
1864f7388e
Add infrastructure for skipping tests in GC stress mode.
...
Also move the GC stress configuration from the buildbot to the test runner.
BUG=
R=jkummerow@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/141653008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-21 12:41:25 +00:00
machenbach@chromium.org
63cd984538
[Sheriff] Temporarily mark array-literal-feedback as flaky for GC stress.
...
The test is blocking the v8 lkgr. It will be unmarked again after there is infrastructure to disable it on GC stress only.
BUG=
TBR=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/143463004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18700 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-21 07:58:54 +00:00
machenbach@chromium.org
3be4500877
[Sheriff] Temporarily mark two mjsunit tests as flaky.
...
The tests are blocking the v8 lkgr. They will be unmarked again after there is infrastructure to disable them on GC stress only.
TBR=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/139343008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18698 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-20 19:05:31 +00:00
titzer@chromium.org
5771b0975a
Fix representation requirement in HReturn.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/143523002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18697 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-20 19:00:11 +00:00
verwaest@chromium.org
9f64f43a1c
Turn ArrayPush into a stub specialized on the elements kind and argc.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/143213003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18696 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-20 17:09:24 +00:00
jochen@chromium.org
c970c1cb6f
Update Isolate::RequestGarbageCollection after r18691
...
BUG=none
R=hpayer@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/143403002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18695 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-20 15:44:03 +00:00
dslomov@chromium.org
5b7b4b99b7
Revert "ES6: Implement Object.setPrototypeOf"
...
This reverts commit r18685 for breaking WebKit tests.
TBR=arv@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18687 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-20 10:59:07 +00:00
dslomov@chromium.org
1e3a14da44
ES6: Implement Object.setPrototypeOf
...
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.setprototypeof
This just exposes the internal %SetPrototype and adds all the required
type checks as specified.
BUG=v8:2675
LOG=Y
R=dslomov@chromium.org , rossberg@chromium.org
Review URL: https://codereview.chromium.org/141913002
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18685 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-20 10:38:01 +00:00
dcarney@chromium.org
f93f8ded96
String:WriteUtf8: Add REPLACE_INVALID_UTF8 option
...
This patch makes String::WriteUtf8 replace invalid code points (i.e. unmatched
surrogates) with the unicode replacement character when REPLACE_INVALID_UTF8 is
set. This is done to avoid creating invalid UTF-8 output which can lead to
compatibility issues with software requiring valid UTF-8 inputs (e.g. the
WebSocket protocol requires valid UTF-8 and terminates connections when invalid
UTF-8 is encountered).
R=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/121173009
Patch from Felix Geisendörfer <haimuiba@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-20 09:52:54 +00:00
verwaest@chromium.org
ef52aeb701
Remove special ArrayCode CallIC.
...
Once Call ICs are replaced by LoadIC + CallFunctionStub, we'll need a new way
of tracking this information.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/141073006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18662 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 11:24:36 +00:00
mvstanton@chromium.org
155ef100e9
Fix logic error in assert in IsUndeclaredGlobal()
...
Recent changes in IC logic meant that CallStubs no longer use the Contextual bit. IsUndeclaredGlobal() needed to adjust for that.
In fact, now the CL has morphed to remove the notion of storing contextual state in the IC at all, it just becomes some extra ic state of the load ic. This took some adjustment in harmony code to use the global receiver for certain stores.
Now it's clearer that only LoadICs actually record any information about contextual or not.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/140943002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18660 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 11:08:24 +00:00
svenpanne@chromium.org
e8f935a630
Various extension-related cleanup and simplifications.
...
Removes the embarrassing "static"s, shuffles some code around, doing various cleanups on the way.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/130213009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18659 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 10:52:00 +00:00
dcarney@chromium.org
7cee52948f
Fix stub-invoked setter callback handling.
...
When invoking a setter callback for a property using
JSObject::SetPropertyWithCallback(),the callback arguments includes
a correct pair of receiver and holder objects.
Such a pair of _possibly different_ arguments (receiver, holder) must
also be supplied when invoking the same setter callback from JITed
code, when the setter is invoked through the StoreCallbackProperty
stub.
An example where this matters are the accessor properties kept on the
global scope of Worker (i.e., properties kept on the global object
itself, and not on its prototype.) Conflating the receiver with the
holder leads to general confusion when attempting to fetch out the
wrapper object.
LOG=N
R=dcarney@chromium.org , dcarney
BUG=239669
Review URL: https://codereview.chromium.org/139263008
Patch from Sigbjorn Finne <sigbjornf@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18658 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-17 10:34:43 +00:00
dslomov@chromium.org
5da41be7b8
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18651 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 17:08:45 +00:00
dslomov@chromium.org
34eeeb8953
Revert "Implement in-heap backing store for typed arrays."
...
This reverts commit r18649 for breaking Linux/nosnap and Win64 tests.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/140793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18650 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 16:00:36 +00:00
dslomov@chromium.org
97040ce67b
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=18646
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18649 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 15:01:27 +00:00
dslomov@chromium.org
95f572389e
Revert "Implement in-heap backing store for typed arrays."
...
This reverts commit r18646 for breaking Win32 build.
TBR=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/132233012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18647 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:26:15 +00:00
dslomov@chromium.org
0c960c2e96
Implement in-heap backing store for typed arrays.
...
This adds a fixed array sub-type that will represent a backing store for
typed arrays allocated with TypedArray(length) construtor.
R=mvstanton@chromium.org , verwaest@chromium.org
Review URL: https://codereview.chromium.org/101413006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18646 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 14:18:37 +00:00
svenpanne@chromium.org
b25bb230cd
Removed apiutils.h and related cleanup.
...
ExtensionConfiguration is just a simple container for extension names
(in a perfect world we would use vector<string> and range-based for
loops), and HandleScopeData was in the totally wrong place. Some
additional cleanup on the way, e.g. using the null pattern behind our
external API.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/139393002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18632 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-16 08:17:40 +00:00
ulan@chromium.org
2638dca48f
Make cells pointing to JSObjects weak in optimized code.
...
This is done similar to weak embedded objects in optimized code (r17102). The
reference from optimized code to a cell is treated weakly in marking visitors
if the cell points to a JSObject. After marking we iterate over all cells
embedded in optimized code. If a cell is not marked but its value is marked,
then we revive the cell by marking it. Otherwise, the cell value is dead, so
we mark the code for deoptimization.
BUG=v8:2073
TEST=cctest/test-heap/CellsInOptimizedCodeAreWeak
LOG=Y
R=hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/117483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18616 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 11:42:19 +00:00
machenbach@chromium.org
c598b0c059
[Sheriff] Mark cpu profiler test as flaky on arm.
...
BUG=v8:2999
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/138183006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-15 08:06:02 +00:00
machenbach@chromium.org
5b2b13fc30
[Sheriff] Mark cpu profiler test as flaky on windows.
...
This is fails constantly on windows since the XP->Win7 bot upgrade.
BUG=v8:3055
R=jkummerow@chromium.org
TBR=jkummerow@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/133153006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 19:26:39 +00:00
verwaest@chromium.org
53f46c5214
Get rid of ContextualMode for call ICs.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/137083002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 16:15:05 +00:00
mstarzinger@chromium.org
4d338985b9
Closed generator returns a completed object instead of throwing a error
...
From ES6 rev20 draft, closed generator returns completed object (the
value is `undefined` and done is `true`).
Since a error thrown in generator is propagated to the caller without
setting status of a thrown generator to "completed", once a generator is
suspended by a error, status becomes "executing" forever. This is filed
as v8:3096
LOG=N
BUG=v8:3097
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/136003003
Patch from Yusuke Suzuki <yusukesuzuki@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 15:19:34 +00:00
jkummerow@chromium.org
be4c1bdac2
Fix test after r18586
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/138063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 14:00:10 +00:00
jkummerow@chromium.org
1ed94acf0c
Turn Runtime_MigrateInstance into Runtime_TryMigrateInstance
...
because it must not cause lazy deopts because it is called from deferred code that cannot handle lazy deopts.
Hat tip to Ben for doing most of the debugging work, and to Toon for writing the regression test.
BUG=chromium:315252
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/131243003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 13:41:09 +00:00
verwaest@chromium.org
f2245a9cf9
Make the strict-mode calling convention for contextual calls the default one.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/131663003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 12:04:10 +00:00
bmeurer@chromium.org
be986094a3
Use std:: on symbols declared in C++-style C headers.
...
Some libraries (e.g. Dinkumware) perform strict checks on whether
the symbols defined in classic C library headers (e.g. <stdio.h>),
or in C++-style C library headers (e.g. <cmath>) are used correctly
(respectively, in the global namespace, or in namespace std).
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/121303005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-14 09:57:05 +00:00
hpayer@chromium.org
dcf7f73ec0
Enable allocation site pretenuring.
...
Disable elements-kind.js unit test temporarily on gc stress builders.
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/136813002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 17:11:36 +00:00
marja@chromium.org
e9c8de04da
Fix r18556; tests were missing handlescopes.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/133763005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 11:15:06 +00:00
marja@chromium.org
21f1ca5850
Remove ScriptData::PreCompile which takes const char*.
...
The version taking a Handle should be used instead.
It's not used by Chromium and complicates the ongoing lexer work.
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/136413003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18556 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 10:51:40 +00:00
machenbach@chromium.org
eb8056f285
[Sheriff] Revert "Turn on allocation site pretenuring."
...
This reverts commit r18547 for breaking the GC stress builders.
BUG=
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/136323002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-13 08:15:56 +00:00
jarin@chromium.org
c0f622a45b
Fix of Hydrogen environment building for function "apply" calls.
...
BUG=
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/133773002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-11 13:59:04 +00:00
hpayer@chromium.org
85b6164ef7
Turn on allocation site pretenuring.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/133993006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 20:31:03 +00:00
rossberg@chromium.org
e232d6a691
[Sheriff] Revert "Turn on allocation site pretenuring."
...
This reverts commit d57b17889a300d0978f8ed104d1274c9838904a6.
TBR=mvstanton@chromium.org
BUG=
Review URL: https://codereview.chromium.org/134113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 15:35:19 +00:00
rossberg@chromium.org
99359d389c
Revert "Implement zone-allocated types"
...
This reverts commit 4308974b16d1ee67d9f64d797c5ea64ffaab51df.
TBR=machenbach@chromium.org
BUG=
Review URL: https://codereview.chromium.org/133353005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 15:33:37 +00:00
rossberg@chromium.org
d849dfa5d4
Implement zone-allocated types
...
More template magic FTW.
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/103743004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 14:43:48 +00:00
mvstanton@chromium.org
70436f1057
Turn on allocation site pretenuring.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/133883002
Patch from Hannes Payer <hpayer@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 14:35:58 +00:00
rossberg@chromium.org
cb28b7f837
Retry "Templatise type representation" after making clang happy
...
The only thing different now is line types.h:208/236, which had a static_cast<Type*> before.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/133683002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 12:19:01 +00:00
hpayer@chromium.org
4ef951cf43
Allocation site pretenuring.
...
Pretenuring decisions are made based on allocation site lifetime statistics.
BUG=
R=mstarzinger@chromium.org , mvstanton@chromium.org
Review URL: https://codereview.chromium.org/96783002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18532 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 12:11:54 +00:00
bmeurer@chromium.org
967d6499d2
Revert "Temporarily disable performance.now() in the d8 shell."
...
This reverts commit r18529.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/133523003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 12:07:29 +00:00
bmeurer@chromium.org
1b1c27d916
Temporarily disable performance.now() in the d8 shell.
...
Review URL: https://codereview.chromium.org/133663002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 11:17:57 +00:00
machenbach@chromium.org
a660f31d68
[Sheriff] Make flaky cpu profiler test.
...
BUG=v8:2999
TBR=yurys@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/133443003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-10 09:02:24 +00:00
machenbach@chromium.org
8ffcd2a281
[Sheriff] Revert "Templatise type representation" and "Fix Mac warnings".
...
This reverts commit r18521 and r18522 for breaking mac and win builders.
BUG=
TBR=rossberg@chromium.org
Review URL: https://codereview.chromium.org/132493002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-09 19:52:15 +00:00
rossberg@chromium.org
1c33a2d840
Templatise type representation
...
This is to support both heap- and zone-allocated types in the future (the latter not yet implemented).
Also, handlify the type API some more.
R=titzer@chromium.org
BUG=
Review URL: https://codereview.chromium.org/107933005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-09 17:12:48 +00:00
rossberg@chromium.org
014a86ef8c
ES6: Add Object.getOwnPropertySymbols
...
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-object.getownpropertysymbols
This allows you to get the symbols used as property keys for an object.
var object = {};
var sym = Symbol();
object[sym] = 42;
assert(Object.getOwnPropertySymbols(object)[0] === sym);
This is only available with --harmony-symbols
BUG=v8:3049
R=rossberg@chromium.org , rossberg
LOG=Y
Review URL: https://codereview.chromium.org/108083005
Patch from Erik Arvidsson <arv@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-09 15:57:30 +00:00
rossberg@chromium.org
3286bc71e3
Promises: some adaptations to spec
...
- Rename Promise.{resolved,rejected,deferred} to Promise.{resolve,reject,defer}
- Rename Promise.one to Promise.race
- Make all failures asynchronous, EXCEPT type errors for resolver
- Disallow non-construct call to Promise constructor
- Don't make combinators go through public this.defer
Also, don't bother using IsCallable.
R=dslomov@chromium.org , yhirano@chromium.org
BUG=
Review URL: https://codereview.chromium.org/99573002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18515 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-09 13:00:56 +00:00
svenpanne@chromium.org
8f7720aa25
Add Isolate parameter to HandleScope::NumberOfHandles.
...
LOG=y
BUG=324225
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/128233002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18510 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-09 10:37:15 +00:00
ulan@chromium.org
8db7aaa03d
Correctly handle instances without elements in polymorphic keyed load/store.
...
BUG=331416
TEST=mjsunit/regress/regress-331416.js
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/121893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18484 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 09:57:28 +00:00
ulan@chromium.org
43d1c23e2a
Fix selection of popular pages in store buffer.
...
BUG=331444
TEST=mjsunit/regress/regress-331444.js
LOG=Y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/125983002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 09:49:37 +00:00
jkummerow@chromium.org
7761059a98
Fix d8's Shell::ReadBuffer after r18227
...
BUG=v8:3085
LOG=N
R=jochen@chromium.org
Review URL: https://codereview.chromium.org/127853003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 09:48:38 +00:00
mstarzinger@chromium.org
f57eff4635
Adapt Webkit test expectations to r18480.
...
R=jkummerow@chromium.org
LOG=N
BUG=v8:3082
TEST=webkit/fast/js/Object-getOwnPropertyNames
Review URL: https://codereview.chromium.org/127853002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 09:30:49 +00:00
mstarzinger@chromium.org
127c660eab
Upgrade Number constructor to ES6.
...
Add missing constants, predicates and functions to the Number
constructor to have it offer what ES6 now specifies.
That is, extend it with:
* isInteger(), isSafeInteger()
* parseInt(), parseFloat()
* EPSILON, MIN_SAFE_INTEGER, MAX_SAFE_INTEGER
LOG=N
R=mstarzinger@chromium.org
BUG=v8:3082
Review URL: https://codereview.chromium.org/124573002
Patch from Sigbjorn Finne <sigbjornf@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 09:09:49 +00:00
haitao.feng@intel.com
b712779479
Refactor loading a pointer into a register instruction for X64
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/64453002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 07:02:02 +00:00
svenpanne@chromium.org
005c0d8178
Prepare removal of ObjectTemplate::New without Isolate parameter.
...
LOG=y
BUG=324225
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/124943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-08 06:53:31 +00:00
mvstanton@chromium.org
fc5834343f
Remove flag track-allocation-sites.
...
The flag has been on in the build for ~9 months, and we aren't likely to turn it off. The only customer of the flag is a set of tests that want to verify transitioning behavior in isolation. This CL removes the flag and updates those tests to get what they want without the flag.
R=verwaest@chromium.org
Committed: https://code.google.com/p/v8/source/detail?r=18385
Review URL: https://codereview.chromium.org/104923010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 15:58:25 +00:00
jarin@chromium.org
acf24331e3
Fixed Lithium environment generation bug for captured objects (created
...
by escape analysis). Added several tests that expose the bug.
Summary:
LCodegen::AddToTranslation assumes that Lithium environments are
generated by depth-first traversal, but LChunkBuilder::CreateEnvironment
was generating them in breadth-first fashion. This fixes the
CreateEnvironment to traverse the captured objects depth-first.
Note:
It might be worth considering representing LEnvironment by a list
with the same order as the serialized translation representation
rather than having two lists with a subtle relationship between
them (and then serialize in a slightly different order again).
R=titzer@chromium.org , mstarzinger@chromium.org
LOG=N
BUG=
Review URL: https://codereview.chromium.org/93803003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 14:36:26 +00:00
mvstanton@chromium.org
e3e7daf01c
We need to know if a load, store or call IC is assumed
...
to be on the global object. Previously, this information
was stored in RelocInfo. A more logical place for this kind
of structural information is ExtraICState. Storing it there
makes it easier for us to gather type feedback from these
sites too.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/96083005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 14:14:34 +00:00
verwaest@chromium.org
4615e9edac
Reland v8:18458 "Load the global proxy from the context of the target function."
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/104013008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 10:46:39 +00:00
rossberg@chromium.org
2879f2104c
Revert "Load the global proxy from the context of the target function."
...
This reverts commit https://code.google.com/p/v8/source/detail?r=18458 , since it exhibits a bug that breaks some tests.
TBR=verwaest@chromium.org
BUG=
Review URL: https://codereview.chromium.org/93863006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 09:55:25 +00:00
verwaest@chromium.org
5b40c38679
Load the global proxy from the context of the target function.
...
BUG=
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/111613003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-07 08:21:17 +00:00
ulan@chromium.org
343813c59e
Revert r18451 "Revert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak build."" since necessary WebKit changes are rolled in Chromium.
...
TBR=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/119753008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 14:31:17 +00:00
ulan@chromium.org
163386c700
Revert r18449 "Reland r18383: More API cleanup." and r18450 "Unbreak build."
...
because of broken WebKit bots.
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/119323006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 14:13:21 +00:00
svenpanne@chromium.org
08354f8f07
Unbreak build.
...
Test/update/commit race condition... >:-(
TBR=ulan@chromium.org
Review URL: https://codereview.chromium.org/123383003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 12:21:48 +00:00
svenpanne@chromium.org
1143ab132e
Reland r18383: More API cleanup.
...
* Removed String::Empty, Number::New, Integer::New, Integer::NewFromUnsigned, FunctionTemplate::New and Object::New without Isolate* parameter.
* Removed Integer::New and Integer::NewUnsigned with weird argument order.
Chrome CLs matching this change have been landed.
TBR=dcarney@chromium.org
LOG=y
BUG=324225
Review URL: https://codereview.chromium.org/108783007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 11:56:33 +00:00
jochen@chromium.org
e3fa6d67ca
Avoid duplication of a hidden & inherited prototype's properties.
...
In Runtime_GetLocalPropertyNames(), the hidden prototypes of an object
are also consulted when deriving the property name set. However, if
given a function object and its template was inherited from the
template of one of its hidden prototypes, that hidden prototype's
property accessors will be present on the object already. Unwanted
duplicates will therefore appear.
Hence, go through the property names that the hidden prototypes
contribute and remove any already occurring ones.
Assumed to be a rare constellation, so the cost of this extra pass is
considered acceptable.
LOG=N
R=dcarney@chromium.org , jochen@chromium.org , rossberg@chromium.org
BUG=269562
Review URL: https://codereview.chromium.org/116533003
Patch from Sigbjorn Finne <sof@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-03 11:19:13 +00:00
m.m.capewell@googlemail.com
d6aabbdcc7
ARM: Optimize truncating division and fix sim
...
Optimize code generated for DivI Lithium instruction when handling division
where the result is int32. Also, fix the ARM simulator to give the correct
answer for kMinInt / -1.
TEST=Division tests added to test-assembler-arm.cc
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/102623003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 16:36:21 +00:00
bmeurer@chromium.org
0899da3697
Add support for the QNX operating system.
...
This patch contains contributions from the following members of the
BlackBerry Web Technologies team:
Eli Fidler <efidler@blackberry.com>
Konrad Piascik <kpiascik@blackberry.com>
Jeff Rogers <jrogers@blackberry.com>
Cosmin Truta <ctruta@blackberry.com>
Peter Wang <peter.wang@torchmobile.com.cn>
Xiaobo Wang <xiaobwang@blackberry.com>
Ming Xie <mxie@blackberry.com>
Leo Yang <leoyang@blackberry.com>
R=bmeurer@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/61153009
Patch from Cosmin Truta <ctruta@blackberry.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-01-02 07:04:05 +00:00
ulan@chromium.org
711bcbb0e3
ARM: fix loading of global object in LWrapReceiver.
...
Since r16993 the cp register is handled by registers allocator,
and we cannot assume that the cp always contains the context.
BUG=318420
LOG=Y
TEST=test/mjsunit/regress/regress-318420.js
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/121703002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-27 14:38:00 +00:00
ulan@chromium.org
7ac7a7ea99
Fix a race between concurrent recompilation and OSR.
...
If concurrent recompilation finishes before OSR, then OSR replaces
the old optimized code without evicting it from the optimized code map.
New functions can get the old optimized code from the optimized code map,
but the old code could be already deoptimized.
BUG=330046
TEST=test/mjsunit/regress-330046.js
LOG=Y
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/109033003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-27 09:22:56 +00:00
yangguo@chromium.org
2a4be7067c
Refactor the compiling pipeline.
...
Goals:
- easier to read, more suitable identifiers.
- better distinction between compiling optimized/unoptimized code
- compiler does not install code on the function.
- easier to add features (e.g. caching optimized code for osr).
- remove unnecessary code.
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/110203002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 14:30:35 +00:00
yangguo@chromium.org
f7929d2a87
Reland "Handlify concat string and substring."
...
This relands commit r17490.
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/114943004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 12:37:56 +00:00
yangguo@chromium.org
8c10fc6aee
Harmony: implement math.hypot.
...
R=jarin@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/118303002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 11:13:39 +00:00
yangguo@chromium.org
2e2676a843
Harmony: implement Math.log2 and Math.log10.
...
R=jarin@chromium.org
BUG=v8:2938
LOG=N
Review URL: https://codereview.chromium.org/119093006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 10:54:47 +00:00
yangguo@chromium.org
cd7d61cfc2
Fix small spec violation in String.prototype.split.
...
Also slightly extended the test coverage.
R=rossberg@chromium.org
BUG=v8:3026
LOG=Y
Review URL: https://codereview.chromium.org/119093002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18405 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 10:01:22 +00:00
yurys@chromium.org
18e865d4fa
Delete v8::HeapGraphNode::GetHeapValue
...
BUG=chromium:324769
LOG=N
R=hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/98633009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 09:33:16 +00:00
yangguo@chromium.org
c61d07e03f
Correctly resolve forcibly context allocated parameters in debug-evaluate.
...
R=ulan@chromium.org
BUG=325676
LOG=Y
Review URL: https://codereview.chromium.org/107243006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 08:37:03 +00:00
yurys@chromium.org
61c1692c9b
This adds functionality for getting original functions from bound functions.
...
It's of much use when information about function calls is shown on the Events timeline in DevTools: instead of referencing to v8natives.js where bound functions are created, we'll be able to show real function data (name, resource, script line and column numbers) retrieved from original functions.
BUG=None
LOG=Y
R=yangguo@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/106763002
Patch from Alexandra Mikhaylova <amikhaylova@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-23 08:04:54 +00:00
machenbach@chromium.org
4692a3a7d5
Mark cpu profiler test as flaky on windows.
...
TBR=yurys@chromium.org
BUG=v8:2999
LOG=no
Review URL: https://codereview.chromium.org/120543002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-22 14:14:27 +00:00
vegorov@chromium.org
79ad8bf2e0
Fix sporadic crash in the RequestInterruptTestWithNativeAccessor.
...
The test was broken. V8 currently does not correctly lookup NativeDataProperty accessors attached to the PrototypeTemplate of FunctionTemplate (Issue 3066). As the result while(obj.shouldContinue) loop was immediately exiting and the test would terminate while RequestInterruptTestBase::InterruptThread would be still starting up. As the result later InterruptThread would try to access members of the test object which was destroyed.
The test was fixed:
- instead of attaching accessor to PrototypeTemplate we attach it to InstanceTemplate;
- an assertion was added to verify that we completed the test successfully due to interruptor firing not due to sporadic loop termination due to some unrelated bug.
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/109653010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18391 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 14:07:19 +00:00
titzer@chromium.org
be32761a67
Improve load elimination handling of transitioning stores.
...
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/106973005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18388 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 12:12:41 +00:00
rossberg@chromium.org
b882bddcfd
Make a strict function's "name" property non-writable.
...
Set [[Writable]] to false for the "name" property of strict
functions as well, mirroring what non-strict functions have
it as.
LOG=N
R=rossberg@chromium.org
TEST=mjsunit/regress/regress-270142
BUG=270142
Review URL: https://codereview.chromium.org/99203006
Patch from Sigbjorn Finne <sigbjornf@opera.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18387 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 12:06:11 +00:00
hpayer@chromium.org
f583b73b70
Revert "Remove flag track-allocation-sites."
...
This reverts commit 6c430da40efe388035504d3603756aa8c46ed1dc.
BUG=
Review URL: https://codereview.chromium.org/109303006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18386 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 12:04:34 +00:00
mvstanton@chromium.org
e654c88fab
Remove flag track-allocation-sites.
...
The flag has been on in the build for ~9 months, and we aren't likely to turn it off. The only customer of the flag is a set of tests that want to verify transitioning behavior in isolation. This CL removes the flag and updates those tests to get what they want without the flag.
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/104923010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18385 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 11:46:31 +00:00
svenpanne@chromium.org
e595dc0368
Revert "More API cleanup."
...
This reverts r18383. The CL in itself is OK, we just have to wait until Chrome's commit queue lands the final corresponding change and re-land this CL. :-/
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/119013004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18384 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 11:35:53 +00:00
svenpanne@chromium.org
d54a4e6d40
More API cleanup.
...
* Removed String::Empty, Number::New, Integer::New, Integer::NewFromUnsigned, FunctionTemplate::New and Object::New without Isolate* parameter.
* Removed Integer::New and Integer::NewUnsigned with weird argument order.
Chrome CLs matching this change are prepared, BTW.
LOG=y
BUG=324225
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/118523003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 10:49:27 +00:00
jochen@chromium.org
e6ef64c590
[platform] Implement a worker pool
...
We don't use the worker pool yet, however, there are tests. Yay. The
next step is to use the worker pool for parallel sweeping.
I've also started to move the platform related files into a sub
directory. The goal is to eventually build all the platform stuff as
a separate library which is used by d8 and cctest (and other embedders
that wish to use the default implementation) but not by chromium.
BUG=v8:3015
R=hpayer@chromium.org , svenpanne@chromium.org
LOG=n
Review URL: https://codereview.chromium.org/104583003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18380 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-20 07:52:58 +00:00
titzer@chromium.org
1f679a58f7
Improve check elimination with branch sensitivity on HCompareObjectEqAndBranch.
...
BUG=
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/106733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18377 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 17:42:21 +00:00
vegorov@chromium.org
bc77d4d60a
Reland r18363.
...
Introduce API to temporarily interrupt long running JavaScript code.
It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.
/**
* Request V8 to interrupt long running JavaScript code and invoke
* the given |callback| passing the given |data| to it. After |callback|
* returns control will be returned to the JavaScript code.
* At any given moment V8 can remember only a single callback for the very
* last interrupt request.
* Can be called from another thread without acquiring a |Locker|.
* Registered |callback| must not reenter interrupted Isolate.
*/
void RequestInterrupt(InterruptCallback callback, void* data);
/**
* Clear interrupt request created by |RequestInterrupt|.
* Can be called from another thread without acquiring a |Locker|.
*/
void ClearInterrupt();
Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.
Changes from r18363:
- includes r18364 to fix compilation errors: removes debugging only code;
- makes interrupiton related tests not threaded, because they rely on having exclusive access to the V8 instance and the fact that they can only interrupt themselves, if they are interrupted from the outside they break;
- changes HasStackCheck predicate used during SCE pass to avoid handles dereference to make SCE compatible with parallel recompilation.
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/104823008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18375 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 16:45:58 +00:00
jkummerow@chromium.org
3c76ecd732
Fix switch statements with non-Smi integer labels and no type feedback
...
BUG=chromium:329709
LOG=Y
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/98643010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-19 14:25:58 +00:00
vegorov@chromium.org
dd8a793962
Revert "Introduce API to temporarily interrupt long running JavaScript code."
...
This reverts commit r18363.
Revert "Fix compilation error introduced by r18363."
This reverts commit r18364.
Changes in SCE pass are incompatible with parallel compilation
TBR=dcarney@chromium.org
BUG=
Review URL: https://codereview.chromium.org/101463003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 19:21:27 +00:00
vegorov@chromium.org
cd045f473e
Fix compilation error introduced by r18363.
...
Remove debugging related code.
TBR=dcarney@chromium.org
Review URL: https://codereview.chromium.org/104793005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 19:01:02 +00:00
vegorov@chromium.org
64d2dfa232
Introduce API to temporarily interrupt long running JavaScript code.
...
It is different from termination API as interrupted JavaScript will continue to execute normally when registered InterruptCallback returns.
/**
* Request V8 to interrupt long running JavaScript code and invoke
* the given |callback| passing the given |data| to it. After |callback|
* returns control will be returned to the JavaScript code.
* At any given moment V8 can remember only a single callback for the very
* last interrupt request.
* Can be called from another thread without acquiring a |Locker|.
* Registered |callback| must not reenter interrupted Isolate.
*/
void RequestInterrupt(InterruptCallback callback, void* data);
/**
* Clear interrupt request created by |RequestInterrupt|.
* Can be called from another thread without acquiring a |Locker|.
*/
void ClearInterrupt();
Fix Hydrogen SCE pass to avoid eliminating stack guards too aggressively. Only normal JavaScript functions are guaranteed to have stack guard in the prologue. If function is a builtin or has a custom call IC it will lack one.
BUG=
R=danno@chromium.org , dcarney@chromium.org
Review URL: https://codereview.chromium.org/102063004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 18:38:35 +00:00
verwaest@chromium.org
fb7218dc3d
Enable optimization of functions with generic switches.
...
R=jkummerow@chromium.org , titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/110123002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 11:44:38 +00:00
svenpanne@chromium.org
389ee8d59b
Removed internal uses of (almost) deprecated FunctionTemplate::New version.
...
LOG=y
R=dcarney@chromium.org
Review URL: https://codereview.chromium.org/108063003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18342 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 10:31:42 +00:00
yurys@chromium.org
bdb77d24a1
Fix Linux shared compilation after r18337
...
BUG=chromium:327298
LOG=N
TBR=hpayer@chromium.org
Review URL: https://codereview.chromium.org/118113002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18340 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 09:52:37 +00:00
yurys@chromium.org
19b6b7ada8
Delete several deprecated methods on v8::CpuProfiler
...
All methods for accessing collected profiles by index are deprecated. The indexed storage may well be implemented by the embedder should he need it. CpuProfiler's responsibility is just to create CpuProfile object that contains all collected data and whose lifetime can be managed by the embedder.
BUG=chromium:327298
LOG=Y
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/117353002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 08:59:09 +00:00
yurys@chromium.org
8b542494c3
Add methods for finding object by its snapshot id and id for an object
...
Object<-->id mapping doesn't depend on a particular snapshot, actually same object may appear in several heap snapshots. The API for converting between id and heap object should be provided by HeapProfiler itself. There is already GetObjectId method which I extended with FindObjectById/ClearObjectIds. As the next step I'm going to deprecate and remove HeapGraphNode::GetHeapValue.
BUG=chromium:324769
LOG=N
R=alph@chromium.org , hpayer@chromium.org , mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/93843004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 08:17:03 +00:00
svenpanne@chromium.org
402139f686
Remove all stuff marked as V8_DEPRECATED.
...
R=jochen@chromium.org , mstarzinger@chromium.org , yurys@chromium.org
Review URL: https://codereview.chromium.org/99193002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-18 08:09:37 +00:00
yangguo@chromium.org
213b05b5b9
Fix off-by-one error in AstTyper, part 2.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/112933002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-12 15:19:57 +00:00
jkummerow@chromium.org
48ff79a300
Fix polymorphic inlined calls with migrating prototypes
...
LOG=Y
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/104793003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-12 14:57:00 +00:00
yurys@chromium.org
19f29c380e
Do not stop profiling if all finished profiles were deleted
...
Deleting finished profiles shouldn't interrupt profile recording.
BUG=chromium:327298
LOG=N
R=alph@chromium.org , jkummerow@chromium.org
Review URL: https://codereview.chromium.org/103893003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18302 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 14:39:18 +00:00
verwaest@chromium.org
d5787278bc
Fixed global object leak caused by overwriting the global receiver (the global proxy) in the global object with the global object itself.
...
This CL additionally removes the API function to reattach a global proxy to a
global object.
BUG=324812
LOG=y
R=dcarney@chromium.org , titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/101733002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 13:51:48 +00:00
ulan@chromium.org
cc401095fb
Initialize Date parse cache with SMI instead of double to workaround sharing mutable heap numbers in snapshot.
...
This is the only field in the snapshot that was tracked as double.
R=verwaest@chromium.org
TEST=mjsunit/regress/regress-280531.js
BUG=280531
LOG=Y
Review URL: https://chromiumcodereview.appspot.com/112003005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 13:11:44 +00:00
yangguo@chromium.org
5bc64b9fa5
Fix off-by-one error in AstTyper.
...
This causes the first parameter to be confused with the first
stack local when we collect type information.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/105943007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18296 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-11 11:34:09 +00:00
hpayer@chromium.org
75a84eca0b
Added regression test for escape analysis.
...
BUG=
R=jarin@chromium.org
Review URL: https://codereview.chromium.org/99133011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18290 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 15:54:20 +00:00
titzer@chromium.org
3de79abd85
Add a regression test for boolean concatenation in strings.
...
BUG=
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/106743010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 14:05:25 +00:00
yangguo@chromium.org
d9e0763532
Track *all* external strings in the external string table.
...
Up till now, external strings may be tracked in the string table
(for internalized strings) or the external string table, depending
on in which order internalize and externalize happened.
The internalized string table should not have to deal with external
strings, all of which should be tracked by the external string table.
R=svenpanne@chromium.org
BUG=326489
LOG=N
Review URL: https://codereview.chromium.org/103663006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-10 12:11:45 +00:00
svenpanne@chromium.org
e1db6d86a9
Avoid FP exceptions when doing integer division.
...
BUG=v8:3039
R=titzer@chromium.org
Review URL: https://codereview.chromium.org/104003004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-09 10:15:19 +00:00
yurys@chromium.org
cd5ea74700
Replace 'operator*' with explicit 'get' method on SmartPointer
...
Made operator* return reference to the raw type, not pointer. New method 'get()' should be used when raw pointer is needed.
Also removed useless inline modifier from the SmaprtPointer methods and added const modifier to the methods that don't change smart pointer.
Made ~SmartPointerBase protected to avoid accidental calls of the non-virtual base class's destructor.
drive-by: fixed use after free in src/factory.cc
BUG=None
LOG=N
R=alph@chromium.org , svenpanne@chromium.org
Review URL: https://codereview.chromium.org/101763003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-09 07:41:20 +00:00
jkummerow@chromium.org
64e9cbc305
Fix compilation with clang
...
R=bmeurer@chromium.org
Review URL: https://codereview.chromium.org/106863002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-06 11:45:26 +00:00
mvstanton@chromium.org
b807f4f82f
Bugfix: HCheckInstanceType::GetCheckMaskAndTag used an incorrect mask.
...
The mask to check for an internalized string was incorrectly formed. Hat
tip to Weiliang Lin for discovering the bug.
BUG=v8:3038
LOG=N
R=yangguo@chromium.org
Review URL: https://codereview.chromium.org/108033002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18265 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-06 09:43:07 +00:00
verwaest@chromium.org
8a4df124a4
Fix loop side-effects of deoptimizing loops with a nested live OSR loop.
...
R=titzer@chromium.org
Review URL: https://chromiumcodereview.appspot.com/106723002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-05 18:31:06 +00:00
machenbach@chromium.org
d8a757c669
Add tests and extension verifying CHECK and ASSERT.
...
The new native functions can also be used in blink tests to ensure that V8 asserts are turned on where they should be.
BUG=
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/105953005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-05 17:26:22 +00:00
dcarney@chromium.org
69314e1f47
Fix parameter passing in callback store ics on arm
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/93873007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@18260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-12-05 12:38:50 +00:00