vegorov@chromium.org
fd2bac7e92
Remove HEnvironment::CheckDepth.
...
R=fschneider@chromium.org
BUG=v8:1727
Review URL: http://codereview.chromium.org/8066005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9465 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-28 11:58:40 +00:00
fschneider@chromium.org
f85bcba479
Limit depth of inlining for --stress-opt runs to avoid going into infinite recursion.
...
Review URL: http://codereview.chromium.org/8060033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-28 11:34:54 +00:00
erik.corry@gmail.com
355a2bf0a8
Temporarily switch on always-compact to flush out crash bugs.
...
Review URL: http://codereview.chromium.org/8068001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-28 11:15:23 +00:00
erik.corry@gmail.com
99ed7bdb29
Fix the build on ARM.
...
Review URL: http://codereview.chromium.org/8065005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9461 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-28 11:00:41 +00:00
vegorov@chromium.org
39512e148d
EvacuateNewSpaceAndCandidates should explicitly skip dead large objects.
...
LargeObjectSpace is swept at the very end of SweepSpaces.
R=mstarzinger@chromium.org
BUG=v8:1736
Review URL: http://codereview.chromium.org/8060013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-28 10:45:27 +00:00
erik.corry@gmail.com
bbcafaa2d5
Make sure we don't flush the pregenerated stubs, since they need
...
to be always present, so that we can call them from other stubs
without trying to generate stubs while we are generating stubs.
Review URL: http://codereview.chromium.org/8052029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9459 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-28 10:32:12 +00:00
danno@chromium.org
1b5a2381ec
Optimize KeyedStoreGeneric for Smi arrays.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/8022002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 16:15:29 +00:00
vegorov@chromium.org
f2ff85ad71
CallFunctionStub was missing a write-barrier for write into the global cell.
...
R=fschneider@chromium.org
BUG=v8:1733
Review URL: http://codereview.chromium.org/8054012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 13:45:13 +00:00
mstarzinger@chromium.org
a79d439586
Fix slot buffers of abandoned evacuation candidates.
...
R=vegorov@chromium.org
BUG=v8:1734
TEST=cctest/test-mark-compact/NoPromotion
Review URL: http://codereview.chromium.org/8051014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9454 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 13:35:04 +00:00
fschneider@chromium.org
27e1a8d414
Improve our simple elimination of hole checks.
...
Currently we avoid checking for the hole value after array loads, if the
result is only used by instructions that definitely deoptimize in case
of the hole value (HChange instructions).
This change performs the same procedure for loading from deleteable/read-only
global variable where we can also avoid the check in the same cases.
Review URL: http://codereview.chromium.org/8054008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9453 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 13:03:19 +00:00
vegorov@chromium.org
2e08515d21
Check the depth of the constructed HEnvironment.
...
Temporary check to catch 1727 on the reliability bot.
R=fschneider@chromium.org
BUG=v8:1727
Review URL: http://codereview.chromium.org/8055010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 12:55:43 +00:00
yangguo@chromium.org
8581ac213a
Fixed a bug in smi-only implementation in x64.
...
Review URL: http://codereview.chromium.org/8060009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 12:25:42 +00:00
kmillikin@chromium.org
bcb781d76a
Record function call targets, use them for inlining.
...
Introduce a version of the CallFunctionStub that records monomorphic
call targets in a one-element cache in the instruction stream. Use
the cache for inlining attempts in the optimizing backend.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7966038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 11:42:02 +00:00
danno@chromium.org
ebc3010ca3
Smi element fixes in Builtins.
...
R=jkummerow@chromium.org
BUG=none
TEST=dromaeo-object-array-array-deconstruction-pop doesn't regress
Review URL: http://codereview.chromium.org/8054007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 11:16:39 +00:00
vegorov@chromium.org
0df7441668
Tighten up assertions checking GC-safety of stub calls.
...
Ensure that stubs are properly pregenerated on all platforms.
R=erik.corry@gmail.com
BUG=v8:1729
Review URL: http://codereview.chromium.org/8041035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 10:53:22 +00:00
vegorov@chromium.org
90cab93be4
In Invoke get JSEntryStub and JSConstructEntryStub directly through roots.
...
Getting them through stub cache introduces bigger overhead.
These stubs are always present.
R=danno@chromium.org
Review URL: http://codereview.chromium.org/8044029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 10:42:32 +00:00
mstarzinger@chromium.org
e7da8b3eeb
Pass sweeping mode as template parameter.
...
R=yangguo@chromium.org
Review URL: http://codereview.chromium.org/8060004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-27 07:52:34 +00:00
ricow@chromium.org
7810ff70f6
Make sure that we can't access hidden properties by installing accessors on Object.prototype.
...
BUG:chromium:97784
TEST=cctest/test-api
Review URL: http://codereview.chromium.org/8041020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9434 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 16:54:50 +00:00
mikhail.naganov@gmail.com
083fd2a454
Fix race in CpuProfiler::StopProcessor / CpuProfiler::TickSampleEvent.
...
R=mstarzinger@chromium.org
BUG=v8:1700
TEST=inspector/profiler/cpu-profiler-profiling-without-inspector.html
Review URL: http://codereview.chromium.org/8028025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9433 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 16:31:11 +00:00
mikhail.naganov@gmail.com
b5946d78c5
Add ObjectMoveEvent reporting for the Heap Profiler into MarkCompact.
...
R=vegorov@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8036024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9432 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 15:59:27 +00:00
ulan@chromium.org
16ae2551ae
Search prototypes for accessor setters if interceptor returns empty value.
...
Extract the part of SetPropertyForResult that searches the prototype chain
for accessor setters into a separate function SetPropertyInPrototypes.
Call this function in SetPropertyPostInterceptor.
This should fix both optimized and unoptimized cases because
the cache stub for storing with interceptor calls the runtime system.
BUG=v8:1636
TEST=cctest/test-api.cc/EmptyInterceptorDoesNotShadowAccessors
Review URL: http://codereview.chromium.org/7991007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 14:54:57 +00:00
mikhail.naganov@gmail.com
c05354ecc4
Add v8::HeapGraphNode::GetHeapValue method.
...
This allows getting a heap object by a heap snapshot node for further
inspection. Very useful for objects from bindings that mostly have
getter-provided fields.
R=vegorov@google.com
BUG=webkit/61179
TEST=test-heap-profiler/GetHeapValue,GetHeapValueForDeletedObject
Review URL: http://codereview.chromium.org/8046006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 14:38:29 +00:00
lrn@chromium.org
d554977c4c
Avoid using C++ STL include <limits>.
...
Review URL: http://codereview.chromium.org/8041019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 12:44:36 +00:00
kmillikin@chromium.org
c1b978c076
Fix a GC-safety issue in optimized code.
...
It's not safe to use an immediate heap object in generated unless we take
pains to ensure it's not in new space. Continue using the caller's context
for inlined functions on all platforms except IA32.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 12:20:11 +00:00
jkummerow@chromium.org
0455aadbeb
Add Crankshaft support for smi-only elements
...
Review URL: http://codereview.chromium.org/8002019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 12:09:04 +00:00
vegorov@chromium.org
6dee868e03
Enable compaction, disable code-compaction.
...
Enable array-join test again.
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/8043022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 11:46:16 +00:00
lrn@chromium.org
172c27a6ba
Added ability to lock strings to prevent their representation or encoding from changing.
...
Use string locking to ensure consistent representation of source string during JSON parsing.
Review URL: http://codereview.chromium.org/7977001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 11:14:41 +00:00
vegorov@chromium.org
a0f07e5db1
Fix bug in PointersUpdatingVisitor::UpdatePointer.
...
It was updating the same pointer twice (was using InNewSpace instead of
InFromSpace).
Also make FLAG_never_compact supercede FLAG_always_compact.
R=erik.corry@gmail.com
BUG=v8:1721
Review URL: http://codereview.chromium.org/8041017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 10:24:42 +00:00
fschneider@chromium.org
ba6cd937ff
Add code comments to deferred code objects to make debugging easier.
...
Review URL: http://codereview.chromium.org/8046003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 09:32:10 +00:00
kmillikin@chromium.org
883f32695b
Enable inlining functions with contexts different than their caller.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7925007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 09:17:56 +00:00
vegorov@chromium.org
1046b1a464
Disable compaction.
...
Introduce flag to control code compaction.
R=danno@chromium.org
Review URL: http://codereview.chromium.org/8037022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 08:53:27 +00:00
lrn@chromium.org
b9d39c48b8
Make the RegExp.prototype object be a RegExp object.
...
BUG=v8:1217
TEST=mjsunit/regress/regress-1217
Review URL: http://codereview.chromium.org/8041015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 08:42:01 +00:00
yangguo@chromium.org
e6509e77d2
Small refactor to KeyedStoreIC::GenerateGeneric to make it slightly faster.
...
Review URL: http://codereview.chromium.org/8008016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-26 07:36:44 +00:00
danno@chromium.org
d21902b25e
Cache multiple ElementsKind map transition per map.
...
R=jkummerow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/8017003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9417 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 15:09:00 +00:00
yangguo@chromium.org
65b1ea22fe
Porting r9392 to x64 (smi-only arrays).
...
Review URL: http://codereview.chromium.org/7992003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 14:19:04 +00:00
whesse@chromium.org
2e40bc244a
Add dynamic stack frame alignment to optimized functions with untagged doubles on the stack.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7976024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 13:28:17 +00:00
fschneider@chromium.org
683decd4ae
Make --trace-deopt --code-comments print the Lithium instruction that caused deoptimization.
...
This saves us from manually searching the disassembled code for the bailout id
when looking for the reason for deoptimization.
Review URL: http://codereview.chromium.org/8008013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 12:13:27 +00:00
svenpanne@chromium.org
901f20b052
Improved printing of a few Hydrogen instructions.
...
Review URL: http://codereview.chromium.org/8002021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 11:51:05 +00:00
yangguo@chromium.org
37606380ab
Porting r9392 to arm (smi-only arrays).
...
Review URL: http://codereview.chromium.org/7995002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9411 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 09:31:20 +00:00
danno@chromium.org
44b4ae1cd8
Add elements kind to maps debugging output
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7966019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9410 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 09:11:56 +00:00
svenpanne@chromium.org
1311b8f0e2
Improve Hydrogen code for accessing undefined/null/Infinity.
...
In some special (but probably very common) cases we can do better than loading
from a global cell for these global properties by emitting the corresponding
constant directly. This opens up opportunities for further improvements, coming
in a separate CL...
Review URL: http://codereview.chromium.org/7992002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 08:00:06 +00:00
mstarzinger@chromium.org
ec587f8a11
Implement verification of new space evacuation.
...
R=vegorov@chromium.org
Review URL: http://codereview.chromium.org/7935013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-23 07:30:57 +00:00
rossberg@chromium.org
3df2602037
Handle function proxies as getters/setters.
...
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/7849021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 17:12:41 +00:00
ricow@chromium.org
e4c90dc958
GC Cleanup + Set max old generation size to 700MB on ia32 and max executable size to 128 MB (on ia32)
...
Review URL: http://codereview.chromium.org/7993003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9406 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 17:10:40 +00:00
keuchel@chromium.org
ad9290a6ae
Disallow strict mode FutureReservedWords as break/continue labels in strict mode
...
TEST=preparser/strict-identifiers.pyt
Review URL: http://codereview.chromium.org/7987002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9404 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 16:38:28 +00:00
ricow@chromium.org
bb2cf02849
Fix arm compilation, missing isolate pointer
...
Review URL: http://codereview.chromium.org/7988007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9403 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 16:27:05 +00:00
vegorov@chromium.org
bfd048173f
Notify collector about lazily deoptimized code objects.
...
All slots that were recorded on these objects during incremental marking should be ignored as they are no longer valid.
To filter such invalidated slots out during slots buffers iteration we set all markbits under the invalidated code object to 1 after the code space was swept and before slots buffers are processed.
R=erik.corry@gmail.com
BUG=v8:1713
TEST=test/mjsunit/regress/regress-1713.js
Review URL: http://codereview.chromium.org/7983045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9402 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 16:01:35 +00:00
yangguo@chromium.org
7ab81a14fa
Reverting r9399.
...
Review URL: http://codereview.chromium.org/7989007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9401 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 15:55:44 +00:00
yangguo@chromium.org
dfeaa56b9a
Fix debug builds broken by r9399.
...
Review URL: http://codereview.chromium.org/7996002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 15:39:22 +00:00
yangguo@chromium.org
0c6863a1ef
Set RegExp's prototype to RegExp as specified by ES5.
...
BUG=v8:1217
TEST=regress-1217.js
Review URL: http://codereview.chromium.org/7995005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9399 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 15:11:12 +00:00
ricow@chromium.org
c23f9867e7
Don't take heap snapshot when doing Heap::RecordStats from OOM cases.
...
Filled issue 1718 to track this.
Review URL: http://codereview.chromium.org/7995003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 14:43:23 +00:00
rossberg@chromium.org
d938560d59
Implement identity hashes for proxies.
...
R=mstarzinger@chromium.org
BUG=v8:1543,v8:1565
TEST=
Review URL: http://codereview.chromium.org/7754015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9396 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 13:54:53 +00:00
mstarzinger@chromium.org
873e4980db
Fix transferal of marking bits on array trimming.
...
R=vegorov@chromium.org
BUG=v8:1708
TEST=mjsunit/regress/regress-1708
Review URL: http://codereview.chromium.org/7979038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9394 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 13:03:22 +00:00
fschneider@chromium.org
c6a3422c04
Give each function prototype a fresh copy of the object function map.
...
This avoid unwanted sharing between different function prototypes and in
general should help inlining because constant function properties on one
prototype don't affect other prototypes anymore.
BUG=v8:1716
Review URL: http://codereview.chromium.org/7994001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9393 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 12:57:54 +00:00
danno@chromium.org
f48c9f6557
Basic support for tracking smi-only arrays on ia32.
...
Activated by the flag --smi-only-arrays
Currently not crankshaft support, using flag on non-ia32 platforms will lead to write barrier misses and crashes.
BUG=none
TEST=elements_kind.js
Review URL: http://codereview.chromium.org/7901016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9392 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 11:30:04 +00:00
rossberg@chromium.org
e04d0b23a8
Make integer indexed properties ("elements") work for proxies.
...
Rehome some Object/JSReceiver/JSObject methods.
R=ricow@chromium.org ,kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/7795055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 10:45:37 +00:00
fschneider@chromium.org
35cb252a86
Attempt to fix GCMole warning.
...
Review URL: http://codereview.chromium.org/7980064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9372 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 09:15:43 +00:00
yangguo@chromium.org
b7cac76bae
Fixed string.split: always convert non-regexp separator to string.
...
BUG=v8:1711
TEST=mjsunit/regress/regress-1711.js
Review URL: http://codereview.chromium.org/7976046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9371 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-22 08:18:58 +00:00
rossberg@chromium.org
fdade92c20
Reorganize object type enum, such that proxies are no longer in the middle
...
of the range of proper JS objects.
Unfortunately, callable types no longer form a range now. However, there
are only two anyway. We put them at either end of the range of JS object
types so that certain compares can be combined.
R=erik.corry@gmail.com ,kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7737036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9370 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 14:46:54 +00:00
sgjesse@chromium.org
9183444850
Turn on d8 interactive debugging before running files passed on the command line
...
If the file test.js contains:
function f() { debugger; }
f()
Then running
$ d8 --debugger test.js
will now hit the breakpoint in f which it would not before.
R=yangguo@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org//7981023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9366 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 13:42:25 +00:00
fschneider@chromium.org
fdaadb78d6
Landing for miket@chromium.org: Add an optional source length field to the Extension constructor.
...
Original code review: http://codereview.chromium.org/7889046/
Review URL: http://codereview.chromium.org/7978028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9365 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 13:28:09 +00:00
rossberg@chromium.org
6c8472bd3a
Fix and test use of property descriptor objects.
...
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/7828080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9364 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 12:45:51 +00:00
keuchel@chromium.org
41eb990afe
Fix pre-parsing function declarations.
...
The preparser has been out of sync with the parser. As a reminder, we have the
following grammer for harmony mode
Block ::
{ SourceElement* }
SourceElement ::
Statement
FunctionDeclaration
LetDeclaration
instead of
Block ::
{ Statement* }
SourceElement ::
Statement
FunctionDeclaration
The extension to allow FunctionDeclarations in statement positions in
non-strict code is still active.
Review URL: http://codereview.chromium.org/7983006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9363 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 12:27:07 +00:00
vegorov@chromium.org
63b6874ef3
SemiSpace::AssertValidRange should use NewSpacePage::FromLimit for start.
...
Otherwise we get the wrong page when start == limit.
R=lrn@chromium.org
Review URL: http://codereview.chromium.org/7979019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9362 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 11:42:48 +00:00
yangguo@chromium.org
731a70ce13
API: Added Debug::DisableAgent to match existing Debug::EnableAgent
...
BUG=v8:1573
TEST=cctest test-debug/TestDebuggerAgent
Review URL: http://codereview.chromium.org/7978025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9361 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 11:34:05 +00:00
vegorov@chromium.org
5b8a6c1e54
Make heap iterable in PrepareForBreakPoints.
...
When aborting incremental marking with compaction discard all slots collected on evacuation candidates.
R=ricow@chromium.org
BUG=v8:1700
TEST=inspector/debugger/debugger-step-in.html
Review URL: http://codereview.chromium.org/7977004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 11:20:05 +00:00
rossberg@chromium.org
647ad8f500
Fix GC hazard.
...
R=jkummerow@chromium.org
BUG=v8:1698
TEST=
Review URL: http://codereview.chromium.org/7977021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9358 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 09:58:40 +00:00
kmillikin@chromium.org
dcc542f2d1
Fix build.
...
Last minute cleanup lost a '*'.
TBR=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7977020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 09:04:44 +00:00
kmillikin@chromium.org
99eab94443
Reapply "Clean up Context::Lookup and its uses."
...
The threading test failures seem to be due to a GC-unsafe place, that
mixed handles and raw pointers, in the runtime code for context
lookup.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7890002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9356 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 08:51:44 +00:00
svenpanne@chromium.org
4e3565cf7f
Fixed alignment problem when generating code for builtins.
...
This is not perfect, but it should fix the problem at hand. We should really clean up the memory handling responsibilities for the (macro)assemblers.
BUG=v8:1706
Review URL: http://codereview.chromium.org/7978023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 07:59:28 +00:00
erik.corry@gmail.com
14087f430d
Disable some tests while we hunt for the reasons behind them.
...
Review URL: http://codereview.chromium.org/7978022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9350 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-21 07:25:33 +00:00
mstarzinger@chromium.org
3fabe323f2
Add kHeaderSize constant to SeqString.
...
This prevents potential misuse of SeqString::kHeaderSize as in the
case of live byte counting in incremental marking stub. All stubs
picked up the undefined size constant SeqString::kHeaderSize, thus
the computed size of all strings was off by two pointers slots.
R=lrn@chromium.org
BUG=v8:1672
TEST=mjsunit/object-seal.js,...
Review URL: http://codereview.chromium.org/7971009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9349 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 16:33:03 +00:00
mstarzinger@chromium.org
bffbcefffb
Fix new space shrinking to compute correct capacity.
...
R=vegorov@chromium.org
BUG=v8:1702
TEST=cctest/test-heap/GrowAndShrinkNewSpace
Review URL: http://codereview.chromium.org/7983001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 15:35:36 +00:00
svenpanne@chromium.org
9702f38cc3
Fixed an assertion in PagedSpace::Verify.
...
The formerly unused variable was found by GCC 4.6.1, BTW...
Review URL: http://codereview.chromium.org/7979005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9347 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 14:46:33 +00:00
mstarzinger@chromium.org
86832d5924
Fix new space shrinking to reset from-space.
...
R=lrn@chromium.org
BUG=v8:1702
TEST=cctest/test-heap/GrowAndShrinkNewSpace
Review URL: http://codereview.chromium.org/7976003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9346 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 13:37:40 +00:00
vegorov@chromium.org
50a94139fc
GcSafeCastToCode should not use Code::contains it is not evacuation safe.
...
R=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/7980004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9345 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 13:36:52 +00:00
erik.corry@gmail.com
c8fe713986
Put back the asserts in RememberedSetHelper, but correct this time.
...
Fix some incorrect comments.
Review URL: http://codereview.chromium.org/7977005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9344 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 13:32:27 +00:00
vegorov@chromium.org
867bb733af
Remove incorrect debug-code assertion.
...
We should not use slot address to find out the page. This does not work for large pages.
Also this assertion is not always true (violated during incremental marking).
R=erik.corry@gmail.com
TEST=mozilla/js1_5/extensions/regress-371636
Review URL: http://codereview.chromium.org/7981001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9339 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 11:30:18 +00:00
lrn@chromium.org
610281f4ee
Fix calculation of live-bytes in pages.
...
The "live bytes" count is *really* a "marked black" count - i.e., the count of bytes *known* to be live.
Fix aggravating bug on X64 where assembler code used a value that was off
by a factor of 2^31.
Ensure that sweeping clears live-bytes. Added other missing increments.
Added print statements to trace live-byte modifications, under a flag.
Still a few cases of undercounting left.
(New issue to merge from GC branch to bleeding_edge)
Review URL: http://codereview.chromium.org/7970009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 11:20:00 +00:00
fschneider@chromium.org
76c869434d
Fix a bug with uninitialized const variables in the optimizing compiler.
...
We have to check for uninitialized uses before phi-elimination. Otherwise we
may miss such a use and result in using the hole value instead. This
causes a NULL-dereference or assertion failure.
BUG=96989
TEST=mjsunit/compiler/regress-96989.js
Review URL: http://codereview.chromium.org/7974009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 10:26:01 +00:00
erik.corry@gmail.com
2f1f203bff
Fix pc to code cache so it can cope with a pointer to the start of the code
...
object. Rename it to be the inner pointer to code cache.
Review URL: http://codereview.chromium.org/7969013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9336 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 10:08:39 +00:00
yangguo@chromium.org
fdffe67205
Initialize pre-allocated fields of JSObject with undefined.
...
BUG=94873
Review URL: http://codereview.chromium.org/7929001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9335 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 10:06:23 +00:00
svenpanne@chromium.org
29618c079a
Make newer GCCs happier: Removed unused variables.
...
Review URL: http://codereview.chromium.org/7969014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9334 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 09:44:23 +00:00
svenpanne@chromium.org
d4bb00230b
Make newer GCCs happier: Fixed NULL vs. 0 confusion.
...
Review URL: http://codereview.chromium.org/7970008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 09:43:58 +00:00
erik.corry@gmail.com
00eaa669ad
Speed up finding code objects from addresses in asserts. With
...
the new large pages it takes too long to iterate from the start
of the page to find a code object.
Review URL: http://codereview.chromium.org/7974007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9332 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 08:32:48 +00:00
kmillikin@chromium.org
22ef98dc66
Fix a deoptimization bug.
...
We reset the count of outgoing arguments, used for the index in the
frame's outgoing arguments, for each level of inlining. This could
result in the arguments overlapping, rather than stacking on top of
each other.
R=whesse@chromium.org ,fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7932022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9331 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-20 07:14:30 +00:00
erik.corry@gmail.com
d8b8825474
ARM: Pregenerate some stubs that we call from other stubs.
...
BUG=1696
Review URL: http://codereview.chromium.org/7956002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-19 18:50:06 +00:00
vegorov@chromium.org
ac36cb4504
Merge experimental/gc branch to the bleeding_edge.
...
Review URL: http://codereview.chromium.org/7945009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9328 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-19 18:36:47 +00:00
fschneider@chromium.org
b77a69f22c
Only do a full verify after computing dominators.
...
We don't modify the graph in later phases. This speeds up debug tests
by a lot.
Review URL: http://codereview.chromium.org/7942001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9325 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-19 15:09:30 +00:00
svenpanne@chromium.org
cf63503cad
Unify the handling of comparinsons against null and undefined.
...
Although this patch is not small, most parts of it are rather mechanical:
* First of all, the concept of a 'nil-like' value is introduced, which can be
null or undefined. They are treated symmetrically regarding comparisons, so
it makes sense to handle them in a uniform manner. It is a mystery why
JavaScript defines two of those beasts, when even *one* is a design wart...
* Extended and renamed a few things which now handle undefined in addition to
null.
* Made the parts of the full code generator and the hydrogen generation which
deal with comparisons a bit more similar regarding their handling of special
cases.
* Refactored the syntactical detection of special cases for comparisons,
hopefully making them a bit more readable and less copy-n-paste-oriented.
Things like this should really be a one-liner in any sane programming
language... :-P
* Cut down the length of the argument lists of a few functions to something
less insane, making them more easily understandable locally. This involves
minor code duplication, but this was a good tradeoff and can be remedied
later if necessary.
* Replaced some boolean arguments with more readable enums.
* Fixed a TODO: Values which are definitely a Smi or unboxed can never be equal
to null or undefined.
Review URL: http://codereview.chromium.org/7918012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9323 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-19 14:50:33 +00:00
yangguo@chromium.org
94d7477011
MIPS: port Make function proxies work as constructors.
...
ported r9310 (72a5468)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7931002
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-19 09:55:07 +00:00
erik.corry@gmail.com
b84214a5be
Fix a harmless assert and a genuine bug in the GC-safety of stub
...
generation on ARM without VFP3.
Review URL: http://codereview.chromium.org/7937004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9319 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-19 07:38:48 +00:00
whesse@chromium.org
acb0f103c1
Fix presubmit - remove stray whitespace on empty lines.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7931023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9318 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-18 21:16:08 +00:00
erikcorry
41cafb7b95
MIPS: Fixed a bug in CallStubCompiler::CompileArrayPushCall.
...
An ARM PreIndex store was badly ported.
Landing http://codereview.chromium.org/7934003/ for Paul Lind.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-18 15:16:46 +00:00
erikcorry
433db37747
MIPS: port Implement function proxies (except for their use as constructors).
...
port r9258 (c8709a9)
Note on mips implementation: Arm reg r4 (call type) normally maps to mips
reg t0. We had already used t0 as a temp in Generate_FunctionCall() and
Generate_FunctionApply(), so I replaced that existing t0 usage with t3, and
now use t0 only for call type.
Original commit message:
Introduce new %Apply native.
Extend Execution::Call to optionally handle receiver rewriting (needed for %Apply).
Fix Function.prototype.bind for functions that have .apply modified.
Landing http://codereview.chromium.org/7891033/ for Paul Lind.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9316 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-18 15:11:33 +00:00
erikcorry
4c64b160d2
MIPS: Fix assertion-fail on cacheflush from generated code.
...
Fix a mips-specific CallCFunction assertion, when checking for valid
frames on the stack. We fake it with AllowExternalCallThatCantCauseGC().
Landing http://codereview.chromium.org/7932010/ for Paul Lind.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9315 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-18 15:05:44 +00:00
fschneider@chromium.org
5cf540acce
When --nolimit-inlining flag is set, don't limit inlining depth.
...
This flag is used to debug problems with inlining.
By default we still limit inlining to small functions and up to a maximum
depth to avoid too much code size growth.
Review URL: http://codereview.chromium.org/7919012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9314 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-17 12:29:16 +00:00
rossberg@chromium.org
42f0a73a96
Make proxies work as prototypes.
...
Fix a couple of other proxy bugs along the way.
Refactor trap invocation in native code.
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/7799026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-16 13:38:30 +00:00
erik.corry@gmail.com
ff5e1c9822
Fix asserts and GC unsafeness in stub generation, bug=1689.
...
Review URL: http://codereview.chromium.org/7920006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-16 13:06:51 +00:00
rossberg@chromium.org
07469fa5ae
Make function proxies work as constructors.
...
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/7628021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9310 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-16 12:26:29 +00:00
erik.corry@gmail.com
ab30559fee
Fix some stub calling asserts on x64.
...
Review URL: http://codereview.chromium.org/7922008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-16 11:29:13 +00:00
danno@chromium.org
c74aae242a
MIPS: pre-crankshaft updates to code-stubs and stub-cache (3/3)
...
Highlights:
- code-stubs-mips.cc
-- use EmitFPUTruncate in place of inline code in several places.
-- use BranchF macro rather than lower-level FP cmp and branch for readability.
-- Port of Sven's r8859 (Implement type recording for ToBoolean) and r8886
(Simplify and optimize ToBoolean handling.)
-- Fix bug in TranscendentalCacheStub::Generate where some regs were not
saved across CFunction call.
-- use updated xxxCFunction macros.
-- update InstanceOfStub to support crankshaft
DoDeferredLInstanceOfKnownGlobal
-- Provide code-patching and I-cache flushing support for generated
code, used for InstanceOfStub under crankshaft (not submitted here).
This requires adding new ExternalReference to src/assember.cc,h
- stub-cache-mips.cc
-- port Danno's r8901 (Create a common base class for Fixed-, FixedDouble-
and ExternalArrays) to mips crankshaft branch.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7890001
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9308 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-16 09:23:48 +00:00
danno@chromium.org
c579bfe6e2
MIPS: pre-crankshaft updates to macro-assembler and related files. (2/3)
...
Highlights:
- Better support for FP compares and branches (BranchF macro)
- Add EmitFPUTruncate() macro, similar to EmitVFPTruncate on Arm.
- Some improvements to long-branch mechanism for mips.
- Add ClampUint8() and ClampDoubleToUint8()
- Minor changes to ic-mips, full-codegen-mips mostly, for improved
code-patching with BinaryOpStub.
- Small changes to stack checking in full-codegen-mips and
regexp-macro-assembler-mips
BUG=
TEST=
Review URL: http://codereview.chromium.org/7888004
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9307 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-16 09:12:56 +00:00
erik.corry@gmail.com
2517b0ef5d
Fix some asserts in stub generation and file some bugs where
...
we appear to have valid asserts triggering.
Review URL: http://codereview.chromium.org/7908005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9305 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 19:24:04 +00:00
danno@chromium.org
6a5e0448c8
Share Maps for ElementsKind transitions
...
Support sharing maps after an changing an object's ElementsKind for element kinds other then external elements.
R=svenpanne@chromium.org
BUG=none
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/7862036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 16:38:47 +00:00
yangguo@chromium.org
3439ab60f7
Correcting a bogus assert outdated since r9295.
...
Review URL: http://codereview.chromium.org/7909002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9300 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 12:47:06 +00:00
jkummerow@chromium.org
fcc2e65aad
Change global const handling to silently ignore redeclarations
...
and make window.{Infinity,NaN,undefined} read-only as per ES5
BUG=89490
TEST=mjsunit/const-redecl.js, mjsunit/undeletable-functions.js, es5conform, sputnik
Review URL: http://codereview.chromium.org/7811015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9299 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 12:00:30 +00:00
erik.corry@gmail.com
44d931c9d5
Add asserts to ensure that we:
...
1) Don't make a call to C without having a valid frame on the stack.
2) Don't generate a call to a stub while generating a stub, unless we can be
sure that the stub we are calling has already been generated (the stub
generation code is not reentrant wrt. GC).
Review URL: http://codereview.chromium.org/7891042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9297 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 11:30:45 +00:00
yangguo@chromium.org
327eb48ce6
Enable slices of external strings (in the tentative implementation).
...
TEST=cctest test-strings/SliceFromExternal, mjsunit/string-slices.js
Review URL: http://codereview.chromium.org/7832002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9295 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 11:10:01 +00:00
fschneider@chromium.org
9e4663a8d9
Enable inlining of functions that reference context slots.
...
Review URL: http://codereview.chromium.org/7887038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9294 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 10:57:47 +00:00
svenpanne@chromium.org
8c744768e2
Nuke CompareToNull AST node.
...
The Great Master Plan is to move the recognition of special cases for
comparisons further down the compilation pipeline where more information is
available. This is a first step into this direction: The special handling of
equality comparisons involving null is pushed from the parser to the code
generators, removing the need for a special AST node. (There are rumors from
usually well-informed sources that this node type is actually a relic of ancient
crankshaft days...)
The next steps will be the unification of null/undefined handling and pushing
the special case handling in crankshaft even further down the pipeline, enabling
the recognition of cases like "var foo=null; if (foo === bar) ...", but these
will be in separate CLs.
Review URL: http://codereview.chromium.org/7887037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9293 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 09:09:40 +00:00
yangguo@chromium.org
48b5328bde
Fixing issue 1639, debugger stops stepping outside evaluate.
...
BUG=v8:1639
Review URL: http://codereview.chromium.org/7889039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9287 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 07:23:31 +00:00
lrn@chromium.org
2ac387c28c
Prepare push to trunk. Now working on version 3.6.5.
...
R=ricow@chromium.org
Review URL: http://codereview.chromium.org/7905001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-15 07:22:07 +00:00
vegorov@chromium.org
af03e40cbb
Force lazy deoptimization and remove optimized code on deopt inside a recursively invoked function.
...
R=fschneider@chromium.org ,sgjesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7890028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9285 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 16:14:26 +00:00
yangguo@chromium.org
e53841104d
Fixing d8's broken readline history.
...
Review URL: http://codereview.chromium.org/7885026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 14:39:56 +00:00
keuchel@chromium.org
96de832c89
Mark variables as being accessed from any inner scope, not only function scopes
...
BUG=96523
TEST=mjsunit/regress/regress-96523.js
Review URL: http://codereview.chromium.org/7890031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9281 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 13:51:29 +00:00
lrn@chromium.org
724962846c
Make built-in functions not call .apply on functions.
...
Uses the new %Apply runtime function instead.
Removes last(?) dependency on user-mungable infrastructure.
Review URL: http://codereview.chromium.org/7887031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9277 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 12:33:57 +00:00
mikhail.naganov@gmail.com
b706cfce94
Eliminate the need for code delete events in CPU profiler.
...
Events are still generated for tick processor on performance testing
server to work, as soon as scripts will be updated, it will be safe
to remove code delete events emitting code.
R=erik.corry@gmail.com
BUG=v8:1466
TEST=existing tests in test-profile-generator,test-cpu-profiler and mjsunit/tools
Review URL: http://codereview.chromium.org/7864017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9275 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 11:47:03 +00:00
yangguo@chromium.org
b910f4317e
Reverting r9272.
...
Review URL: http://codereview.chromium.org/7889033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9274 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 11:27:14 +00:00
keuchel@chromium.org
a392f5bf70
Fix scope iteration when debugging global code.
...
TEST=mjsunit/debug-scopes.js
Review URL: http://codereview.chromium.org/7890007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9273 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 11:20:31 +00:00
yangguo@chromium.org
9d235c9dd7
Fixed broken readline console history.
...
Review URL: http://codereview.chromium.org/7888035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9272 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 11:05:07 +00:00
kmillikin@chromium.org
7f28e975e5
MIPS: port Remove in-loop tracking for call ICs.
...
port r9260 (af9cfd83).
Original commit message:
We passed this flag around in a lot of places and had differenc call
ICs based on it, but never did any real specialization based on its
value.
BUG=
TEST=
Committed: http://code.google.com/p/v8/source/detail?r=9269
Review URL: http://codereview.chromium.org/7886028
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9271 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 08:11:16 +00:00
kmillikin@chromium.org
63bec78428
Revert "MIPS: port Remove in-loop tracking for call ICs."
...
Committed incorrectly.
TBR=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7890026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 08:08:16 +00:00
kmillikin@chromium.org
f9e2922b12
MIPS: port Remove in-loop tracking for call ICs.
...
port r9260 (af9cfd83).
Original commit message:
We passed this flag around in a lot of places and had differenc call
ICs based on it, but never did any real specialization based on its
value.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7886028
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9269 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 08:04:47 +00:00
rossberg@chromium.org
40880d3206
Fixed spurious character in test case, plus presubmit issues.
...
Also addressed Slava's complaint about the personalized comment.
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7886032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9268 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-14 07:30:51 +00:00
rossberg@chromium.org
28f7136ced
Fix for .bind regression.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7892013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9267 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 17:14:39 +00:00
yangguo@chromium.org
9ca9cdfbf6
Debugger: fix stepping next with trycatch recursion
...
Added depth check to StepNextContinue. Do step out and queue actual StepNext if check failed.
R=yangguo@chromium.org ,danno@chromium.org,vegorov@chromium.org
BUG=v8:1639
TEST=
Review URL: http://codereview.chromium.org/7780033
Patch from Fedor Indutny <fedor@indutny.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9264 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 14:38:39 +00:00
yangguo@chromium.org
8a4a737aef
Fixing r9262 for shared library build.
...
Review URL: http://codereview.chromium.org/7888013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9263 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 14:31:54 +00:00
yangguo@chromium.org
113434a6e6
Fixing parallel execution in d8 (with -p) and some memory leaks.
...
Review URL: http://codereview.chromium.org/7891005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9262 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 13:16:13 +00:00
rossberg@chromium.org
ff5c242a47
Test (and fix) all exception paths that can occur with proxies.
...
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/7623013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 13:07:20 +00:00
kmillikin@chromium.org
40cd59f238
Remove in-loop tracking for call ICs.
...
We passed this flag around in a lot of places and had differenc call
ICs based on it, but never did any real specialization based on its
value.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7869009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 12:53:28 +00:00
danno@chromium.org
aa00dbdc40
MIPS: pre-crankshaft updates to assembler and related files. (1/3)
...
Highlights:
- assembler.h adds FPU definitions used for Crankshaft.
- Support optimization of mips call: jalr->jal
- includes changes to set_target_address_at(), support routines.
- Add 2nd use of Apply() to update target addresses.
- Minor debugging improvement in simulator.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7888003
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9259 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 12:12:25 +00:00
rossberg@chromium.org
e645597aa7
Implement function proxies (except for their use as constructors).
...
Introduce new %Apply native.
Extend Execution::Call to optionally handle receiver rewriting (needed for %Apply).
Fix Function.prototype.bind for functions that have .apply modified.
R=kmillikin@chromium.org
BUG=v8:1543
TEST=
Review URL: http://codereview.chromium.org/7623011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 11:42:57 +00:00
fschneider@chromium.org
19b5f44712
Fix presubmit.
...
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/7888008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9257 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 10:29:11 +00:00
mstarzinger@chromium.org
aae949ba10
Fix parent of the WeakMap prototype.
...
R=rossberg@chromium.org
BUG=v8:1565
TEST=mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/7890003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9254 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 09:45:10 +00:00
fschneider@chromium.org
e74033d9cc
Fix some valgrind errors in d8 shell.
...
This fixes 3 possibly lost warnings occurring when running unit tests under d8:
28 bytes in 1 blocks are possibly lost in loss record 40 of 68
at 0x67FB8DB: operator new[](unsigned int)
by 0x83865CC: v8::Shell::SetOptions(int, char**) (d8.cc:1200)
by 0x83869A5: v8::Shell::Main(int, char**) (d8.cc:1276)
by 0x8386B31: main (d8.cc:1333)
Review URL: http://codereview.chromium.org/7780032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9252 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 09:31:41 +00:00
sgjesse@chromium.org
81df4a42e4
Support for precise stepping in functions compiled before debugging was started (step 1)
...
This change will ensure that all non-optimized code will be compiled
with debug break slots when debugging is initiated. This is handled by
scanning the heap for non-optimized functions without debug break slots and setting their code to be lazy recomplied. When the lazy recompilation happens the code will ge generated with debug break slots (if debugging is still active at that point in time).
R=svenpanne@chromium.org
Currently this is only implemented for functions which do not have activations on the stack.
BUG=
TEST=
Review URL: http://codereview.chromium.org//7839030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9250 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 08:31:21 +00:00
kmillikin@chromium.org
f6887702fb
Prepare push to trunk. Now working on version 3.6.4.
...
R=jkummerow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7892002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 08:06:55 +00:00
kmillikin@chromium.org
e9c6a554fc
Revert "Clean up Context::Lookup and its uses."
...
This reverts commit 9241. This change shows failures on Mac and Win
for the threading tests. Reverting while I investigate.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7886002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9246 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-13 07:51:22 +00:00
svenpanne@chromium.org
130b9d7858
Improved pretty printing of VAR PROXY and some control flow AST nodes.
...
Review URL: http://codereview.chromium.org/7866041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9245 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 14:00:16 +00:00
jkummerow@chromium.org
db2bac3847
d8 external array c'tors: fix double-to-uint32 semantics
...
TEST=mjsunit/external-array
Review URL: http://codereview.chromium.org/7866040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9244 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 13:36:43 +00:00
jkummerow@chromium.org
3ec371690c
d8 external array c'tors: allow parameters that can be converted to numbers
...
BUG=v8:1681
TEST=d8 accepts: var a = new Int32Array("2");
Review URL: http://codereview.chromium.org/7867036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9243 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 12:42:05 +00:00
kmillikin@chromium.org
2ebe8039ac
Add an explicit cast for an integral promotion that MSVC warns about.
...
I don't think the warning is valid, but it's a good sign that MSVC is
fixin' to generate the wrong code no matter what I think.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7869008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9242 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 12:16:30 +00:00
kmillikin@chromium.org
c0491e712d
Reapply "Clean up Context::Lookup and its uses."
...
With a fix for a context lookup bug in the original change.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7862032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 12:13:00 +00:00
kmillikin@chromium.org
636991a0b3
Use the BitField class for Code::Flags.
...
Use the BitField helper class for the code flags, so that we do not have to
define both a shift and a mask explicitly. This makes changing the flags
layout simpler.
Also, make the 'mask' and 'max' members of BitField into constants, because
they are constant and so that they can be used as constant expressions.
E.g., so they can be used in declaring other const members or in static
asserts.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7787028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 10:50:50 +00:00
mikhail.naganov@gmail.com
4d89e379bb
Fix the include guard from circular-queue-inl.h
...
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/7864028
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9228 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 10:24:18 +00:00
svenpanne@chromium.org
1a4086c076
Improved printing of Goto and CompareIDAndBranch instructions.
...
Review URL: http://codereview.chromium.org/7862031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 09:57:11 +00:00
svenpanne@chromium.org
baab04283d
Refactored HInferRepresenation::TryChange a bit, making the heuristics a bit clearer.
...
Removed an unneeded check for phis: There are never HValues in the work list
which are not convertible to integer and are not a phi. (But even if they were,
ignoring IsConvertibleToInteger() then looks like the wrong thing to do.)
Review URL: http://codereview.chromium.org/7857033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9225 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 09:24:18 +00:00
kmillikin@chromium.org
faa82f6363
Revert "Clean up Context::Lookup and its uses."
...
This reverts commit 9223, due to test failures.
R=ricow@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7865023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9224 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 09:17:26 +00:00
kmillikin@chromium.org
df11bd7b75
Clean up Context::Lookup and its uses.
...
Refactor Context::Lookup so it is more obvious. Change the comment in
contexts.h so it no longer indicates that it can return an arguments
object (it can't) and clean up the call sites that had leftover dead code.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7782030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9223 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 08:57:09 +00:00
lrn@chromium.org
75b32ce7b8
Move the implementation of Scanner::LiteralScope to scanner.cc
...
It seems more appropriate as LiteralScope is declared in scanner.h
R=lrn@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7864024
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-12 07:49:01 +00:00
mikhail.naganov@gmail.com
f8e5c71e18
Rename SmartPointer to SmartArrayPointer.
...
As pointed out in: http://codereview.chromium.org/7754007/#msg5
"SmartPointer should have been named SmartArrayPointer as it expects an input
allocated using new[] and deallocates it using delete[]. Using it as a simple
scoped pointer for a single object is incorrect."
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/7860011
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9215 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 22:39:47 +00:00
danno@chromium.org
ab26d8356c
Key external array map transitions on ElementsKind instead of ExternalArrayType
...
R=jkummrow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7787007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9214 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 14:47:37 +00:00
danno@chromium.org
df860eda5c
Don't allow seal or element property re-definition on external arrays.
...
R=ricow@chromium.org
BUG=95920
TEST=test/mjsunit/regress/regress-95920.js
Review URL: http://codereview.chromium.org/7858031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9213 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 14:30:00 +00:00
svenpanne@chromium.org
1341ae7c1a
Re-use phi reachability information to avoid a fixed-point computation.
...
When we propagate the information that a value is not convertible to integer,
there is no need for a separate fixed-point computation, we can do things the
"Millikin way" (tm), folding as much computation as possible into a single pass:
;-) We already have the phi node reachability information, so we can easily
propagate this while doing the representation histogram computation.
Review URL: http://codereview.chromium.org/7754010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9212 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 13:12:52 +00:00
yangguo@chromium.org
37e39ce3f9
Trigger OOM when zone is full.
...
Review URL: http://codereview.chromium.org/7859030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 12:41:58 +00:00
yangguo@chromium.org
2a92165101
Better error messages for d8's load() (execute from file).
...
BUG=v8:796
Review URL: http://codereview.chromium.org/7754018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9209 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 11:10:36 +00:00
danno@chromium.org
9b2de409f9
Mechanical refactor to move ElementsKind type out of JSObject.
...
R=svenpanne@chromium.org
BUG=none
TEST=all
Review URL: http://codereview.chromium.org/7849017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9208 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 09:35:57 +00:00
fschneider@chromium.org
366416f7bd
Add a function to compute loop nesting level to HBasicBlock.
...
Review URL: http://codereview.chromium.org/7857031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-09 09:17:57 +00:00
vitalyr@chromium.org
c6e19bfbba
Follow up fixes for r9205: shared library build and thread deletion.
...
Review URL: http://codereview.chromium.org/7787013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9206 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 23:43:36 +00:00
vitalyr@chromium.org
2063e14c15
Release memory of semaphores and thread pointers by using 'delete' instead of SmartPointer.
...
As pointed out in: http://codereview.chromium.org/7754007/
SmartPointer expects an input allocated using new[] and deallocates it using delete[].
So using SmartPointer for deleting T* here is incorrect. Fix it now.
R=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/7846022
Patch from Thiago Farina <tfarina@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9205 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 22:44:03 +00:00
ricow@chromium.org
b8cbe08fcc
Fix presubmit errors caused by updated depot tools
...
This is all blank line before/after linting errors.
Review URL: http://codereview.chromium.org/7754022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9204 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 19:57:14 +00:00
kmillikin@chromium.org
78ce35effd
Use more style-guide-friendly names for some constants.
...
This is a renaming only change.
R=erik.corry@gmail.com
BUG=
TEST=
Review URL: http://codereview.chromium.org/7849020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9200 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 16:29:57 +00:00
ricow@chromium.org
d409a49d57
Prepare push to trunk. Now working on version 3.6.3.
...
Review URL: http://codereview.chromium.org/7849019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9199 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 16:09:24 +00:00
mikhail.naganov@gmail.com
080628d32f
Fix memory leak from d8 shell.
...
We were not disposing the semaphores and the thread used in SourceGroup.
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7754007/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9198 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:51:06 +00:00
lrn@chromium.org
c1dc429c02
Fix bug in collector.
...
Small cleanups in preparser.
TEST=cctest/test-utils/SequenceCollectorRegression
Review URL: http://codereview.chromium.org/7754014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:44:11 +00:00
lrn@chromium.org
689f3cb314
Rename scanner.* to scanner-character-streams.*. and scanner-base.* to scanner.*
...
R=lrn@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7739020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9195 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 13:06:44 +00:00
yangguo@chromium.org
17d3f54b09
Amends to r9181 and r9191.
...
Review URL: http://codereview.chromium.org/7847019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9192 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 11:03:26 +00:00
yangguo@chromium.org
128552db35
Fixing shared library build of d8.
...
Review URL: http://codereview.chromium.org/7851013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 09:49:52 +00:00
erik.corry@gmail.com
1e83d2f92e
Fix missing setting of array to copy-on-write in
...
optimized string split.
Review URL: http://codereview.chromium.org/7849012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9190 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 09:24:32 +00:00
kmillikin@chromium.org
5f1b39e0d5
Remove ExitContextStatement.
...
All the constructs that used it are now properly bracketed in the AST and we
handle abrupt exits without try/finally. We can treat normal context exit
as occurring implicitly at the end of a body.
Review URL: http://codereview.chromium.org/7837025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 08:59:14 +00:00
yangguo@chromium.org
ca67c5a23d
Functions in d8 to turn the profiler on/off (enableProfiler() and disableProfiler()).
...
Review URL: http://codereview.chromium.org/7851011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9188 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 08:54:28 +00:00
kmillikin@chromium.org
0b1225a5aa
MIPS: port Remove variable rewrites and the unneccesary Slot class.
...
Port r9162 (2215df8).
BUG=
TEST=
Review URL: http://codereview.chromium.org/7847015
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9187 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 08:47:07 +00:00
svenpanne@chromium.org
ffb70bc843
Improved phi reachability computation a bit.
...
The use-def relation between phis is mainly "forwards" (i.e. from phis with
smaller IDs to ones with larger IDs), so the fixed point computation terminates
faster when iterate through the phis in a "backwards" manner. This is quite
visible in complex Mandreel-generated code, where a few hundred phis with
non-trivial use-def chains are generated.
Review URL: http://codereview.chromium.org/7848012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9185 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 07:40:11 +00:00
ricow@chromium.org
6bcf162853
Fix wrong assert from 9180
...
There is an optional parameter to the function, with default value being a null handle. We then check that this is a flat string.
Review URL: http://codereview.chromium.org/7850011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9184 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 06:23:05 +00:00
erik.corry@gmail.com
2f32fab4d0
JSArray can go slow case during String.split. Guard against
...
that eventuality.
Review URL: http://codereview.chromium.org/7840031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9183 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-08 06:06:13 +00:00
yangguo@chromium.org
f877f7bda2
Fixing presubmit error.
...
Review URL: http://codereview.chromium.org/7839031
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 16:15:48 +00:00
yangguo@chromium.org
bee91360af
Faster non-regexp global string.replace.
...
BUG=v8:1662
Review URL: http://codereview.chromium.org/7782028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 15:17:57 +00:00
erik.corry@gmail.com
5eb11917dc
Fix 64 bit build on Windows.
...
Review URL: http://codereview.chromium.org/7841035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9177 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 13:44:42 +00:00
erik.corry@gmail.com
c49d400347
Fix assert on Mozilla test after String split optimization.
...
Review URL: http://codereview.chromium.org/7837026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9176 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 13:17:25 +00:00
erik.corry@gmail.com
e9cc1804bd
Make one-character strings into symbols more agressively.
...
Review URL: http://codereview.chromium.org/7840029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9175 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 13:13:56 +00:00
lrn@chromium.org
81e7f597b0
Reintroduce duplicate identifier detection in preparser.
...
Duplicate identifier detection must be an early syntax error in strict code,
so errors in otherwise lazily compiled functions must be caught in the
preparser.
Originally introduced in r8541 and reverted in r8542.
Now really compiles on Windows.
Review URL: http://codereview.chromium.org/7782023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 12:39:53 +00:00
jkummerow@chromium.org
c7a0c19d11
Prepare push to trunk. Now working on version 3.6.2.
...
R=lrn@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7841034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9171 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 12:37:07 +00:00
lrn@chromium.org
2c8680cc46
Avoid size increase of snapshot.
...
The prototype of builtin functions is already unwritable, so we don't
have to make it so (the default map for functions changes after builtins
are initialized).
We no longer need to make the prototype non-extensible, since all properties
that are ever read by the bultins code has been added and frozen already.
Adding properties to the prototype, or changing its __proto__, cannot affect
code.
Removing these two pieces of initialization code reduces the snapshot size
by a few Kb.
Review URL: http://codereview.chromium.org/7839028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9166 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:56:06 +00:00
erik.corry@gmail.com
a6864a4dd8
Fix presubmit
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9165 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:49:12 +00:00
erik.corry@gmail.com
260d65d584
Optimize the common obfuscator pattern where ["foo","bar","baz"]
...
gets converted fo "foo,bar,baz".split(","). If the inputs are
symbols we cache the result and make the substrings into symbols.
Review URL: http://codereview.chromium.org/7782025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:28:48 +00:00
kmillikin@chromium.org
765cf1f25e
Fix presubmit failures.
...
TBR=fschneider@chromium.org
Review URL: http://codereview.chromium.org/7837024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9163 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:11:36 +00:00
kmillikin@chromium.org
94777e213d
Remove variable rewrites and the unneccesary Slot class.
...
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7824038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 11:02:31 +00:00
svenpanne@chromium.org
296612c114
Nuked unused method declaration.
...
Review URL: http://codereview.chromium.org/7841030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9161 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 09:34:47 +00:00
kmillikin@chromium.org
8b165d414f
Fix a bug in abrupt exit from with or catch inside finally.
...
When with or catch is nested inside finally, we were not properly restoring
the context in the stack for the finally code. Also, as a small
optimization, restore it from the handler block instead of iteratively
unwinding contexts.
R=fschneider@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7837023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9160 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-07 09:21:44 +00:00
keuchel@chromium.org
85a5b6d3c4
Getting rid of ExitContextStatement for scoped blocks.
...
Review URL: http://codereview.chromium.org/7835027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 22:00:59 +00:00
keuchel@chromium.org
edd893a159
Simplfy handling of exits from scoped blocks.
...
BUG=
TEST=mjsunit/harmony/block-leave.js
Review URL: http://codereview.chromium.org/7792100
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 21:48:32 +00:00
keuchel@chromium.org
0820205316
Avoid dynamic lookup when initializing let declared variables.
...
'Let's inside a 'with' would initialize the variable
using the StoreContextSlot runtime function which
would fail because it checks that the variable does
not hold the hole value.
Review URL: http://codereview.chromium.org/7792098
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9156 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 21:22:35 +00:00
yangguo@chromium.org
8b82ad274f
Put test directories of d8-os tests into /tmp/.
...
Review URL: http://codereview.chromium.org/7835040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9154 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 14:48:08 +00:00
jkummerow@chromium.org
09c66d20ce
Fix possible crash in FixedDoubleArray::Initialize()
...
(this only affected ia32).
BUG=95113
TEST=mjsunit/regress/regress-95113.js passes without crashing.
Review URL: http://codereview.chromium.org/7833040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9153 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 14:07:54 +00:00
ricow@chromium.org
df9d8ee8be
Fix map space explosion from changing the arguments and caller properties on native functions.
...
Adding these local properties on all native functions made us do a
ConvertDescriptorToField on the callback on each and every native
functions, resulting in us creating an extra map for each of these.
Review URL: http://codereview.chromium.org/7779046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9152 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 14:03:32 +00:00
vegorov@chromium.org
d451878c91
Fix bug in Page::GetRegionMaskForSpan.
...
When checking for a wrap take into account offset of the start address in the region.
BUG=http://crbug.com/94425
TEST=test/mjsunit/regress/regress-94425.js
Review URL: http://codereview.chromium.org/7779037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9145 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 11:24:48 +00:00
yangguo@chromium.org
bd624b2f9f
Limit the time d8 interactive shell's input strings stay alive.
...
Review URL: http://codereview.chromium.org/7779032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9143 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 09:07:39 +00:00
jkummerow@chromium.org
1db6be7f2b
Fix a few clang warnings (which -Werror treats as errors)
...
Review URL: http://codereview.chromium.org/7779033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9141 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 07:41:45 +00:00
yangguo@chromium.org
4a36886a80
MIPS: ported r9119 fixing performance regression in regexp.
...
Review URL: http://codereview.chromium.org/7779030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9140 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-06 07:09:53 +00:00
svenpanne@chromium.org
768b00a53c
Print value and type check dependency for JSArrayLength instruction.
...
Review URL: http://codereview.chromium.org/7800028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 13:28:56 +00:00
fschneider@chromium.org
bbd5cdf8c2
Landing MIPS: Support declarations of context allocated locals in Crankshaft.
...
Original code review: http://codereview.chromium.org/7739017/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9136 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 11:45:09 +00:00
lrn@chromium.org
6875d5e734
Optimize isFinite and isNaN.
...
Arithmetic on infinities and NaN is much slower than doing several exact comparisons.
Review URL: http://codereview.chromium.org/7830036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9134 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 11:08:57 +00:00
fschneider@chromium.org
42e8bb6216
Prepare push to trunk. Now working on version 3.6.1.
...
Review URL: http://codereview.chromium.org/7833025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 10:37:49 +00:00
erik.corry@gmail.com
72bf0e229e
Up the max heap size from 512Mbytes to 700MBytes as an experiment.
...
Review URL: http://codereview.chromium.org/7835029
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9130 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 10:35:31 +00:00
yangguo@chromium.org
efada0017a
MIPS: port Generated code for substring slices in x64 and arm.
...
Ported r9111 (2b946464)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7835025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9127 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 09:05:52 +00:00
yangguo@chromium.org
63bbe11e6a
MIPS: Minor cleanup change to arguments slots constants.
...
This is the bleeding_edge port of our crankshaft commit 41cab38.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7834017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9126 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 09:04:32 +00:00
mikhail.naganov@gmail.com
29bb1f8d62
Remove STL dependencies from mksnapshot.cc
...
Remove unused code and consequently the stl includes of map and string.
R=mnaganov@chromium.org
Review URL: http://codereview.chromium.org/7737012/
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9125 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 08:06:29 +00:00
lrn@chromium.org
449fd357df
Remove unused includes from scanner.h.
...
This file should also be renamed to something else, as after many refactors,
there isn't any Scanner class in there, just four CharacterStream classes.
R=lrn@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7835019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9124 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 07:39:47 +00:00
mikhail.naganov@gmail.com
1e90df2aad
A temporary workaround for huge heap snapshots problem.
...
Do not try to serialize them into JSON to avoid crashing / hanging DevTools.
R=sgjesse@chromium.org
BUG=v8:1658,89268
TEST=none
Review URL: http://codereview.chromium.org/7832003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9123 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 07:37:52 +00:00
lrn@chromium.org
ffffa716c5
Lock the prototype of internal classes.
...
Prototypes and their properties and methods are locked down to prevent fiddling with their operation, even if the build-in object leaks.
Made some built-in functions only work during bootstrapping.
Review URL: http://codereview.chromium.org/7799027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9122 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-05 07:30:35 +00:00
mikhail.naganov@gmail.com
5105a20dd7
Make a static non-POD object a static raw pointer instead.
...
Change it to a plain static pointer and initialize lazy.
BUG=83856
TEST=None
R=ager@chromium.org ,mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9120 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 16:46:35 +00:00
yangguo@chromium.org
9e7f24a739
Fixed performance regression in v8 regexp benchmark on ARM.
...
Review URL: http://codereview.chromium.org/7824033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9119 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 13:42:50 +00:00
fschneider@chromium.org
b20f952e71
Remove unused code for AstSentinels and related stuff.
...
TEST=compiles
Review URL: http://codereview.chromium.org/7792097
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 12:59:05 +00:00
keuchel@chromium.org
ccd2cd8f64
Prune empty block scopes from scope tree
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7825006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 12:43:28 +00:00
lrn@chromium.org
b7eb138eab
The spec (15.1.2.2 parseInt (string , radix)) says ToString should be called before ToInt32.
...
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf
In the current implementation, the order is reversed. So this webkit test (https://bugs.webkit.org/show_bug.cgi?id=65366 ) fails on Chromium.
BUG=1649
TEST=parse-int-float.js
Review URL: http://codereview.chromium.org/7740080
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9116 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 11:38:40 +00:00
fschneider@chromium.org
5289e3e08b
Allow OSR for closures that reference context slots.
...
Review URL: http://codereview.chromium.org/7812023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9115 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-02 09:29:21 +00:00
fschneider@chromium.org
913f444cb7
Support declarations of context allocated locals in Crankshaft.
...
The changes to scopes and parser introduce a VariableProxy
wrapping the function-name variable for function literals.
It seems the easiest way to get an AST id for the HSimulate
after context-slot stores in declarations.
Review URL: http://codereview.chromium.org/7826009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 16:33:57 +00:00
yangguo@chromium.org
1be99a9627
Generated code for substring slices in x64 and arm.
...
Review URL: http://codereview.chromium.org/7795018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9111 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 15:24:26 +00:00
svenpanne@chromium.org
4e049d4619
Include more information when printing phi nodes.
...
Still a bit cryptic, but people interested in phi nodes should know what they're doing... ;-)
Review URL: http://codereview.chromium.org/7824004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9110 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 14:59:47 +00:00
yangguo@chromium.org
00c1153887
Changed printing of immediate result in d8's interactive shell.
...
BUG=v8:371
Review URL: http://codereview.chromium.org/7792055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9109 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 14:02:35 +00:00
keuchel@chromium.org
d434d3158c
Detect conflicting variable bindings in harmony mode.
...
BUG=
TEST=mjsunit/harmony/block-conflicts.js
Review URL: http://codereview.chromium.org/7756014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9102 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 12:31:18 +00:00
lrn@chromium.org
fdc7f60f42
Make functions on the built-in object non-writable.
...
Review URL: http://codereview.chromium.org/7736018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 11:57:02 +00:00
yangguo@chromium.org
86a62d0da3
Added check for trailing whitespaces and corrected existing violations.
...
Review URL: http://codereview.chromium.org/7826007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 11:28:10 +00:00
ricow@chromium.org
4e94cd8b08
Make arguments and caller always be null on native functions (fixes issue 1548 and issue 1643).
...
With this change we follow Firefox, Safari has a slightly different approach where the property is just not there (at least according to GetOwnProperty).
Review URL: http://codereview.chromium.org/7792054
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 11:09:11 +00:00
svenpanne@chromium.org
d02dfb301d
Tiny change flags cleanups.
...
Introduced a getter for change flags, making a related helper function private.
Do not print a '*' at the end of hydrogen instruction mnemonics with side
effects, this is subsumed by the 'changes' info.
Review URL: http://codereview.chromium.org/7827009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 11:06:03 +00:00
vegorov@chromium.org
e833f91eb3
Do constant function check earlier in TryCallApply and ensure correct environment for deopt.
...
R=kmillikin@chromium.org
BUG=v8:1650
TEST=test/mjsunit/regress/regress-1650.js
Review URL: http://codereview.chromium.org/7812033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 10:33:59 +00:00
kmillikin@chromium.org
690efb3a04
Fix deoptimization data printing.
...
Remove a spurious newline.
R=whesse@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7792052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 08:00:40 +00:00
lrn@chromium.org
1b4cb57c52
Cleanup of messages.js.
...
Lock down some otherwise modifiable objects that don't need it.
Review URL: http://codereview.chromium.org/7828003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 07:39:22 +00:00
yangguo@chromium.org
d586e9c504
MIPS: port ARM: Fix context save/restore for VFP registers.
...
This commit was missed/skipped earlier for some reason.
Ported r8357 (d78dae4)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7809014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-09-01 07:35:33 +00:00
jkummerow@chromium.org
c657d440ba
MIPS: port ARM: Changed the handling of compiletime CPU feature detection
...
Another port of an older arm commit, which was not upstreamed at the time.
Ported r7754 (ef678641)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7809016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9087 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 15:34:33 +00:00
jkummerow@chromium.org
6c9ce544cc
MIPS: Convert a bunch of ASSERTs to STATIC_ASSERTs
...
Ported r9057 (f6c548d)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7740073
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9086 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 15:22:43 +00:00
fschneider@chromium.org
ffc6c7e56b
Introduce local function declarations in Crankshaft and fix issue 1647.
...
We have to emit code for declarations later into the body block
(and not into the start block) so that the environment contains
the correct values.
In order to capture the environment effect of the declarations
that generate code (function declarations) I inserted a separate
AST id and a HSimulate after the declarations are visited.
Also fixes handling deopt in named function expressions:
BUG=v8:1647
TEST=test/mjsunit/regress/regress-fundecl.js, test/mjsunit/regress/regress-1647.js
Review URL: http://codereview.chromium.org/7776009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 13:26:08 +00:00
keuchel@chromium.org
227e679ce9
MIPS: port Temporal dead zone behaviour for let bindings.
...
Ported r9070 (1cfdac01)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7778037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9080 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 10:01:43 +00:00
yangguo@chromium.org
ea1879f1d5
Prepare push to trunk. Now working on version 3.6.0.
...
R=jkummerow@chromium.org
Review URL: http://codereview.chromium.org/7740076
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 07:59:23 +00:00
yangguo@chromium.org
90c6c826ba
MIPS: port Fix for a possible bug in RegExp stack guard.
...
Ported r9058 (43f127bd)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7776027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-31 07:32:47 +00:00
mikhail.naganov@gmail.com
4f3a8bd137
Return v8::True or v8::False instead of using Boolean::New.
...
BUG=None
TEST=None
R=mnaganov@chromium.org
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7785001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 18:45:48 +00:00
yangguo@chromium.org
3c04a9d71d
MIPS: Added ASSERTs to BranchShort to detect bad use of 'at' register.
...
Make sure 'at' and an immediate operand can't be used together in cases
where 'at' would be overwritten by li.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7791019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 16:15:48 +00:00
yangguo@chromium.org
65daf10c23
MIPS: Fix implementation of string slices.
...
Bug on mips using at register innapropriately, use different reg as temp.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7794020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 16:13:02 +00:00
keuchel@chromium.org
42388ad5c7
Temporal dead zone behaviour for let bindings.
...
BUG=
TEST=mjsunit/harmony/block-let-semantics.js
Review URL: http://codereview.chromium.org/7671042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 11:23:57 +00:00
mstarzinger@chromium.org
c6e42e1bfa
Fix initial prototype of WeakMap function.
...
The bootstrapper accidentally overwrote the constructor property of the Object
prototype because it used initial_object_prototype() as prototype for WeakMap.
Unfortunately this is not possible for experimental natives because they are
installed after the snapshot initialization finished.
R=erik.corry@gmail.com
TEST=mjsunit/mirror-object,mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/7624041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9067 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 09:35:20 +00:00
yangguo@chromium.org
4cc8ca359a
Fixing presubmit issue.
...
Review URL: http://codereview.chromium.org/7792034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 09:05:40 +00:00
yangguo@chromium.org
d5a0b00bde
Fixing compile error introducted by a typo in r9064.
...
Review URL: http://codereview.chromium.org/7790022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 08:41:54 +00:00
yangguo@chromium.org
3077e8aa2f
Generated code for substring slices in ia32.
...
Review URL: http://codereview.chromium.org/7744052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 08:22:41 +00:00
svenpanne@chromium.org
4084e698c3
Fixed a bug in the chaining of fixup position
...
The ARM and MIPS assemblers had a bug where they did not handle the last element
in the list of code positions correctly during the fixup of offsets for forward
jumps. This happened when the first instruction contained a forward jump to a
label, and that label was used in a forward jump later, too.
Unified the code for Assembler::next on ARM and MIPS while we were there.
Added test cases, even for ia32/x64, which seem to be correct, even I don't
fully understand why... %-}
BUG=v8:1644
Review URL: http://codereview.chromium.org/7786001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-30 07:36:31 +00:00
yangguo@chromium.org
d74cceb2bc
Removing bogus check introduced in r9027.
...
Review URL: http://codereview.chromium.org/7781013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 14:04:01 +00:00
yangguo@chromium.org
a2f1431aff
MIPS: Fix an invalid stack-check in the simulator.
...
This fixes mjsunit regress-1132.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7781002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 13:29:55 +00:00
yangguo@chromium.org
596daba583
Fix for a possible bug in RegExp stack guard.
...
Review URL: http://codereview.chromium.org/7744051
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 13:04:33 +00:00
jkummerow@chromium.org
5262061eac
Convert a bunch of ASSERTs to STATIC_ASSERTs
...
making our debug binaries ever so slightly faster
Review URL: http://codereview.chromium.org/7776010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 13:02:35 +00:00
fschneider@chromium.org
a846d482dd
Revert r9047 to fix broken build.
...
I need some more time to properly fix the problem.
TBR=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/7781008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9055 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 12:19:43 +00:00
yangguo@chromium.org
054b737ea5
MIPS: Fixed a RecordWrite call in the FullCodeGenerator.
...
This caused an occasional failure in the Threading2 cctest running in debug mode with --always-opt.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7779007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 11:56:48 +00:00
lrn@chromium.org
5c32722581
Make built-in functions not rely on callback functions .call method.
...
In builtin code, we can't rely on Function.prototype.call being unmolested.
Review URL: http://codereview.chromium.org/7776008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 11:44:54 +00:00
yangguo@chromium.org
2ade6a5a2e
Small fix for STATIC_ASSERT.
...
Review URL: http://codereview.chromium.org/7776007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 11:41:23 +00:00
fschneider@chromium.org
8ab5b50f1b
Introduce support for local function declarations in Hydrogen.
...
Review URL: http://codereview.chromium.org/7782001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 10:50:47 +00:00
jkummerow@chromium.org
1befe0bbbb
Remove unnecessary break-after-return in switch statement
...
BUG=v8:1642
Review URL: http://codereview.chromium.org/7781007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 10:47:00 +00:00
ricow@chromium.org
e7032b8c48
Prepare push to trunk. Now working on version 3.5.10.
...
Review URL: http://codereview.chromium.org/7782002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9039 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 10:15:47 +00:00
yangguo@chromium.org
55849e95d7
MIPS: port Tentative implementation of string slices (hidden under the flag --string-slices).
...
Ported r9027 (e9a3514)
BUG=
TEST=
Review URL: http://codereview.chromium.org/7736010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 09:36:58 +00:00
jkummerow@chromium.org
a549ddf49d
Fix warnings reported by MSVS for shared library build
...
TEST=compiles without warnings (esp. the shared-lib build with Visual Studio)
Review URL: http://codereview.chromium.org/7745053
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9037 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 09:14:59 +00:00
vegorov@chromium.org
9e2db4c0f0
MIPS: Fix KeyedStoreStubCompiler::GenerateStoreFastDoubleElement()
...
Test regress-91013.js (to ensure that the stored value was returned) passed on mips
without this fix, since the input value (in value_reg, a0) also happens to be in
mips return value register v0 at the time of call.
But it is fragile to depend on that behavior, so an explicit move from a0 to v0
is warranted. This fix puts that move in the delay slot of the Ret().
Patch by Paul Lind.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7779006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 09:10:27 +00:00
yangguo@chromium.org
ab03dff745
Commenting register usage in MIPS.
...
Review URL: http://codereview.chromium.org/7775007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 08:41:39 +00:00
fschneider@chromium.org
a2deb8af0b
Landing: MIPS: Fixed a bug in a special case of MacroAssembler::Ext.
...
Original code review: http://codereview.chromium.org/7777005/
Review URL: http://codereview.chromium.org/7778007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 07:13:06 +00:00
fschneider@chromium.org
a58b9ba90b
Remove code handling parameters rewritten to properties (aka synthetic properties).
...
After merging the new arguments branch, there is no need for this code anymore.
TEST=all tests pass
Review URL: http://codereview.chromium.org/7753030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-29 07:07:39 +00:00
lrn@chromium.org
cd3588d582
Make (some) functions called from builtin functions use the callback's global as receiver.
...
Changes GetGlobalReceiver() to GetDefaultReceiver(func) that returns undefined
for strict and native functions, and the function's context's global proxy
for "normal" functions.
BUG=v8:1547
TEST=cctest/api-test/ForeignFunctionReceiver
Review URL: http://codereview.chromium.org/7741042
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-26 13:53:00 +00:00
yangguo@chromium.org
daf8135ba6
Fixed regression introduced in r9027.
...
Review URL: http://codereview.chromium.org/7741041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9029 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-26 13:40:25 +00:00
yangguo@chromium.org
77141f78ff
Tentative implementation of string slices (hidden under the flag --string-slices).
...
TEST=test/mjsunit/string-slices.js
Review URL: http://codereview.chromium.org/7477045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-26 13:03:30 +00:00
yangguo@chromium.org
92b9bdfec5
Fixed regression introduced in r9023.
...
Review URL: http://codereview.chromium.org/7740049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-26 11:56:12 +00:00
yangguo@chromium.org
d727ba855c
Changed some jumps to short jumps in IA32 generated code.
...
Review URL: http://codereview.chromium.org/7745022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-26 08:22:13 +00:00
svenpanne@chromium.org
a5001de29c
Centralize code for freeing LargeObjectChunks, fixing an uncommit bug.
...
Due to heavy copy-n-paste, the handling of guard pages was inconsistent and we
didn't uncommit exactly the region we previously committed. Furthermore, the LOG
calls weren't consistent, either.
Review URL: http://codereview.chromium.org/7744025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-26 07:44:36 +00:00
fschneider@chromium.org
3cdff159ea
Landing: MIPS: Remove gp and sp from callee-saved register list.
...
Original code review: http://codereview.chromium.org/7740018/
Review URL: http://codereview.chromium.org/7744050
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9020 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-26 07:24:30 +00:00
jkummerow@chromium.org
dda2889ba1
Refactor .gyp files:
...
common.gypi now contains global target defaults and is included by all .gyp files;
standalone.gypi contains definitions for stand-alone v8 builds.
This fixes d8 for the ARM simulator.
TEST=compiles and tests pass on all platforms
Review URL: http://codereview.chromium.org/7740020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-25 14:50:09 +00:00
lrn@chromium.org
2f2f90610e
Changed computation of func.caller to skip some built-in functions.
...
Now skips built-in functions called from other built-in functions,
so only the initally called built-in function is exposed.
Review URL: http://codereview.chromium.org/7740021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9018 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-25 13:38:58 +00:00
svenpanne@chromium.org
3d88d16f47
Two tiny refactorings: Removed a bit of copy-n-paste. Moved LargeObjectChunk::Free from header to implementation, it does a syscall, anyway.
...
Review URL: http://codereview.chromium.org/7744023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9017 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-25 13:35:15 +00:00
lrn@chromium.org
893b8320b8
Added access check to Runtime_GetPrototype.
...
BUG=93759
Review URL: http://codereview.chromium.org/7701023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-25 13:22:55 +00:00
fschneider@chromium.org
2b024e3d5d
Land two MIPS changes contributed by Paul Lind.
...
1. Issue 7744014: MIPS: Fixed and optimized MacroAssembler::Trunc_uw_d, Cvt_d_uw, Ext, Ins. (http://codereview.chromium.org/7744014/ )
2. Issue 7740019: MIPS: Fix for function argument access in non-strict mode. (http://codereview.chromium.org/7740019/ )
Review URL: http://codereview.chromium.org/7741016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9014 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-25 12:12:25 +00:00
svenpanne@chromium.org
a546e4a8dd
Fixed bool <-> Executability confusion and improved typing a bit.
...
Passing a value of type Executability to a function expecting a bool worked only
by accident (because of the order of values in the enum). But using boolean
parameters is often a bad idea, anyway, so we use Executability directly.
Just another example why implicit type conversions in C++ are a bad idea... :-P
Review URL: http://codereview.chromium.org/7753001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9013 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-25 10:55:44 +00:00
lrn@chromium.org
0946ce67d3
Make FromPropertyDescriptor not trigger inherited setters.
...
Review URL: http://codereview.chromium.org/7745017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9010 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-25 09:07:43 +00:00
ricow@chromium.org
d9eccf2beb
Prepare push to trunk. Now working on version 3.5.9.
...
Review URL: http://codereview.chromium.org/7714033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9007 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-24 11:53:59 +00:00
yangguo@chromium.org
02e70b799b
Fixed the shared library build of D8 that was broken by r9005.
...
Review URL: http://codereview.chromium.org/7701024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9006 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-24 10:48:48 +00:00
yangguo@chromium.org
1afbe92a0e
Fixed minor bug in D8 related to mapping counters to a file.
...
Review URL: http://codereview.chromium.org/7717022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-24 09:47:10 +00:00
yangguo@chromium.org
2d538fe6a6
removed executable bit in those files.
...
Review URL: http://codereview.chromium.org/7710019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9003 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 13:57:37 +00:00
lrn@chromium.org
13dd915a2a
Fix typo in assert.
...
Also remove the requirement to have an AssertNoAllocation object when getting the flat content. We actually do allow allocation, it's just GC's we don't allow.
Review URL: http://codereview.chromium.org/7710018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9001 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 13:23:30 +00:00
mikhail.naganov@gmail.com
2e1e5fc09c
Heap profiler: for objects of class "Object", try to lookup name
...
from the constructor function. This works well for binding objects,
and this matches DevTools' algorithm for name assignment.
R=sgjesse@chromium.org
BUG=none
TEST=test-heap-profiler/GetConstructorName
Review URL: http://codereview.chromium.org/7709026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@9000 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 12:24:54 +00:00
lrn@chromium.org
9eb7d4a53c
Replace ToAsciiVector and ToUC16Vector with single function that returns a tagged value.
...
The tag tells whether the content is ASCII or UC16, or even if the string wasn't flat.
BUG: v8:1633
Review URL: http://codereview.chromium.org/7709024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8999 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 12:22:12 +00:00
erik.corry@gmail.com
bf4222fb29
Fix ARM build for gcc-4.6.
...
This is based on Peter Varga's work in http://codereview.chromium.org/7708004/
but with a different solution for the Operand(0) int/pointer ambiguity.
Review URL: http://codereview.chromium.org/7706030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8998 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 12:00:09 +00:00
fschneider@chromium.org
701146a3d7
Perform range analysis after GVN.
...
This eliminate redundant HChange instructions and allows range information of
converted values propagated across control-flow splits.
It fixes the performance regression on code like:
if (x > 1) {
y = x - 1;
}
where we should eliminate the overflow check on the sub inside the if-statement.
Review URL: http://codereview.chromium.org/7709025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8997 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 11:19:08 +00:00
yangguo@chromium.org
011b136ee0
Slight API change enabling opting out from null termination in String::Write*().
...
BUG=v8:1537
TEST=cctest test-api/StringWrite
Review URL: http://codereview.chromium.org/7706002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8996 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 11:11:12 +00:00
fschneider@chromium.org
99b4d756fc
Insert representation changes before doing range analysis and fix a bug in Range::Copy.
...
This improves our static type information by calculating the result type
of conversions (HChange) during range analysis. It allows e.g. to eliminate
the write barrier in the following example where it was not possible before:
function f(x) {
var y = x + 1;
if (y > 0 && y < 100) {
a[0] = y;
}
}
* Fix bug in Range::Copy. The minus-zero flags has to be preserved by default.
Review URL: http://codereview.chromium.org/7634022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8994 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-23 07:34:45 +00:00
vitalyr@chromium.org
633e615b89
Improve memory usage of receiver type feedback.
...
Some AST nodes (Property, Call, etc.) store either a list of receiver
types or a monomorphic receiver type. This patch merges the two fields
using a small pointer list. GetMonomorphicReceiverType() is now a
purely convenience function returning the first and only recorded
type.
This saves about 500K (of about 39M) on average when compiling V8
benchmark as measured by a simple patch adding a zone allocation
counter (https://gist.github.com/1149397 ).
R=kmillikin@chromium.org
Review URL: http://codereview.chromium.org/7655017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8993 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 14:23:37 +00:00
yangguo@chromium.org
107d1b5e65
Inserted a missing string encoding check in lastIndexOf.
...
Review URL: http://codereview.chromium.org/7685005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 13:55:25 +00:00
svenpanne@chromium.org
4b930daf1a
Ensure that the current isolate is initialized in the API function Context::GetEntered.
...
r8833 introduced a regression in our API semantics, showing up in e.g.
Chrome 12, which is fixed by this patch.
Review URL: http://codereview.chromium.org/7686005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 13:04:14 +00:00
lrn@chromium.org
41426bde56
Fix bug introduced by earlier "cleanup".
...
TEST=message/replacement-marker-as-argument
Review URL: http://codereview.chromium.org/7696024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8985 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 12:54:03 +00:00
rossberg@chromium.org
1a717259f4
Prepare push to trunk. Working version now 3.5.8.
...
Review URL: http://codereview.chromium.org/7697017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 10:55:48 +00:00
lrn@chromium.org
d2626be5d9
Prune some internal objects' prototypes.
...
Review URL: http://codereview.chromium.org/7703005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 09:51:56 +00:00
mstarzinger@chromium.org
d4a6b4ac5b
Make instruction for write barrier smaller.
...
R=yangguo@chromium.org
BUG=v8:1495
Review URL: http://codereview.chromium.org/7703007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8978 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 09:10:47 +00:00
keuchel@chromium.org
a367058c6a
MIPS: port Parse harmony let declarations.
...
Port r8944 (a5a36f4)
Original commit message:
Implementation of the harmony block scoped let bindings as proposed here:
http://wiki.ecmascript.org/doku.php?id=harmony:block_scoped_bindings
Changes to the syntax are explained there. They are active under the
harmony_block_scoping_ flag in the parser.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7696020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8977 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 09:05:28 +00:00
whesse@chromium.org
d3880a19bc
MIPS: port Clean up the nesting stack in the full code generator.
...
Port 8972 (6a896b3)
Original commit message:
Remove unused methods, introduce named constants, and attempt to add some
sanity to naming.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7693021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8976 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-22 09:00:27 +00:00
lrn@chromium.org
d8a123169b
Make regexp flag parsing stricter.
...
BUG=v8:1628
TEST=mjsunit/regress/regress-219
Review URL: http://codereview.chromium.org/7624045
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8973 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-19 11:02:41 +00:00
kmillikin@chromium.org
dc917453b3
Clean up the nesting stack in the full code generator.
...
Remove unused methods, introduce named constants, and attempt to add some
sanity to naming.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7669018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8972 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-19 09:54:08 +00:00
ricow@chromium.org
025c05dc25
Remove trailing whitespaces from *.js files.
...
This is a whitespace removal only change
Review URL: http://codereview.chromium.org/7687001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8971 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-19 05:24:39 +00:00
lrn@chromium.org
7939f9acf2
Make scanner handle invalid unicode escapes in identifiers correctly.
...
I.e., don't just convert \u to u in identifiers (like in strings and regexps).
Also make the scanning of RegExp flags not interpret the escapes.
(Fix and reapply of r8942)
BUG=v8:1620
TEST=mjsunit/regress/regress-1620
Review URL: http://codereview.chromium.org/7677012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8969 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 12:47:23 +00:00
jkummerow@chromium.org
c50094bda3
Fix another handful of memory leaks
...
TEST=valgrind reports 0 bytes definitely lost for cctest/test-api/RunTwoIsolatesOnSingleThread
Review URL: http://codereview.chromium.org/7621064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8968 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 12:33:40 +00:00
jkummerow@chromium.org
e4d43b7306
Fix three ~Isolate() related memory leaks
...
BUG=93253
TEST=running valgrind on cctest/test-api/RunTwoIsolatesOnSingleThread reports fewer leaks than before
Review URL: http://codereview.chromium.org/7624043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8967 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 12:14:12 +00:00
danno@chromium.org
4c460099a0
Unify GetElement handlers in ElementsAccessor
...
BUG=none
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/7655030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8966 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 09:51:08 +00:00
danno@chromium.org
a8b4b4f42a
Remove redundant implementation of UnionOfKeys
...
R=svenpanne@chromium.org
BUG=none
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/7670037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8965 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 09:20:32 +00:00
ricow@chromium.org
d9c1984fe3
Use InternalArray in Object.defineProperties to avoid issues with overwriten properties on Array.prototype
...
TEST=mjsunit/regress/regress-1625
BUG=v8:1625
Review URL: http://codereview.chromium.org/7631039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8964 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-18 08:39:06 +00:00
danno@chromium.org
edd691960f
Implement UnionOfKeys for NonStrictArguments
...
BUG=none
TEST=cctest/test-api/IndexedInterceptorNonStrictArgsWithIndexedAccessor
Review URL: http://codereview.chromium.org/7657011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8963 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 16:15:30 +00:00
danno@chromium.org
5d634be405
Prepare push to trunk. Now working on version 3.5.7.
...
R=ricow@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7671017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8957 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 13:55:05 +00:00
keuchel@chromium.org
16be5abdec
Initialize harmony block scoping field in scanner.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7671016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8955 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 11:17:59 +00:00
vegorov@chromium.org
4b94137323
Fix GC unsafe place in JSProxy::DeletePropertyWithHandler.
...
Review URL: http://codereview.chromium.org/7670023
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8952 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 09:51:20 +00:00
danno@chromium.org
080b25063f
Bugs in x64 ICs introduced by array length refactor.
...
BUG=chromium:93044
TEST=external-array.js
Review URL: http://codereview.chromium.org/7672014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 09:39:03 +00:00
mstarzinger@chromium.org
ca049c7b58
fix compilation with gcc 4.6
...
* src/bootstrapper.cc (Genesis::InitializeExperimentalGlobal): Remove
assigned-but-unused var.
BUG=
TEST=passes test suite, modulo http://code.google.com/p/v8/issues/detail?id=1621
Review URL: http://codereview.chromium.org/7658014
Patch from Andy Wingo <wingo@igalia.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8950 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 09:22:58 +00:00
jkummerow@chromium.org
9f9959182d
Fix memory leaks in ~Zone and ~Isolate
...
TEST=chromium valgrind bots
Review URL: http://codereview.chromium.org/7660016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8949 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 08:48:54 +00:00
erik.corry@gmail.com
1e2d65780e
Fix compilation on Linux 2.6.9 and older.
...
Review URL: http://codereview.chromium.org/7655016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8948 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 08:24:36 +00:00
ricow@chromium.org
7f36b52540
Revert 8942 "Make scanner not accept invalid unicode escapes in identifiers"
...
This is causing webkit failures, reverting until we figure out if this is a V8 regression or wrong test expectations.
Review URL: http://codereview.chromium.org/7669017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8947 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-17 08:22:41 +00:00
vegorov@chromium.org
bdfceace53
Fix potentially GC unsafe place in JSObject::DeleteElementWithInterceptor.
...
Review URL: http://codereview.chromium.org/7660012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8946 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 15:51:49 +00:00
keuchel@chromium.org
a6cf884bcd
Presubmit fix.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7661016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8945 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 15:15:34 +00:00
keuchel@chromium.org
c6c504f8b6
Parse harmony let declarations.
...
Implementation of the harmony block scoped let bindings as proposed here:
http://wiki.ecmascript.org/doku.php?id=harmony:block_scoped_bindings
Changes to the syntax are explained there. They are active under the
harmony_block_scoping_ flag in the parser.
Review URL: http://codereview.chromium.org/7616009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8944 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 14:24:12 +00:00
jkummerow@chromium.org
9295a3a0bb
Use immediates when possible for HBoundsCheck and HLoadKeyedFastElement
...
Review URL: http://codereview.chromium.org/7608020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8943 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 13:32:27 +00:00
lrn@chromium.org
7d17c8d5d3
Make scanner not accept invalid unicode escapes in identifiers.
...
BUG=v8:1620
TEST=mjsunit/regress/regress-1620
Review URL: http://codereview.chromium.org/7663005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 13:31:08 +00:00
mstarzinger@chromium.org
d640d8d913
Fix issue with prototype of WeakMap constructor.
...
The WeakMap constructor didn't have a unique prototype, so it shared one with
Object. All WeakMap functions (including "get" and "set") were installed on
that prototype.
R=rossberg@chromium.org
BUG=v8:1617
TEST=mjsunit/harmony/weakmaps
Review URL: http://codereview.chromium.org/7658008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8941 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 12:09:47 +00:00
danno@chromium.org
fc17bd3795
Fix live-object-list to work with isolates.
...
TEST: Build v8 with live-object-list enabled.
Review URL: http://codereview.chromium.org/7398025
Patch from Alexander Miller <Alexander.Miller@palm.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8940 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 11:47:06 +00:00
rossberg@chromium.org
b1ae597808
MIPS: port Implement Harmony semantics for typeof null (behind a flag).
...
Port r8876 (2aeeae7)
Original commit message:
Harmony is intended to make typeof null === "null". This may
break existing programs. Implementing it will allow us to run
some tests on the actual web.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7650009
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8939 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 10:08:50 +00:00
svenpanne@chromium.org
af112fda75
Refactored DirectCEntryStub::GenerateCall a bit to make it clearer what's going on and added an ASSERT.
...
Review URL: http://codereview.chromium.org/7640016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8938 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 09:58:34 +00:00
kmillikin@chromium.org
06b8e73b99
MIPS: port Simplify handling of exits from with and catch.
...
Ported r8922 (5ea2fb5)
Original commit message:
Remove the try/finally used for with and catch. Instead of using
try/finally to handle break and continue from with or catch,
statically track nesting dept and clean up when compiling break or
continue.
And instead of using try/finally to handle throw to handler in a frame
whose pc is inside a with or catch, store the context that the handler
should run in in the handler itself.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7648026
Patch from Paul Lind <plind44@gmail.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8936 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-16 08:48:45 +00:00
cira@chromium.org
24e6d48d9b
Return error not null for date time format.
...
BUG=v8:1602
TEST=new (new v8Locale().createDateTimeFormat()).getWeekdays should return Error not a Null.
Review URL: http://codereview.chromium.org/7647027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8935 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-15 22:29:03 +00:00
ricow@chromium.org
685c5c1fb8
Add FIXED_DOUBLE_ARRAY_TYPE to INSTANCE_TYPE_LIST_ALL in objects.h
...
Leaving this out can cause crashes when running with --heap-stats (but this is only used when reporting heap statistics, so this is not a stability issue).
Review URL: http://codereview.chromium.org/7647018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8932 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-15 12:55:18 +00:00
whesse@chromium.org
90561038c1
Prepare push to trunk. Now working on version 3.5.6.
...
Review URL: http://codereview.chromium.org/7645020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8931 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-15 10:39:51 +00:00
danno@chromium.org
96f198a4dc
Change AddElementsToFixedArray to work on FixedArrayBase rather than JSObject
...
In the process, make ElementsAccessors work internally more seamlessly with FixedArrayBase.
R=svenpanne@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7618012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8930 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-12 14:52:03 +00:00
danno@chromium.org
48f411a225
Change JSObject elements to be of type FixedArrayBase
...
R=kmillikin@chromium.org
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7617010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8927 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-12 13:54:27 +00:00
kmillikin@chromium.org
91553bbacd
Simplify handling of exits from with and catch.
...
Remove the try/finally used for with and catch. Instead of using
try/finally to handle break and continue from with or catch,
statically track nesting dept and clean up when compiling break or
continue.
And instead of using try/finally to handle throw to handler in a frame
whose pc is inside a with or catch, store the context that the handler
should run in in the handler itself.
BUG=
TEST=
Review URL: http://codereview.chromium.org/7618007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8922 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-12 10:52:49 +00:00
fschneider@chromium.org
6549163a55
Add roundsd instruction to ia32 and use it in optimized Math.floor.
...
It is available platforms that have SSE 4.1 and allows us to handle
negative numbers without deoptimization. Before we would deoptimize
on negative inputs to Math.floor. x64 already uses this instruction.
* Change Math.floor unit test to make sure every test case gets
optimized by changing the source code for each test case.
* Fix HIR debug printing for some instructions.
Review URL: http://codereview.chromium.org/7628017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8921 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-12 10:13:40 +00:00
mikhail.naganov@gmail.com
58824435d1
Pick the namespace alias 'i' from v8.h.
...
These files already include v8.h so they don't need to define the
namespace alias again.
Signed-off-by: Thiago Farina <tfarina@chromium.org>
Review URL: http://codereview.chromium.org/7640012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-12 09:49:55 +00:00
svenpanne@chromium.org
808748b44d
Do not use deprecated ARM instructions in DirectCEntryStub::GenerateCall.
...
Non-ancient versions of the ARM-ARM explicitly deprecate most uses of the PC
within instructions and older ARM implementations have a non-predictable offset
(8 or 12) for some of these deprecated uses. Avoiding the deprecated instruction
costs us one additional instruction in DirectCEntryStub::GenerateCall, but this
should not cause any significant performance degradation.
The deoptimizer still uses the PC in a stm instruction, but it is a bit unclear
what to do about that, so simply a comment has been added to reconsider this in
the future.
Review URL: http://codereview.chromium.org/7633014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8916 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-12 08:45:17 +00:00
keuchel@chromium.org
3c7ca304fe
Preliminary code for block scopes and block contexts.
...
BUG=
TEST=
Review URL: http://codereview.chromium.org/7549008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8911 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 16:29:28 +00:00
yangguo@chromium.org
431b51aca7
Rollback of r8903
...
Review URL: http://codereview.chromium.org/7620012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8909 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 16:11:07 +00:00
yangguo@chromium.org
189be860aa
Quick fix to issue 1593
...
BUG=v8:1593
Review URL: http://codereview.chromium.org/7622009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8903 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 15:18:55 +00:00
danno@chromium.org
d5d7185578
Create a common base class for Fixed-, FixedDouble- and ExternalArrays.
...
Also unify Crankshaft code to load array length.
BUG=v8:1493
TEST=external-arrays.js
Review URL: http://codereview.chromium.org/7600025
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 14:00:16 +00:00
svenpanne@chromium.org
3c13926936
Output missing comments after the last disassembled instruction.
...
Review URL: http://codereview.chromium.org/7623014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8900 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 13:59:29 +00:00
svenpanne@chromium.org
bb81895595
Fixed printing of deoptimization input data without --print-code-verbose.
...
Review URL: http://codereview.chromium.org/7617008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 13:56:09 +00:00
svenpanne@chromium.org
93808ce651
Removed some arbitrary size restrictions when disassembling generated code.
...
We output line-by-line now, this avoids hitting StringBuffer ASSERTs when
disassembling huge code objects.
Review URL: http://codereview.chromium.org/7622006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 12:52:37 +00:00
fschneider@chromium.org
384615f2a4
Remove unused code from runtime profiler.
...
Review URL: http://codereview.chromium.org/7617003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 08:26:01 +00:00
svenpanne@chromium.org
06bea35f7f
Simplify and optimize ToBoolean handling.
...
Changing our builtin JavaScript code slightly, we can make sure that we never
see internal objects as arguments for ToBoolean at runtime. Removing that case
from the stub generator and crankshaft makes things a lot easier.
Heap numbers can never be undetectable (only strings and spec objects can), so
we can leave out a useless test.
Try to re-use a non-null register value when returning 'true' in some cases.
Removed special handling of the 'handle all' case, it will very probably never
happen in real code and only makes things more complicated.
Improved naming of the ToBoolean stubs a bit, reflecting the order in which
cases are handled in the code itself.
Review URL: http://codereview.chromium.org/7497063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8886 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 07:22:16 +00:00
antonm@chromium.org
48e6274cc3
Allows not API functions as inputs for CreationConext method.
...
Review URL: http://codereview.chromium.org/7552034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-11 06:40:14 +00:00
vitalyr@chromium.org
a107387dde
Fix fun.apply(receiver, arguments) optimization.
...
R=kmillikin@chromium.org
BUG=v8:1592
TEST=mjsunit/regress/regress-1592.js
Review URL: http://codereview.chromium.org/7497067
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 16:05:17 +00:00
fschneider@chromium.org
e63fdc619d
Fix x64 build.
...
TBR=whesse@chromium.org
Review URL: http://codereview.chromium.org/7604034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 13:11:14 +00:00
fschneider@chromium.org
f17bd8ca51
Fix three bugs with handling negative zero in the optimizing compiler.
...
* Bug fix for range analysis (contributed by Andy Wingo). Ranges of
double values have to include negative zero. Original code review:
http://codereview.chromium.org/7514040/
* Fix a bug in optimized Math.round on ARM. When emitting minus-zero checks
we previously return a wrong result because of incorrect register assignment.
* Fix performance problem in IA32 and x64. Refine the checks
for minus zero and avoid unnecessary deoptimizations on Math.floor.
* Improve mjsunit test for Math.round to make sure we also
get the optimized version of the code for each test case.
Review URL: http://codereview.chromium.org/7604028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 12:32:43 +00:00
rossberg@chromium.org
bd18514972
Implement Harmony semantics for typeof null (behind a flag).
...
Harmony is intended to make typeof null === "null". This may
break existing programs. Implementing it will allow us to run
some tests on the actual web.
R=kmillikin@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7598030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 12:12:06 +00:00
kmillikin@chromium.org
f14dfd7aa8
Prepare push to trunk. Now working on version 3.5.5.
...
R=danno@chromium.org
BUG=
TEST=
Review URL: http://codereview.chromium.org/7606026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8873 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 11:22:23 +00:00
danno@chromium.org
ff13ab4575
Refactor UnionOfKeys into ElementsAccessor
...
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/7529046
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 10:51:01 +00:00
mstarzinger@chromium.org
c68d205c08
ARM: Fix deoptimizer for two-word call sites.
...
R=svenpanne@chromium.org ,kmillikin@chromium.org
BUG=v8:1584
Review URL: http://codereview.chromium.org/7585006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@8868 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2011-08-10 08:03:22 +00:00