verwaest@chromium.org
5068079aff
Always use BuildCheckNonSmi, and don't emit check if HeapObject.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14731016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14606 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 08:58:58 +00:00
verwaest@chromium.org
addb8f96c1
Don't CheckSmi when type is Smi.
...
R=mvstanton@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14890007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14605 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 08:39:37 +00:00
ulan@chromium.org
dabcf04670
Prepare push to trunk. Now working on version 3.19.1.
...
R=mstarzinger@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14919008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14602 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-10 08:13:08 +00:00
plind44@gmail.com
4b8d06fdf6
ARM: Fix register name in AllocateAsciiConsString.
...
BUG=
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/15024004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14601 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 22:21:54 +00:00
palfia@homejinni.com
45ba023b47
MIPS: Use mutable heapnumbers to store doubles in fields.
...
Port r14597 (6e9d7149)
BUG=
Review URL: https://codereview.chromium.org/14607009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14600 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 22:15:27 +00:00
mvstanton@chromium.org
ef5211d8af
Parallel compilation bug: LCallNewArray dereferenced a handle unnecessarily.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14761010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14599 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 16:48:27 +00:00
danno@chromium.org
7ec7a280d1
Fixed one spelling error.
...
InitilizeVtuneForV8 --> InitializeVtuneForV8
R=danno@chromium.org
Review URL: https://codereview.chromium.org/14830004
Patch from Chunyang Dai <chunyang.dai@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14598 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 16:17:23 +00:00
verwaest@chromium.org
52008429b7
Use mutable heapnumbers to store doubles in fields.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14850006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14597 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 15:02:08 +00:00
ulan@chromium.org
cd4e9866b7
Fix environment in HOptimizedGraphBuilder::VisitCountOperation. Follow-up for r14584.
...
R=danno@chromium.org
BUG=v8:2671
TEST=mjsunit/regress/regress-2671-1.js
Review URL: https://chromiumcodereview.appspot.com/14972009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14596 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 14:58:06 +00:00
verwaest@chromium.org
154719e8b3
Support merging with distinct attributes.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14756012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14595 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 14:40:36 +00:00
verwaest@chromium.org
abc0c2767e
Always generalize all representations when no transition is inserted.
...
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14696016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14594 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 14:19:48 +00:00
verwaest@chromium.org
4c2c665420
Turn off tracking of fields for the roll.
...
Revert polymorphic stores suspect of crashes.
Revert "Turn on tracking of fields."
Revert "Turn polymorphic stores monomorphic if store sequence matches."
Revert "Fix polymorphic store."
R=danno@chromium.org
Review URL: https://chromiumcodereview.appspot.com/14812010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14593 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 14:18:30 +00:00
svenpanne@chromium.org
bd8df839c6
Consistently start (almost) all AstPrinter::VisitFoo functions with IndentedScope.
...
This makes IndentedScope the single point where we can print additional info in
the future, like e.g. AST IDs (at least when the TODOs are fixed). Minor other
cleanups.
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/15060005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14592 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 13:24:45 +00:00
svenpanne@chromium.org
2bb4603cb1
Refactoring only: Removed unused argument from IndentedScope constructor.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/14864008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14591 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 11:06:46 +00:00
verwaest@chromium.org
3d7e2912ba
Fix polymorphic store.
...
Review URL: https://chromiumcodereview.appspot.com/14696011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14590 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 10:34:51 +00:00
verwaest@chromium.org
e5feaf31fa
Turn polymorphic stores monomorphic if store sequence matches.
...
Review URL: https://chromiumcodereview.appspot.com/14796012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14589 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 09:39:26 +00:00
mvstanton@chromium.org
f5ad8e4469
Turn off optimize-constructed-arrays flag to investigate ARM perf issue
...
BUG=
R=danno@chromium.org
Review URL: https://codereview.chromium.org/14753007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14588 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 08:49:29 +00:00
danno@chromium.org
bd9274436c
Bias commutative single-use register inputs and support lea adds
...
This improves register allocation for many common add and multiply patterns on ia32 and x64 by reducing register pressure.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14856015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14587 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 08:37:24 +00:00
wingo@igalia.com
75d939aceb
Generators save and restore stack handlers
...
This CL adds machinery to unwind stack handlers from the stack and store
them into a generator's operand array. It also includes routines to
reinstate them. Together this allows generators to yield within
try/catch and try/finally blocks.
BUG=v8:2355
R=mstarzinger@chromium.org
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/14031028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14586 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 08:08:23 +00:00
dcarney@chromium.org
d4fd9db342
fix nosnapshot test failure in 14793004, do not deprecate function
...
BUG=
TBR=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14947005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 07:45:16 +00:00
ulan@chromium.org
e5a29e8ff9
Do not change environment between simulate and scope with no observable side-effects in HandlePropertyAssignment.
...
LChunkBuilder reconstructs the environment by applying simulates. A scope with no observable side-effects has no simulates. If the scope deoptimizes, then LChunkBuilder would miss the changes to the environment between the last simulate and the scope.
R=danno@chromium.org
BUG=v8:2671
TEST=mjsunit/regress/regress-2671.js
Review URL: https://chromiumcodereview.appspot.com/14793009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14584 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-08 07:40:28 +00:00
palfia@homejinni.com
064349bae4
MIPS: Becuase of cross-context calls, hydrogen-based Array constructor needs to ensure the array constructor pointer passed in matches that of the current context.
...
Port r14581 (32067c11)
BUG=
Review URL: https://codereview.chromium.org/14761004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14583 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 23:15:27 +00:00
palfia@homejinni.com
1391e80f26
MIPS: Generators return boxed values
...
Port r14563 (6d01adb8)
Original commit message:
Generators now box their return values in object literals of the form
{ value: VAL, done: DONE }
where DONE is false for yield expressions, and true for return
statements.
BUG=
Review URL: https://codereview.chromium.org/15009008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14582 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 23:14:36 +00:00
mvstanton@chromium.org
d7b013de57
Becuase of cross-context calls, hydrogen-based Array constructor needs to ensure
...
the array constructor pointer passed in matches that of the current context.
BUG=
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/14846017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14581 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 21:01:53 +00:00
mstarzinger@chromium.org
04a5b3d6b6
Revert "deprecate Context::New which returns Persistent"
...
This reverts r14573 because of test failures in no-snapshot mode in the
cctest/test-debug/ScriptCollectedEventContext test case.
TBR=dcarney@chromium.org ,svenpanne@chromium.org
TEST=cctest/test-debug/ScriptCollectedEventContext
Review URL: https://codereview.chromium.org/15038002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14578 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 16:28:51 +00:00
mstarzinger@chromium.org
b2f6d7843a
Disable code flushing for native SharedFunctionInfo.
...
R=hpayer@google.com
TEST=cctest/test-api/Threading4
Review URL: https://codereview.chromium.org/15018012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14577 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 15:18:01 +00:00
dslomov@chromium.org
b15bbfbe39
Implement TypedArray.set function.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14581005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14576 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 14:42:17 +00:00
dcarney@chromium.org
386de8010b
deprecate Context::New which returns Persistent
...
BUG=
TBR=marja@chromium.org
Review URL: https://codereview.chromium.org/14793004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14573 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:29:24 +00:00
verwaest@chromium.org
0b1a9c9e3d
Free up 11 bits in fast-mode PropertyDetails by removing the enumeration-index.
...
The descriptors are nowadays ordered in order of addition, so that info was
duplicated.
Review URL: https://chromiumcodereview.appspot.com/14622005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14571 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 13:09:23 +00:00
rossberg@chromium.org
97c83b298c
Object.observe: disable freezing changeRecords until it can be made fast
...
R=rossberg,adamk
BUG=
Review URL: https://codereview.chromium.org/15017003
Patch from Rafael Weinstein <rafaelw@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14569 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 12:20:33 +00:00
rossberg@chromium.org
66170c928a
Fix braindead Handle::is_identical_to
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14660008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14568 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 12:02:15 +00:00
danno@chromium.org
6616081b6e
Fast-forward version number on bleeding_edge. Now working on version 3.19.0.
...
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14580009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14567 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 11:43:43 +00:00
dcarney@chromium.org
42a8ff87ba
add weakcallback without persistent copying
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14908004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14566 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 10:44:30 +00:00
verwaest@chromium.org
46d39cabd6
Fix polymorphic to monomorphic load to take representation into account.
...
Review URL: https://chromiumcodereview.appspot.com/14966005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14565 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 10:32:23 +00:00
hpayer@chromium.org
169283def9
Perform incremental marking step after free-list allocation and clean-up incremental marking start condition.
...
BUG=
Review URL: https://codereview.chromium.org/14634007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14564 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 09:48:42 +00:00
wingo@igalia.com
3cd73ebc2f
Generators return boxed values
...
Generators now box their return values in object literals of the form
{ value: VAL, done: DONE }
where DONE is false for yield expressions, and true for return
statements.
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/13870007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14563 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 08:46:42 +00:00
dcarney@chromium.org
24649209a0
remove use of WriteAscii for vtune
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14900003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14562 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-07 07:23:39 +00:00
dslomov@chromium.org
9b45b71d5a
Added an extra flag that enables only ArrayBuffer.
...
This makes Blink experimentation easier.
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14884012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14560 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 16:19:27 +00:00
hpayer@chromium.org
c74ee804b3
Fix incremental marking speed accelleration and start incremental marking when old space is almost full when pretenuring objects.
...
BUG=
Review URL: https://codereview.chromium.org/14714004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14559 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 16:17:49 +00:00
hpayer@chromium.org
4c1782022a
Revert fix incremental marking speed accelleration and start incremental marking when old space is almost full when pretenuring objects.
...
BUG=
Review URL: https://codereview.chromium.org/14988004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14558 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 13:39:54 +00:00
hpayer@chromium.org
d869fd4fb1
Fix incremental marking speed accelleration and start incremental marking when old space is almost full when pretenuring objects.
...
BUG=
Review URL: https://codereview.chromium.org/14649014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14555 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 13:07:10 +00:00
mvstanton@chromium.org
2d902c12a7
Parallel compilation fix: the optimizer thread shouldn't change the allow allocation state on AssertNoAllocation scopes.
...
BUG=
R=mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/14796014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14551 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 10:59:17 +00:00
mmassi@chromium.org
77924e7e5b
Fix occasional crash when lithium goes out of vregs.
...
BUG=
R=ulan@chromium.org
Review URL: https://codereview.chromium.org/14850013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14550 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-06 09:27:06 +00:00
palfia@homejinni.com
ed160c5320
MIPS: Pretenure ASCII cons string in high promotion mode.
...
Port r14540 (c6093a6e)
BUG=
Review URL: https://codereview.chromium.org/14678006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14549 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 23:55:08 +00:00
palfia@homejinni.com
8941cff652
MIPS: Before comparing input with a constant smi in GenerateRecordCallTarget(), make sure the input register is actually a smi.
...
Port r14547 (a2e764c7)
BUG=
Review URL: https://codereview.chromium.org/14597006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14548 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 23:51:25 +00:00
mvstanton@chromium.org
84188e348b
Before comparing input with a constant smi in GenerateRecordCallTarget(), make sure the input register is actually a smi.
...
BUG=
Review URL: https://codereview.chromium.org/14803005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14547 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 15:18:31 +00:00
mstarzinger@chromium.org
22c6fb384b
Cache first hint operand while building live ranges.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14771015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14546 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 14:58:06 +00:00
verwaest@chromium.org
2aad78052e
Don't double unlink in DCE.
...
Review URL: https://chromiumcodereview.appspot.com/14914004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14545 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 13:39:11 +00:00
wingo@igalia.com
19e5f6cbf0
toString() on generator functions prints with function*
...
This CL adds a %FunctionIsGenerator runtime function, and uses it in the
function toString() implementation.
R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-runtime
Review URL: https://codereview.chromium.org/14912002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14544 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 13:01:28 +00:00
mstarzinger@chromium.org
45a5535c85
Remove obsolete LiveRange::FirstPosWithHint helper.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14650016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14543 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 12:49:48 +00:00
titzer@chromium.org
dbcd0e925a
Remove HLoadElements instruction and replace with use of more general HLoadNamedField. This removes the need for both the hydrogen and lithium instructions and allows both kinds of loads to be GVN'd.
...
Review URL: https://codereview.chromium.org/14556020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14542 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 12:21:16 +00:00
verwaest@chromium.org
ea282f079e
Turn on tracking of fields.
...
Review URL: https://chromiumcodereview.appspot.com/14771014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14541 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 11:05:54 +00:00
hpayer@chromium.org
ce3345123c
Pretenure ASCII cons string in high promotion mode.
...
BUG=
Review URL: https://codereview.chromium.org/14451003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14540 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 10:36:16 +00:00
dcarney@chromium.org
191b85f543
d8 shell fix for r14530
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14907004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14539 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 10:36:13 +00:00
dslomov@chromium.org
02889cafb8
Add type checks to typed array property getters.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14650014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14538 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 09:59:50 +00:00
dslomov@chromium.org
18d02d06f0
Implement TypedArray.subarray method.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14740017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14537 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 09:43:44 +00:00
jkummerow@chromium.org
0ac47f23d8
Remove 'unanimous use observations' rule from Phi representation inference
...
Review URL: https://codereview.chromium.org/14840014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14536 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 08:50:48 +00:00
verwaest@chromium.org
984122a7ea
Overwrite the handler using Set.
...
InsertAt apparently inserts by moving the other elements... that does not work.
Review URL: https://chromiumcodereview.appspot.com/14566007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14535 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 08:48:53 +00:00
mstarzinger@chromium.org
915f9ea500
Use first position in LAllocator ordering heuristic.
...
This changes the tiebreaker for LAllocator's ordering heuristic of
live ranges to use the first use position instead of the first hinted
use position. Searching for the first hinted position introduces
unnecessary overhead.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14855010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14534 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 08:09:37 +00:00
dcarney@chromium.org
0cf128390f
deprecate WriteAscii and MayContainNonAscii
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14638003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14533 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-03 06:47:24 +00:00
dcarney@chromium.org
2e856d2c16
expose AssertNoAllocation to api
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14625003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14531 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 20:28:02 +00:00
dcarney@chromium.org
cf5ff5a14c
first step to remove unsafe handles
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12729023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14530 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 20:18:42 +00:00
palfia@homejinni.com
1b7edf8d2a
MIPS: Turn the load field code stub into a hydrogen code stub.
...
Port r14526 (7c581932)
BUG=
Review URL: https://codereview.chromium.org/14855008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14529 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 18:25:16 +00:00
jkummerow@chromium.org
eaf9d14be9
Use worklist to find out Phis that could not be truncated to int32
...
Review URL: https://codereview.chromium.org/13950013
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14528 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 17:00:53 +00:00
verwaest@chromium.org
51dded6e9c
Turn the load field code stub into a hydrogen code stub.
...
Review URL: https://chromiumcodereview.appspot.com/14847004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14526 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 16:32:47 +00:00
jkummerow@chromium.org
f78f583110
Detect truncating Phi uses of Phis with constant inputs
...
Review URL: https://codereview.chromium.org/14260013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14525 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 16:30:58 +00:00
verwaest@chromium.org
84fd96e4d1
Cleanup IC heuristics.
...
Review URL: https://chromiumcodereview.appspot.com/14611006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14524 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 15:42:22 +00:00
verwaest@chromium.org
063ada2050
Adding fast path for generalizing maps.
...
Review URL: https://chromiumcodereview.appspot.com/14629005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14523 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 15:41:02 +00:00
verwaest@chromium.org
fd9c82a618
Update deprecated maps before generating optimized code.
...
Review URL: https://chromiumcodereview.appspot.com/14847008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14522 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 15:40:07 +00:00
verwaest@chromium.org
8b25614aa9
Always tag number candidate as smi if it does not come from load-keyed.
...
Review URL: https://chromiumcodereview.appspot.com/14556007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14521 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 14:41:06 +00:00
dslomov@chromium.org
8b1f81fa24
Allow pathological zero-length typed arrays.
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14857002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14520 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 13:51:03 +00:00
dslomov@chromium.org
343bf33918
Range checking bug in typed array constructor.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14850011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14519 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 13:30:57 +00:00
dslomov@chromium.org
2751eeb361
More typed array constructors.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14845012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14518 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 12:27:03 +00:00
dslomov@chromium.org
6e86141916
Implementation of Uint8ClampedArray.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14657003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14517 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 11:36:48 +00:00
mstarzinger@chromium.org
29b00ed427
Bump virtual register width in LUnallocated.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14589008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14516 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 11:22:32 +00:00
mstarzinger@chromium.org
47608c900a
Allow more virtual registers to be encoded in LUnallocated.
...
This is a preparation which allows us to bump the virtual register width
from 15 to 18 bit without sacrificing width for other fields inside an
unallocated lithium operand.
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14639008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14513 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-05-02 09:51:07 +00:00
palfia@homejinni.com
c092da378b
MIPS: Fix mjsunit/harmony/generators-iteration test failure.
...
BUG=
Review URL: https://codereview.chromium.org/14695004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14512 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 22:54:36 +00:00
palfia@homejinni.com
8eb459a4e5
MIPS: Allow setting debugger breakpoints on CompareNilICs
...
Port r14487 (022d1fc3)
BUG=
Review URL: https://codereview.chromium.org/14662002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14509 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 19:09:33 +00:00
dslomov@chromium.org
1469acaa7f
Add Value::Is* methods for typed arrays and ArrayBuffer
...
R=rossberg
BUG=
Committed https://code.google.com/p/v8/source/detail?r=14506
Review URL: https://codereview.chromium.org/13977018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14508 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:53:27 +00:00
dslomov@chromium.org
3af1cc1072
Revert "Fix typo"
...
This reverts commit r14506 (that was commited with a wrong description).
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14507 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:49:20 +00:00
dslomov@chromium.org
b029ad4201
Fix typo
...
R=rossberg@chromium.org
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=14505
Review URL: https://codereview.chromium.org/13993029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14506 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 18:02:22 +00:00
dslomov@chromium.org
7bfd5e9031
Fix typo
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/13993029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14505 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 17:57:54 +00:00
dslomov@chromium.org
ca8144446b
Revert "patch from issue 13993029"
...
This reverts commit 2d49d456dd09a8f8ffae87f777d5f10b587534e8.
Revert patch with incorrect description
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14504 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 17:56:32 +00:00
dslomov@chromium.org
8cddabbf56
patch from issue 13993029
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 17:50:04 +00:00
yurys@chromium.org
c638a5e3e1
Revert "frames.h/cc cleanup"
...
This reverts r14496 which broke tests in debug mode:
Command: /mnt/data/b/build/slave/v8-linux-nosnap-debug/build/v8/out/Debug/cctest test-log/LogAccessorCallbacks --nobreak-on-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --testing_serialization_file=/mnt/data/b/build/slave/v8-linux-nosnap-debug/build/v8/out/.serdes/serdes_LogAccessorCallbacks
=== cctest/test-log/LogCallbacks ===
--- stderr ---
TBR=jkummerow@chromium.org
BUG=None
Review URL: https://codereview.chromium.org/14651004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14502 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 16:51:30 +00:00
danno@chromium.org
e097535c11
Prepare push to trunk. Now working on version 3.18.6.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14646011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 16:36:14 +00:00
yurys@chromium.org
49c31d4934
frames.h/cc cleanup
...
BUG=None
R=jkummerow@chromium.org , loislo@chromium.org
Review URL: https://codereview.chromium.org/14650002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 14:37:18 +00:00
mvstanton@chromium.org
6e4a8fecb7
Two bugfixes for hydrogen-based array constructors
...
CacheInitialJSArrayMaps needs to be able to pick up where it left off,
as it can now be called from a handlfied context.
Disable incremental marking for CCTest SetJitCodeEventHandler, as it allocates
during compilation.
BUG=
Review URL: https://codereview.chromium.org/14642002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14495 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 13:43:45 +00:00
dslomov@chromium.org
acf1a7c91c
Accurate function prototypes for native calls from ARM simulator.
...
This is a resubmit of codereview.chromium.org/13818012 with the following modifications:
- src/x64/code-stubs-x64.cc for changes specific to Win64 calling conventions.
- src/sampler.cc for Native Client support
BUG=v8:2614
Committed: https://code.google.com/p/v8/source/detail?r=14491
Review URL: https://codereview.chromium.org/14305029
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 11:34:43 +00:00
dslomov@chromium.org
c5252a1bcd
Revert "Accurate function prototypes for native calls from ARM simulator."
...
This reverts commit r14991. (one file missing)
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14493 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 11:31:09 +00:00
dslomov@chromium.org
1da21f1868
Revert "Flag optimize-constructed-arrays turned on."
...
This reverts commit r14491.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14492 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 11:23:34 +00:00
dslomov@chromium.org
d362e727e3
Accurate function prototypes for native calls from ARM simulator.
...
This is a resubmit of codereview.chromium.org/13818012 with the following modifications:
- src/x64/code-stubs-x64.cc for changes specific to Win64 calling conventions.
- src/sampler.cc for Native Client support
BUG=v8:2614
Review URL: https://codereview.chromium.org/14305029
Patch from Brad Chen <bradchen@google.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 11:16:40 +00:00
mvstanton@chromium.org
ff57a1062b
Flag optimize-constructed-arrays turned on.
...
This routes array construction through a hydrogen stub, and enables use of
allocation site info tracking.
BUG=
Review URL: https://codereview.chromium.org/14616010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14490 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 08:22:05 +00:00
mstarzinger@chromium.org
4d62ca4300
Make UsePosition::hint immutable.
...
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14524008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14489 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 08:21:52 +00:00
mstarzinger@chromium.org
04fdcad547
Fix HConstant::InNewSpace() for parallel compilation.
...
R=mvstanton@chromium.org
Review URL: https://codereview.chromium.org/13977019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14488 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 08:00:43 +00:00
danno@chromium.org
d728493929
Allow setting debugger breakpoints on CompareNilICs
...
BUG=v8:2660
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14106011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14487 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-30 07:56:09 +00:00
dslomov@chromium.org
9e2c046f5c
TypedArray(length) constructor
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14460008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14486 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 16:16:31 +00:00
danno@chromium.org
e6570d43ba
Fix bug in CompareNil IC
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/13863022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14483 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 15:09:22 +00:00
dslomov@chromium.org
9f638cfeb9
Fix GCMole after r14476
...
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/13945026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14482 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 15:05:06 +00:00
danno@chromium.org
528792e39b
Fix beyond-heap load on x64 Crankshafted StringCharFromCode
...
BUG=chromium:235311
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14387008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14481 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 14:34:24 +00:00
dslomov@chromium.org
eb6e6f767a
Shared build fix
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14396004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14480 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 14:13:32 +00:00
svenpanne@chromium.org
f1e9ec2e12
Do not use repeated subtractions in mod-i, it hurts performance in general.
...
ARM only: Check for -0 only when really necessary. Tiny code de-duplication.
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14499011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14479 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 13:45:34 +00:00
svenpanne@chromium.org
0c63e8d698
Also print the exception when mksnapshot failed to compile extra code.
...
Before, it would only print the exception when it failed to run the code
R=svenpanne@chromium.org
Review URL: https://codereview.chromium.org/14031036
Patch from Jochen Eisinger <jochen@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14478 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 11:49:24 +00:00
dslomov@chromium.org
7b1e7463f2
Remove __ prefix from Harmony typed arrays implementation
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14402026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14477 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 11:18:27 +00:00
dslomov@chromium.org
3fd6bb51f0
First cut at API for native Typed Arrays.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14195034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 11:09:03 +00:00
mstarzinger@chromium.org
17af6ee031
Fix build failure on Win64 since r14458.
...
R=dslomov@chromium.org
Review URL: https://codereview.chromium.org/14150019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-29 09:30:11 +00:00
palfia@homejinni.com
a64858cf35
MIPS: Track storage types of instance variables.
...
Port r14464 (70300e97) and r14470 (65af80fc)
BUG=
Review URL: https://codereview.chromium.org/14305024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14474 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 23:28:09 +00:00
palfia@homejinni.com
84a5a45e8a
MIPS: Lithium: avoid registers for constants when possible.
...
Port r14460 (9e3dab0c)
BUG=
Review URL: https://codereview.chromium.org/14520016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14473 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 23:26:52 +00:00
verwaest@chromium.org
4b010329c9
Fix arm port of tracking field representations. Based on Rodolph Perfetta's comments
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/14522003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14470 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 19:21:54 +00:00
palfia@homejinni.com
3af78c0563
MIPS: HasOnlyAsciiChars can return incorrect results. Fixup usages and rename.
...
Port r14453 (91869730)
BUG=
Review URL: https://codereview.chromium.org/14455010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14469 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 17:52:08 +00:00
mvstanton@chromium.org
bc50e21b23
HConstant::InNewSpace() should be a constant function
...
BUG=
Review URL: https://codereview.chromium.org/14455004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14466 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 15:48:13 +00:00
jkummerow@chromium.org
4304f57c92
Fix static initializers on x64
...
Review URL: https://codereview.chromium.org/14143009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 15:46:51 +00:00
verwaest@chromium.org
99e17bb12a
Track storage types of instance variables.
...
Review URL: https://chromiumcodereview.appspot.com/14146005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 15:30:41 +00:00
mstarzinger@chromium.org
24e4838724
Fix build failure on Win64 since r14458.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14143008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 15:10:34 +00:00
mvstanton@chromium.org
d5e485a3cc
Change 'Parse error' to three more informative messages.
...
Replace the 'unable_to_parse' key used in three places with three difference keys.
Provide three more informative and less ambiguous error messages in place of 'Parse error'.
Add three test/message cases to cover the new messages.
BUG=2636
Review URL: https://codereview.chromium.org/14161007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 14:26:54 +00:00
dcarney@chromium.org
c50304209a
remove IsOneByteConvertible
...
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14298021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 14:08:18 +00:00
mvstanton@chromium.org
84355ae411
Lithium: avoid registers for constants when possible.
...
BUG=
Review URL: https://codereview.chromium.org/14364010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 14:04:07 +00:00
mstarzinger@chromium.org
cb2e54d1ff
Add assertion about module scopes to Scope::ContextChainLength.
...
R=rossberg@chromium.org
Review URL: https://codereview.chromium.org/14513002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 13:22:11 +00:00
mstarzinger@chromium.org
1706fe657e
Add support for yield expressions
...
This CL extends the generator suspend and resume implementation to
capture values on the operand stack.
It factors out some helpers to measure and access the operand stack into
the JavaScriptFrame class. It also refactors the suspend and resume
helpers to avoid handle allocation.
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/14348003
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 12:09:32 +00:00
danno@chromium.org
2a1f2d26a8
Prepare push to trunk. Now working on version 3.18.5.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/13886016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 11:59:17 +00:00
mstarzinger@chromium.org
885fd2f4b2
Fix yield inside with
...
This patch makes it so that suspending generators always saves the
context. Previously we erroneously assumed that if the operand stack
was empty, that the context would be unchanged, but that is not the case
with "with".
Fixing this brought out an interesting bug in the variable allocator.
Yield inside with will reference a context-allocated temporary holding
the generator object. Before the fix, this object was looked up in the
with context instead of the function context, because with contexts were
not being simulated during full-codegen. Previously this was OK as all
variables would be given LOOKUP allocation instead of CONTEXT, but the
context-allocated temporary invalidated this assumption. The fix is to
simulate the context chain more accurately in full-codegen.
R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/14416011
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 11:55:22 +00:00
dcarney@chromium.org
0a32b57594
HasOnlyAsciiChars can return incorrect results. Fixup usages and rename.
...
R=ulan@chromium.org
BUG=
Review URL: https://codereview.chromium.org/14509012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 11:34:44 +00:00
mvstanton@chromium.org
c247ac4e51
Bootstrapper code for constructed arrays needs to be handlefied
...
BUG=
Review URL: https://codereview.chromium.org/14008004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 10:10:36 +00:00
mstarzinger@chromium.org
bb2d8a51da
Implement support for Math.imul in Crankshaft.
...
R=jkummerow@chromium.org
TEST=mjsunit/math-imul
Review URL: https://codereview.chromium.org/14471041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 08:52:35 +00:00
mvstanton@chromium.org
adb450bc44
Fix test/build failures (win64 compile warning, isolate test parallel compilation failure, gcmole issue, isolate test intermittant failure)
...
BUG=
Review URL: https://codereview.chromium.org/14265024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 08:49:20 +00:00
jkummerow@chromium.org
f80d86cbb1
Better handling of Phi nodes with constant inputs
...
Review URL: https://codereview.chromium.org/14471034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 08:47:02 +00:00
mstarzinger@chromium.org
f5ac91c36a
Prevent false positive from GCMole in DeferredFormatStackTrace.
...
R=yangguo@chromium.org
TEST=gcmole
Review URL: https://codereview.chromium.org/14416010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 08:12:21 +00:00
yurys@chromium.org
f76c2ae2b7
Avoid unnecessary indirection when creating CodeEntries
...
BUG=None
Review URL: https://codereview.chromium.org/14471035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 07:50:35 +00:00
yangguo@chromium.org
49ce7642be
Do not dereference handles during relocation.
...
R=hpayer@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/13982023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 07:35:07 +00:00
palfia@homejinni.com
896468fe57
MIPS: Constructed arrays can be created with Hydrogen code stubs. The feature is still off by default (--optimize-constructed-arrays).
...
Port r14441 (0c30d023)
BUG=
Review URL: https://codereview.chromium.org/13905009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 02:08:47 +00:00
palfia@homejinni.com
7b2abd7c1e
MIPS: Capture receiver in generator object
...
Port r14434 (04f254d1)
Original commit message:
Previously there has been no reason to context-allocate the receiver, so
access to the receiver always goes through the stack. This was failing
with generators, which assumed that forcing context allocation would
relieve the need of storing anything but the context and the function on
the stack.
This CL adds a slot in generator objects to capture the receiver, and
restores it when resuming a generator.
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/14195033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-26 02:07:42 +00:00
mvstanton@chromium.org
e751ad06d9
Constructed arrays can be created with Hydrogen code stubs. The feature is still off by default (--optimize-constructed-arrays).
...
BUG=
Review URL: https://codereview.chromium.org/12385014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 16:00:32 +00:00
hpayer@chromium.org
7ed7af2f9f
Tell the GC prologues to construct RetainedObjectInfos only when needed.
...
The GC prologue is called by the GC, but also by the heap snapshotter. The
RetainedObjectInfos are only needed by the heap snapshotter, so it's wasteful to
construct them always. (And it will be even more wasteful when Blink migrates to
the new GC APIs, since after that point it no longer knows about object groups.)
BUG=
Review URL: https://codereview.chromium.org/14471028
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 12:08:10 +00:00
dslomov@chromium.org
44f2d534b1
First cut at API for ES6 ArrayBuffers
...
R=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/13958007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 12:02:23 +00:00
mstarzinger@chromium.org
8f1fc88f8c
Relax --debug-code checks that runtime returns are not the hole
...
ia32, unlike the other architectures, includes a --debug-code check that
asserts that runtime functions do not return the hole. However the new
SuspendJSGeneratorObject runtime does return the hole at times.
This CL adds a wee hack that only signals an error if the callee was not
SuspendJSGeneratorObject.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/13856011
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 12:00:07 +00:00
mstarzinger@chromium.org
71dc9e165f
Capture receiver in generator object
...
Previously there has been no reason to context-allocate the receiver, so
access to the receiver always goes through the stack. This was failing
with generators, which assumed that forcing context allocation would
relieve the need of storing anything but the context and the function on
the stack.
This CL adds a slot in generator objects to capture the receiver, and
restores it when resuming a generator.
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/14158006
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 10:59:09 +00:00
yangguo@chromium.org
1ad3d57d9d
Get isolate from thread local instead of (potentially missing) block in HConstant.
...
R=ulan@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/14284011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 10:57:24 +00:00
mstarzinger@chromium.org
a4ba7d6b65
Fix evaluation order problems in Object.observe hooks.
...
R=rossberg@chromium.org
TEST=gcmole
Review URL: https://codereview.chromium.org/14493012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 10:23:19 +00:00
hpayer@chromium.org
e93d12a470
Grow the old generation faster in high promotion mode.
...
BUG=
Review URL: https://codereview.chromium.org/14493011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 09:17:07 +00:00
jkummerow@chromium.org
628875475e
Fix overflow check in mul-i which was missing since r14322
...
Review URL: https://codereview.chromium.org/14471012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-25 07:36:59 +00:00
palfia@homejinni.com
16ed1db350
MIPS: Clean up VMState a little bit.
...
Port r14421 (31cd7dda)
BUG=
Review URL: https://codereview.chromium.org/14483002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 23:12:53 +00:00
palfia@homejinni.com
8ddaa0c1a5
MIPS: Generators can resume
...
Port r14415 (d358defa) and r14424 (7b549ce7)
Original commit message:
The generator object methods "next", "send", and "throw" now
include some inline assembly to set up a resumed stack frame. In some
common cases, we can just jump back into the frame to resume it.
Otherwise the resume code calls out to a runtime to fill in the operand
stack, rewind the handlers, and possibly to throw an exception.
BUG=v8:2355
TESTS=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/13864010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 23:11:48 +00:00
palfia@homejinni.com
6dc29db655
MIPS: Add monomorphic CompareNilICs and Crankshaft support
...
Port r14407 (cae6596b)
BUG=
Review URL: https://codereview.chromium.org/13840006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 23:10:53 +00:00
plind44@gmail.com
d0cb889086
MIPS: Fix NaN handling for start index in ArraySplice.
...
Casting NaN to int is unpredictable, on different architectures it produces different int value.
TEST=test262/S15.4.4.10_A2.1_T2, S15.4.4.10_A2.2_T2, S15.4.4.12_A2.1_T2
BUG=
Review URL: https://codereview.chromium.org/14257006
Patch from Dusan Milosavljevic <Dusan.Milosavljevic@rt-rk.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 19:10:02 +00:00
mstarzinger@chromium.org
27a0700151
Remove bogus forward declaration of ObjectGroup.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/14333016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 16:51:00 +00:00
mstarzinger@chromium.org
338f11850a
Fix generator suspend and resume on ARM
...
This CL fixes a number of rookie mistakes in
FullCodeGenerator::VisitYield and
FullCodeGenerator::EmitGeneratorResume, and re-enables the
generators-iteration test on ARM.
R=mstarzinger@chromium.org
BUG=v8:2355
TEST=mjsunit/harmony/generators-iteration
Review URL: https://codereview.chromium.org/13843022
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 16:07:44 +00:00
mstarzinger@chromium.org
e7c1f322a4
New GC APIs, try 2.
...
With these APIs, the embedder doesn't need to copy Persistent handles around.
BUG=
Review URL: https://codereview.chromium.org/14007008
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 15:59:23 +00:00
svenpanne@chromium.org
bc06a802a7
Fixed HUnaryMathOperation regarding its possible operations.
...
Review URL: https://codereview.chromium.org/14333013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 14:51:14 +00:00
yangguo@chromium.org
d1df0e631d
Clean up VMState a little bit.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/14139033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 14:44:08 +00:00
yangguo@chromium.org
3e7f38147b
Fix windows build.
...
R=svenpanne@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/14476003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-24 14:05:37 +00:00