yurys@chromium.org
9cbb34a0b5
Isolatify CPU profiler
...
Relanding r13987 that was reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13457002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14105 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 07:53:50 +00:00
yurys@chromium.org
c7532f0f0b
Allow recording individual samples in addition to the aggregated CPU profiles
...
Re-landing r13980 that was reverted in r14031
TBR=danno
BUG=None
Review URL: https://codereview.chromium.org/13454002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-02 07:48:25 +00:00
plind44@gmail.com
d15321f2f8
MIPS: Fixed some soft-float bugs.
...
TEST=cctest/test-api/ExternalUnsignedIntArray
BUG=
Review URL: https://codereview.chromium.org/13165007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14101 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-04-01 16:06:52 +00:00
plind44@gmail.com
e53986d203
MIPS: Make the mips port build cleanly with clang.
...
Port r13583 (b39b116b) and also fix a couple mips-specific warnings.
BUG=
Review URL: https://codereview.chromium.org/13321002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14100 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-30 15:54:12 +00:00
palfia@homejinni.com
797dd3053e
MIPS: Fix register usage in softfloat code path.
...
BUG=none
TEST=mjsunit/math-floor-part2.js
Review URL: https://codereview.chromium.org/12413032
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14099 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 21:17:02 +00:00
yangguo@chromium.org
443f85eed9
Add test to check that Function.caller must not expose native functions.
...
R=svenpanne@chromium.org
BUG=v8:105
Review URL: https://chromiumcodereview.appspot.com/13166002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 14:31:48 +00:00
yangguo@chromium.org
a3f0f942a3
Always allocate symbols in old space.
...
Keys are expected to be tenured. This now not only includes internalized
strings, but also symbols.
R=rossberg@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/13158002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14095 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 13:52:31 +00:00
dslomov@chromium.org
47d8af7616
Canonicalize NaNs on store to Fast(Float|Double) arrays
...
Also treat holey NaN coming from external float/double arrays correctly
BUG=2596
Review URL: https://codereview.chromium.org/12918028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 13:30:16 +00:00
dslomov@chromium.org
e43ea68951
Win32 build fix
...
TBR=rossberg@chromium.org
BUG=
Review URL: https://codereview.chromium.org/13140009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 13:24:02 +00:00
dslomov@chromium.org
cefc655522
Release buold fix
...
TBR=rossberg@chromium.org
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 13:07:41 +00:00
dslomov@chromium.org
944c577c7b
First steps towards implementing ArrayBuffer &co in V8
...
BUG=
Review URL: https://codereview.chromium.org/13064003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 12:50:18 +00:00
dslomov@chromium.org
e357ddc249
Replace ICStub for array.length with hydrogen stub
...
BUG=
Review URL: https://codereview.chromium.org/12700006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 12:43:19 +00:00
rossberg@chromium.org
15ab3a0612
ES6 symbols: symbol properties should not cause going into slow mode.
...
R=yangguo@chromium.org
BUG=
Review URL: https://codereview.chromium.org/13042013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14089 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 12:01:46 +00:00
yangguo@chromium.org
bdc903b086
Improve SeqString::Truncate for latest allocated strings.
...
R=hpayer@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12440061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 11:19:38 +00:00
yangguo@chromium.org
9155d20282
Stack trace API: poison stack frames below the first strict mode frame.
...
Function and receiver objects are not accessible for poisoned frames.
R=rossberg@chromium.org
BUG=v8:2564
Review URL: https://chromiumcodereview.appspot.com/13150003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14085 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-28 10:40:07 +00:00
palfia@homejinni.com
15a39131d2
MIPS: Small refactoring of r14058.
...
BUG=
Review URL: https://codereview.chromium.org/12703030
Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14084 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-27 22:48:49 +00:00
hpayer@chromium.org
754c32ec8d
Make Isolate::GetHeapStatistics robust against half-initialized isolates.
...
The (deprecated) non-Isolate GetHeapStatistics contains the same check.
BUG=2591
Review URL: https://codereview.chromium.org/12965013
Patch from Marja Hölttä <marja@chromium.org>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14079 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-27 10:33:25 +00:00
yangguo@chromium.org
a942fcd984
Add test case for missing deopt sequence after forced deopt.
...
R=danno@chromium.org
BUG=217858
Review URL: https://chromiumcodereview.appspot.com/13042005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14078 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-27 09:58:32 +00:00
yangguo@chromium.org
bb632dc49d
Only copy with, block and catch scopes in DebugEvaluate.
...
R=ulan@chromium.org
BUG=171715
Review URL: https://chromiumcodereview.appspot.com/13093003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14077 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-26 17:46:16 +00:00
ulan@chromium.org
81281dc5cf
ARM: fix dictionary negative lookup.
...
Do not skip the last inlined probe.
BUG=171975
Review URL: https://chromiumcodereview.appspot.com/12703014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14074 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-26 09:28:26 +00:00
plind44@gmail.com
e9ca60d265
MIPS: Generalizing remaining Allocate functions in the macro assemblers used in pretenuring.
...
Port r14065 (f09e7e38)
BUG=
Review URL: https://codereview.chromium.org/12855004
Patch from Akos Palfi <palfia@homejinni.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14073 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 19:01:36 +00:00
danno@chromium.org
c3486bc4eb
Remove bogus test flags
...
R=verwaest@chromium.org
Review URL: https://codereview.chromium.org/12872007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 17:59:15 +00:00
danno@chromium.org
02d75d734f
Use code_range()->exists() to determine the size of the first code page when code range is used.
...
Review URL: https://codereview.chromium.org/12452012
Patch from Haitao Feng <haitao.feng@intel.com>.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14071 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 17:27:54 +00:00
palfia@homejinni.com
cb03ff32fd
MIPS: Change LookupForWrite to always do a full lookup and check the result.
...
Port r14061 (df49702a)
Original commit message:
If we find a property in the prototype-chain that we can overwrite, and
we have a transition, keep the holder in the lookup-result as the actual
holder. We will need it for the consistency-check in GenerateStoreField.
By directly checking the entire chain we avoid having to lazily bail out
to a copy of the miss stub while generating the Field Store IC.
Currently this CL disallows a normal non-receiver holder, given that
that would require a positive lookup + details verification to ensure
the property did not become read-only. This fixes the regressions in the
attached tests.
BUG=
Review URL: https://codereview.chromium.org/12924011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14070 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 17:12:50 +00:00
verwaest@chromium.org
a79d622720
Create a new HandleScope for each JSON-parsed object to avoid excessive growth
...
Review URL: https://chromiumcodereview.appspot.com/12880019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 17:10:33 +00:00
verwaest@chromium.org
2541f2507f
Add AssertNoAllocation to ensure TransitionArray* transitions is safe.
...
Review URL: https://chromiumcodereview.appspot.com/12583013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14066 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 15:59:08 +00:00
hpayer@chromium.org
8792cac5cc
Generalizing remaining Allocate functions in the macro assemblers used in pretenuring.
...
BUG=
Review URL: https://codereview.chromium.org/12440041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14065 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 15:54:15 +00:00
danno@chromium.org
dfd9ea8087
Fix store_mode bug involving polymorphism with external and JS arrays.
...
Review URL: https://codereview.chromium.org/12987014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14064 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 15:19:22 +00:00
jkummerow@chromium.org
2159b470d7
Fix crash involving zombie maps escaping from the JSON parser's underground lab
...
Zapping is required since transition arrays contain weak references to maps: At the end of a GC cycle, ClearNonLiveTransitions removes references to dead maps from transition arrays. If a marked transition array with weak (dead) references is replaced by another transition array before the end of the GC cycle, dead references are not removed from the replaced transition array. If the replaced transition array is kept alive by a handle, marking will crash when trying to mark the first reference to a dead map.
Review URL: https://codereview.chromium.org/12987013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 15:18:52 +00:00
verwaest@chromium.org
a8b3215afa
Change LookupForWrite to always do a full lookup and check the result.
...
If we find a property in the prototype-chain that we can overwrite, and
we have a transition, keep the holder in the lookup-result as the actual
holder. We will need it for the consistency-check in GenerateStoreField.
By directly checking the entire chain we avoid having to lazily bail out
to a copy of the miss stub while generating the Field Store IC.
Currently this CL disallows a normal non-receiver holder, given that
that would require a positive lookup + details verification to ensure
the property did not become read-only. This fixes the regressions in the
attached tests.
Review URL: https://chromiumcodereview.appspot.com/12810006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 12:55:27 +00:00
rossberg@chromium.org
c1e3648712
Remove GC hazard (temporary handle object)
...
R=svenpanne@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12913019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14060 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 11:40:14 +00:00
yangguo@chromium.org
b347a0dcae
Correctly materialize arguments object in Runtime_DebugEvaluate.
...
The problem was that if the # arguments specified in the function
declaration and the # arguments passed to the function are not
the same, we use an arguments adapter frame to make it work. This
confuses the existing implementation to materialize the arguments
object.
R=peter.rybin@gmail.com
BUG=222893
Review URL: https://chromiumcodereview.appspot.com/12674027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-25 10:01:53 +00:00
palfia@homejinni.com
3ac8bf41b4
MIPS: ES6 symbols: turn symbols into a proper primitive type
...
Port r14051 (e9140a92)
Original commit message:
(qua last week's TC39)
Specifically:
- Install Symbol constructor function on the global object.
- Adjust code generation for typeof.
- Remove IsSymbol built-in, IS_SYMBOL macro now defined using typeof.
- Remove hack that allowed symbols as constructor results, and some other special cases.
- Remove symbol_delegate and GetDelegate function.
- Extend ToBoolean stub to handle symbols.
- Extend ToNumber to return NaN on symbols.
- Poison symbol's toString function, and thereby ToString on symbols.
BUG=
Review URL: https://codereview.chromium.org/13007003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14058 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-23 02:39:31 +00:00
adamk@chromium.org
9bebd23d5c
Fix %GetArrayKeys to not skip non-enumerable indices
...
This is one step in the direction of fixing a range of small bugs in the array methods when dealing with non-standard element attributes.
Added tests exercising this behavior for shift and unshift.
For Proxies and Interceptors, the behavior of %GetArrayKeys is now to just return an interval, rather than trying to list all their indexed properties. In the Proxy case, this seems like the only way to avoid an observable difference between smart and non-smart array methods. For Interceptors, the usual case (in WebKit, anyway) is for them to have all indices in [0, length), so enumerating them won't be any better than simply iterating over that range.
Review URL: https://codereview.chromium.org/12653010
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14057 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 18:04:32 +00:00
rossberg@chromium.org
52aec4722d
ES6 symbols: prevent reflection, proxy, and observe APIs from leaking symbols
...
R=svenpanne@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/12422019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14056 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 17:27:44 +00:00
rossberg@chromium.org
2657e432e4
ES6 symbols: implement name property
...
Adds string-valued name property to symbols, and uses it for pretty-printing.
Requires allocating symbols in pointer space, with a custom iterator to skip the unboxed hash.
R=mstarzinger@chromium.org
BUG=
Review URL: https://codereview.chromium.org/12459026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14053 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 16:51:28 +00:00
yangguo@chromium.org
71c1f69b06
Fix global object check in %IsObserved and %SetIsObserved.
...
BUG=
Review URL: https://chromiumcodereview.appspot.com/12929024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14052 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 16:37:11 +00:00
rossberg@chromium.org
83d4a41dec
ES6 symbols: turn symbols into a proper primitive type
...
(qua last week's TC39)
Specifically:
- Install Symbol constructor function on the global object.
- Adjust code generation for typeof.
- Remove IsSymbol built-in, IS_SYMBOL macro now defined using typeof.
- Remove hack that allowed symbols as constructor results, and some other special cases.
- Remove symbol_delegate and GetDelegate function.
- Extend ToBoolean stub to handle symbols.
- Extend ToNumber to return NaN on symbols.
- Poison symbol's toString function, and thereby ToString on symbols.
R=mstarzinger@chromium.org
BUG=v8:2158
Review URL: https://codereview.chromium.org/12957004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14051 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 16:33:50 +00:00
adamk@chromium.org
51a888ff48
Fix bogus left-shifts in Array tests
...
Review URL: https://codereview.chromium.org/12729014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14050 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 15:08:30 +00:00
mstarzinger@chromium.org
eb4215df68
Remove some obsolete handle operation wrappers.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12893014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14049 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 14:33:27 +00:00
mstarzinger@chromium.org
e9b71b6bdd
Put zapping of local handles behind the extra checks flag.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12989019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14048 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 13:40:13 +00:00
danno@chromium.org
b8fd25277a
Fix bugs in previous_ast_id tracking
...
R=hpayer@chromium.org
Review URL: https://codereview.chromium.org/12957005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 12:34:38 +00:00
yangguo@chromium.org
ba26666127
Port Latin-1 changes to the interpreted regexp.
...
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12674024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14044 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 09:47:06 +00:00
yangguo@chromium.org
27b0979347
Restore correct regression test for crbug/146910.
...
For some reason (rebase conflicts?) the regression test introduced
in r12547 was overwritten by r13340.
The test in question already exists in regress-latin-1
R=dcarney@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/13023003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 09:04:36 +00:00
yangguo@chromium.org
006b1a88a0
Fix JSON.stringifier's slow path wrt external strings.
...
R=verwaest@chromium.org
BUG=
Review URL: https://chromiumcodereview.appspot.com/12825016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-22 08:42:38 +00:00
peter.rybin@gmail.com
f4374c0989
Fix isolate getter in DebugAgent
...
Review URL: https://codereview.chromium.org/12678015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 16:12:50 +00:00
mstarzinger@chromium.org
6db90efa6e
Fix compilation failure on Win64 since r14020.
...
R=danno@chromium.org
Review URL: https://codereview.chromium.org/12989002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14035 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 16:04:07 +00:00
danno@chromium.org
a9d034d38b
Prepare push to trunk. Now working on version 3.17.16.
...
R=jkummerow@chromium.org
Review URL: https://codereview.chromium.org/12957006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14032 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 15:25:15 +00:00
danno@chromium.org
ed3809c318
Maintain API compatibility with older versions of V8.
...
Revert "Allow recording individual samples in addition to the aggregated CPU profiles"
Revert "Isolatify CPU profiler"
Revert "Isolatify HeapProfiler"
Revert "Deprecate HeapSnapshot type"
Revert "Isolatify CPU profiler public API"
Revert "MSVS compilation fix after r14006"
Revert "Add methods to allow resuming execution after calling TerminateExecution()."
R=jkummerow@chromium.org ,mstarzinger@chromium.org
Review URL: https://codereview.chromium.org/12475016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14031 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 14:42:17 +00:00
jkummerow@chromium.org
f5418265c4
Delete leftover debugging code from InitializeMathExpData()
...
Review URL: https://codereview.chromium.org/12858008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14030 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2013-03-21 14:36:07 +00:00