antonm@chromium.org
6acdd84a61
Current custom call generators cannot cope with the case when receiver is not a JSArray.
...
Add a support for bailout from custom call generators (just return undefined).
BUG=684
Review URL: http://codereview.chromium.org/1699005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4503 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-26 15:08:07 +00:00
ricow@chromium.org
f066a9af40
Added regression test for crbug 40931 http://crbug.com/40931
...
Review URL: http://codereview.chromium.org/1756013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4497 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-26 13:26:11 +00:00
ricow@chromium.org
457d9024c6
Double max-new-space-size to 2^18 in binary-op-newspace to make the test run on linux 64 with snapshots on.
...
Review URL: http://codereview.chromium.org/1735014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4496 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-26 13:25:17 +00:00
ricow@chromium.org
1f5e78073a
Change max-new-space-size to 2^17 (from 2^16) to make binary-op-newspace test run on linux 64.
...
Review URL: http://codereview.chromium.org/1780003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4494 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-26 12:58:20 +00:00
erik.corry@gmail.com
ed6817d58c
Fix a bug where a GC at an unlucky moment caused a wrong
...
calculation on ARM.
Review URL: http://codereview.chromium.org/1733016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4491 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-26 11:06:37 +00:00
ager@chromium.org
c0f1f18f80
Fix bug in KeyedLoadIC generic stub where signed instead of unsigned
...
comparison was used.
Review URL: http://codereview.chromium.org/1769005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4485 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-23 12:57:41 +00:00
vegorov@chromium.org
cb27d09534
Fix bugs introduced by r4475:
...
- RelinkPageListInChunkOrder might relink unused pages into the middle of a sequence of used pages. Filler objects should be placed at the beginning of such unused pages otherwise generic iterators (e.g. HeapObjectIterator) would not handle them correctly.
- ObjectAreaEnd() should not be used as an allocation limit for pages from FixedSpace. Pages in such spaces do not use top page_extra_ bytes of object area.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/1700005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4476 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-22 16:43:38 +00:00
vegorov@chromium.org
3fa49f8b91
Put empty pages discovered during sweeping to the end of the list of pages
...
instead of adding them to the free list.
Review URL: http://codereview.chromium.org/1683001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4475 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-22 14:42:21 +00:00
whesse@chromium.org
5db2af4873
Fix error in static type information computation for bitwise shift.
...
Review URL: http://codereview.chromium.org/1756007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4471 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-22 09:02:10 +00:00
sgjesse@chromium.org
968a524432
Add inlining of property load on ARM
...
Generate inlined named property load for in-object properties. This uses the same mechanism as on the Intel platforms with the map check and load instruction of the inlined code being patched by the inline cache code. The map check is patched through the normal constant pool patching and the load instruction is patched in place.
Review URL: http://codereview.chromium.org/1715003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4468 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-22 07:18:30 +00:00
peter.rybin@gmail.com
af63e61605
Support multi-chunk differences
...
Review URL: http://codereview.chromium.org/1672006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4467 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 16:59:58 +00:00
antonm@chromium.org
0710de75c0
Fix one off error.
...
Proper condition to start eviction is when next possible index is equal
to cache length.
Review URL: http://codereview.chromium.org/1709001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4460 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 11:13:53 +00:00
lrn@chromium.org
0adfe842a5
Fix incorrect handling of global RegExp properties for nested replace-regexp-with-function.
...
Review URL: http://codereview.chromium.org/1695002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4455 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 08:33:04 +00:00
vitalyr@chromium.org
b8ba4deacc
Reapply: Inline fast cases in string keyed load IC.
...
(Fixed handling of out-of-bounds keys.)
String keyed load used to call STRING_CHAR_AT builtin that performs
two steps (get a char code, construct a one-char string from the
code), both of which have fast cases implemented as inline runtime
functions. In this chage most of the code from these functions is
extracted to a set of common generator functions in StringStubBase and
the fast cases are grouped together in the IC code.
Review URL: http://codereview.chromium.org/1582041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4450 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-20 17:33:14 +00:00
ricow@chromium.org
27f460b134
Change strlen to v8::internal::StrLength in liveedit tests (to fix compile error on windows 64)
...
Review URL: http://codereview.chromium.org/1610038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4447 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-20 10:41:38 +00:00
ager@chromium.org
c678e44805
Add missing smi check in IC for nonexistent properties.
...
Add regression test.
BUG=v8:681
Review URL: http://codereview.chromium.org/1673005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4446 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-20 10:20:39 +00:00
erik.corry@gmail.com
e1b3b92a2c
Make not sucking at regexp the default
...
(remove V8_NATIVE_REGEXP flag, add
V8_INTERPRETED_REGEXP flag).
Review URL: http://codereview.chromium.org/1635001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4443 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-19 19:30:11 +00:00
peter.rybin@gmail.com
8fdc7a5ae1
LiveEdit: calculate a real script difference
...
Review URL: http://codereview.chromium.org/1652008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4441 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-19 16:08:26 +00:00
mikhail.naganov@gmail.com
61085478c6
Report approximated duration in milliseconds for profile nodes.
...
The simple formula "ms = ticks * sampler_interval" doesn't work,
because e.g. on Linux, the actual sampling rate can be 5 times
lower than the one set up in the code. To calculate actual sampling
rate, current time is periodically queried and processed along with
actual sampling ticks count.
Review URL: http://codereview.chromium.org/1539038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4427 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-15 11:37:29 +00:00
ager@chromium.org
afc15bb48f
Reapply load ICs for nonexistent properties.
...
We need to be careful to check global property cells for the property
encountered during lookup. Therefore, the ICs have to be specific to
the name of the property if global objects are involved. In
principle, this means that we could get a large number of monomorphic
ICs for the same map if there is a global object in the prototype
chain. However, since this is only done for normal load ICs and not
for keyed load ICs I do not expect this to be a problem. I will
experiment with it once this goes in.
BUG=675
Review URL: http://codereview.chromium.org/1559033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4426 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-15 11:25:41 +00:00
mikhail.naganov@gmail.com
c007fd4d15
merged
...
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4422 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 18:48:05 +00:00
peter.rybin@gmail.com
0e9149c543
Make a namespace for LiveEdit
...
Review URL: http://codereview.chromium.org/1549041
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 14:53:00 +00:00
antonm@chromium.org
a713b27428
Introduce fast native caches and use it in String.search.
...
Review URL: http://codereview.chromium.org/1563005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4418 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 14:46:15 +00:00
antonm@chromium.org
6e8c85dc84
Expose a hint which communicates that string might be written many times.
...
Review URL: http://codereview.chromium.org/1609021
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4400 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-13 17:00:33 +00:00
lrn@chromium.org
7bca61c11d
Fix build problems on Windows 64-bit by casting.
...
Gave the root register a name for reference.
Review URL: http://codereview.chromium.org/1539033
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4397 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-13 11:59:37 +00:00
lrn@chromium.org
285d5bc48a
Native construction of RegExp result objects, with in-object index and input.
...
Avoid cloning using CloneRegExpResult for results that are just arrays.
Made a more direct path for string.match with string argument.
Review URL: http://codereview.chromium.org/1645001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-13 09:31:03 +00:00
mikhail.naganov@gmail.com
6f3f2f1c42
Allow new CPU profiling subsystem to coexist nicely with the old one.
...
This is to make possible enabling usage of the new profiling subsystem
in Chromium without much hassle. The idea is pretty simple: unless the
new profiling API is used, all works as usual, as soon as Chromium
starts to use the new API, it will work too.
Review URL: http://codereview.chromium.org/1635005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4382 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-12 07:23:43 +00:00
antonm@chromium.org
400b1be449
Faster invocation of custom comparator function.
...
Review URL: http://codereview.chromium.org/1623004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4381 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-12 07:05:24 +00:00
antonm@chromium.org
c898c7ae03
Landing http://codereview.chromium.org/1594017 for Ryan.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/1512028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4367 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-08 18:23:10 +00:00
sgjesse@chromium.org
de69f5beba
Add support for bkpt instruction
...
The bkpt instruction is now supported by both the disassembler and the simulator. In the simulator it breaks to the native debugger if any like int3 on Intel.
Moved the handling of the miscellaneous instructions to a separate part.
Review URL: http://codereview.chromium.org/1576026
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4360 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-08 13:30:48 +00:00
mikhail.naganov@gmail.com
4f5ff869d3
C++ profiles processor: align browser mode with the old implementation, sample VM state.
...
In browser (DevTools) mode, only non-native JS code and callbacks are reported.
Also, added "(garbage collector)" entry which accumulates samples count in GC state.
Trying to display "(compiler)" and "(external)" only brings confusion,
because it ends up in displaying scripts code under "(compiler)" node, and DOM
event handlers under "(external)" node, which looks weird.
Review URL: http://codereview.chromium.org/1523015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4357 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-07 14:18:26 +00:00
whesse@chromium.org
c33886c9b7
Change Math.random() to return 32 bits of random goodness, instead of 30 random bits. Math.random now allocates a HeapNumber inline, and calls a C funciton directly to put the random bits into it.
...
Review URL: http://codereview.chromium.org/1599019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4354 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-07 08:18:51 +00:00
antonm@chromium.org
e116cce61b
Landing http://codereview.chromium.org/1539013 for ry@tinyclouds.org.
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/1629001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4352 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-06 17:58:43 +00:00
peter.rybin@gmail.com
be5bb26e38
LiveEdit: implement frame dropping
...
Review URL: http://codereview.chromium.org/1118007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4351 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-06 17:58:28 +00:00
vitalyr@chromium.org
9b54227cc7
Land patch by Pavel Podivilov (podivilov@chromium.org).
...
Port string stub for keyed loads to x64 and ARM.
BUG=566
TBR=ager@chromium.org
TEST=test/mjsunit/string-index.js
Original code review: http://codereview.chromium.org/1628003
Review URL: http://codereview.chromium.org/1567024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4348 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-06 14:16:39 +00:00
mikhail.naganov@gmail.com
889f6cce74
C++ profiles processor: wire up to VM.
...
If 'shell' is compiled with 'cppprofilesprocessor=on' and run
with '--prof' flag, top-down and bottom-up call trees are printed
on shell exit.
Review URL: http://codereview.chromium.org/1582004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4343 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-06 10:36:38 +00:00
peter.rybin@gmail.com
560baa5eb4
Let LiveEdit accept a full new script source (rather than diff)
...
Review URL: http://codereview.chromium.org/1584008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4338 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-02 11:03:49 +00:00
mikhail.naganov@gmail.com
c2df9cc8c8
Support setting brekpoint by script name set in //@ scriptURL= comment,
...
in case script name is missing.
BUG=http://crbug.com/39290
Author: Andrey Kosyakov (caseq@chromium.org )
Original issue: http://codereview.chromium.org/1303003
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/1527007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4337 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-01 16:25:07 +00:00
serya@chromium.org
93477c22d3
StringToInt rewritten. This version doesn't allocate memory for long decimals and uses percise rounding if radix 10 or a power of 2 (in other cases rounding error still may occur). Handling special values moved from Runtime_StringParseInt into StringToInt in order to make it consistent with StringToDouble.
...
Committed: http://code.google.com/p/v8/source/detail?r=4329
Review URL: http://codereview.chromium.org/1529004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4333 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-31 17:19:05 +00:00
serya@chromium.org
704eca9aca
Reverting r4329 due to failure in webkit tests.
...
Review URL: http://codereview.chromium.org/1579004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4330 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-31 11:13:42 +00:00
serya@chromium.org
dcd96d1fa0
StringToInt rewritten. This version doesn't allocate memory for long decimals and uses percise rounding if radix 10 or a power of 2 (in other cases rounding error still may occur). Handling special values moved from Runtime_StringParseInt into StringToInt in order to make it consistent with StringToDouble.
...
Review URL: http://codereview.chromium.org/1529004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4329 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-31 10:11:33 +00:00
lrn@chromium.org
ce1d3ca80a
Fix bug in string replace with nonparticipating captures.
...
Review URL: http://codereview.chromium.org/1565004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4322 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-30 13:26:13 +00:00
mikhail.naganov@gmail.com
dde48831be
C++ profiles processor: put under #ifdef and fix issues.
...
Review URL: http://codereview.chromium.org/1514006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4317 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-30 11:38:39 +00:00
lrn@chromium.org
17eece5748
Fix bug in string replace regexp with function when returning non-string.
...
Review URL: http://codereview.chromium.org/1528005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4312 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-29 21:12:54 +00:00
serya@chromium.org
9e76d99fb9
Percise rounding parsing octal and hexadecimal strings.
...
Rounding happens when the number exceeds 53 bits of floating point mantissa. Current implemetation ignores digits after some limits. 0x1000000000000081 was rounded to 0x1000000000000100 while 0x100000000000008000001 was rounded to 0x100000000000000000000.
Review URL: http://codereview.chromium.org/1374005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4309 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-29 15:46:58 +00:00
serya@chromium.org
0b42d25c72
Optimization for parsing integers of limited length (in digits).
...
Review URL: http://codereview.chromium.org/1367004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4304 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-29 11:17:34 +00:00
lrn@chromium.org
845fd15dd6
Pre-create properties on JSRegExp objects
...
Initialize properties in single runtime call.
Review URL: http://codereview.chromium.org/1350003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4298 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-26 14:19:47 +00:00
ager@chromium.org
2bcc49740c
Port number dictionary probing in generated code to ARM.
...
Fix bug in ARM pixel array load code and a typo in the x64 number
dictionary load code.
Fix bug in string dictionary probing where we did not bail out if the
object has an interceptor.
BUG=640
Review URL: http://codereview.chromium.org/1332003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4292 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-26 09:05:22 +00:00
vitalyr@chromium.org
6fbad6e230
Simplify passing of AccessorInfo to interceptors:
...
* Use slots on the native stack when possible instead of Relocatable.
* Got rid of a gap in AccessorInfo fields.
* Added test for non-cacheable post-interceptor lookup.
Review URL: http://codereview.chromium.org/1327002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4288 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 17:08:22 +00:00
antonm@chromium.org
94a2a0956b
Add a test to verify correctness of remembered set update for Heap::CopyJSObject.
...
Review URL: http://codereview.chromium.org/1256002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4286 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 15:32:58 +00:00
serya@chromium.org
203ba181ad
StringToDouble rewritten not using String::Get and memory allocations.
...
It converts the number to "canonical" form removing insignificant digits,
leading zerroes and spaces what guarantees to fit a fixed size buffer and
does not changes result of strtod.
Review URL: http://codereview.chromium.org/1216005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4282 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 14:39:39 +00:00
antonm@chromium.org
f45c35ebd3
Allow empty handles to escape handle scopes.
...
BUG=39170
Review URL: http://codereview.chromium.org/1235002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4278 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 14:07:17 +00:00
antonm@chromium.org
9477ea8735
Fix LargeObjectSpace::Contains to check if addr is in new space.
...
Otherwise page header check is not quite robust: if there is a smi
at the same offset as Page::is_normal_page field, wrong result would
be returned.
That shouldn't be the problem for paged spaces as objects in those
pages do not span page boundaries and thus cannot mess with ::is_normal_page field.
Review URL: http://codereview.chromium.org/1175001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4270 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 13:10:50 +00:00
sgjesse@chromium.org
6a63910650
Re-apply "Inline floating point compare"
...
This re-applies r4220 and r4233, which was reverted in r4254 due to a bug. This bug has now been fixed, with the only change being line 2884 changed from
__ SmiTag(left_side->reg());
to
__ SmiTag(operand->reg());
Added a regression test.
BUG=http://crbug.com/39160
TEST=test/mjsunit/regress/regress-crbug-39160.js
Review URL: http://codereview.chromium.org/1251009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4261 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 12:04:34 +00:00
whesse@chromium.org
244513555c
Avoid calling ToRegister(register) when result is in register already, and register is shared.
...
Review URL: http://codereview.chromium.org/1325004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4260 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-25 11:52:42 +00:00
ager@chromium.org
652335b995
Implement support for reattaching a global object to a context. This
...
can be used to use the same global object for different contexts at
different points in time.
Review URL: http://codereview.chromium.org/1207003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4253 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 13:24:46 +00:00
pfeldman@chromium.org
54f0a5b221
Expose debug context into the native code. This change is doing several things:
...
1) Exposes Local<Context> v8::Debug::GetDebugContext().
Rationale: We can already get debugger context instance using various workarounds,
so exposing it explicitly in the API only makes things more clear.
2) Removes debugger.HasJavaScriptFrames() requirement for entering debugger context.
Rationale: Sometimes we'd like to call into debugger from the external native code.
3) Makes Debugger v8::Debug::Call execute on debugger context's global object.
Rationale: This is somewhat arguable, but temporary measure. We've agreed that we
should introduce a DebugAPI object that would expose necessary API in the debug-delay.
The problem is that it would take some time to define this API and it is not really
convenient to do that on the v8 land given the difference in v8 / host lifecycle.
The plan is to compose this API as a Debug.* wrapper outside v8 by means of exposing
debugger context's global object here, and once API settles down, upstream it to v8 and
start making Debug::Calls on this new DebugAPI object instead.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4251 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 13:09:02 +00:00
ager@chromium.org
71e792a82c
Revert revisions 4241, 4243 and 4247 because of Windows build errors
...
and test failures.
TBR=serya@chromium.org
Review URL: http://codereview.chromium.org/1269003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4249 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 11:48:01 +00:00
serya@chromium.org
b5127faa57
Fix conform test.
...
Review URL: http://codereview.chromium.org/1217007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4247 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 11:11:33 +00:00
serya@chromium.org
2bd9919788
StringToDouble rewritten not using String::Get and memory allocations.
...
It converts the number to "canonical" form removing insignificant digits,
leading zerroes and spaces what guarantees to fit a fixed size buffer and
does not changes result of strtod.
Review URL: http://codereview.chromium.org/1096002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4241 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 08:51:03 +00:00
mikhail.naganov@gmail.com
ea6221d4e6
Add comments to test-log-stack-tracer.
...
Review URL: http://codereview.chromium.org/1181001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4240 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-24 08:46:17 +00:00
oleg@chromium.org
2b5c05ed79
Make the new Date test independent of the timezone in which it is run.
...
Review URL: http://codereview.chromium.org/1084018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4236 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 15:28:58 +00:00
whesse@chromium.org
c3b5e22764
Fix an error in optimized modulus operator, add unit test.
...
Review URL: http://codereview.chromium.org/1118008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4235 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 15:18:00 +00:00
sgjesse@chromium.org
01bcdbcdb1
MIPS simple function calls
...
This lands http://codereview.chromium.org/1018001 .
Patch by Alexandre Rames <alexandre.rames@gmail.com> from Sigma Designs Inc.
Mads, please just have to look at the new flag --disable-native-files (two files not in the mips directory).
Review URL: http://codereview.chromium.org/1140004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4234 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 15:04:45 +00:00
oleg@chromium.org
fe6522e80d
Fix bug http://code.google.com/p/v8/issues/detail?id=659 . Move the limits check for date before the time zone offset is applied.
...
Review URL: http://codereview.chromium.org/1075016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4232 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 14:47:02 +00:00
mikhail.naganov@gmail.com
4d1f8cbfd6
New GCCallbacks with additional parameters.
...
Author: Ilya Tikhonovsky <loislo@chromium.org>
Original issue: http://codereview.chromium.org/1094002
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/1165004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4226 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 13:11:44 +00:00
mikhail.naganov@gmail.com
17665cafbe
Fix issue 658: update test-log-stack-tracer after r4211.
...
It appears that semi-automatic changes made to test's code were
incorrect. v8::Script::Compile returns wrapped JSFunction,
not SharedFunctionInfo.
Review URL: http://codereview.chromium.org/1169002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4222 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 12:42:47 +00:00
kasperl@chromium.org
7d6a3b433f
Merge the partial_snapshots branch back into bleeding_edge. For
...
now, the custom call generator stuff is disabled.
Review URL: http://codereview.chromium.org/1094014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4217 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 11:40:38 +00:00
iposva@chromium.org
a1ec99c05d
- Remove function boilerplate objects and use SharedFunctionInfos in
...
their place.
- Add one field to the SharedFunctionInfo to remember the number of
literals used in this function.
Review URL: http://codereview.chromium.org/669240
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4211 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-23 06:04:44 +00:00
mikhail.naganov@gmail.com
71754ebe81
Add multithreading test for SamplingCircularQueue, fix implementation.
...
This is for the case of Linux, where sampling is done using SIGPROF
signal handler which is executed in the context of an interrupted
thread. In this case, my previous implementation with TLS doesn't
work.
Review URL: http://codereview.chromium.org/1138004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4207 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 14:23:45 +00:00
fschneider@chromium.org
03089b6644
Fix code generation for fast smi loops to support parameters as well.
...
This change fixes an assert we hit when we recognized a fast smi loop
with a parameter as the loop variable.
BUG=650
Review URL: http://codereview.chromium.org/1138003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4202 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-22 11:55:12 +00:00
mikhail.naganov@gmail.com
89b040894e
Add a few tests to ProfilerEventsProcessor.
...
Review URL: http://codereview.chromium.org/1084009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4197 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 13:51:01 +00:00
floitschV8@gmail.com
05beab6b1f
Rename files containing underscores.
...
Review URL: http://codereview.chromium.org/1102002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4191 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 12:15:24 +00:00
mikhail.naganov@gmail.com
9582645a02
Add basic C++ implementation of CPU profiler.
...
Review URL: http://codereview.chromium.org/1079006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4189 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-19 09:46:53 +00:00
fschneider@chromium.org
ec974ddb50
Fix bug when generating a fast smi loop.
...
We may encounter an invalid frame after generating code
for the loop body in case the loop body ends in an unconditional
return. Before setting the type information for the loop variable
we need to check for a valid frame.
Review URL: http://codereview.chromium.org/1106002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 14:32:02 +00:00
floitschV8@gmail.com
9e84308722
Rename grisu to fast-dtoa. Get rid of template.
...
Review URL: http://codereview.chromium.org/1032007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4181 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 13:19:59 +00:00
oleg@chromium.org
825a5d741f
Improve Math.round(). Fix the bug in r4146. Further improve performance by checking the exponent instead of comparing doubles. Add several tests for numbers near the limits of SMI and several tests from WebKit.
...
Review URL: http://codereview.chromium.org/1008004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4180 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 13:00:57 +00:00
fschneider@chromium.org
34faea85db
Add test cases for fast smi loops.
...
Review URL: http://codereview.chromium.org/1014007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4174 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-18 09:08:24 +00:00
fschneider@chromium.org
e090f46a55
Fix type propagation rules for count operation.
...
Also treat const-variables as not side-effect free.
Review URL: http://codereview.chromium.org/982009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4172 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 16:39:29 +00:00
sgjesse@chromium.org
1963ffba99
Don't generate inline constructors if this.__proto__ is assigned.
...
BUG=http://code.google.com/p/v8/issues/detail?id=646
TEST=test/mjsunit/regress/regress-646.js
Review URL: http://codereview.chromium.org/1023008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4167 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 13:23:53 +00:00
mikhail.naganov@gmail.com
d2188658ca
Re-apply r4159 now with working test on x64
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/979005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4164 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 13:15:42 +00:00
fschneider@chromium.org
9f318feb93
Revert r4159 because of x64 test failures.
...
Review URL: http://codereview.chromium.org/1049003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4162 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 13:04:07 +00:00
mikhail.naganov@gmail.com
ce9298029d
Implement circular queues for the C++ version of CPU profiler.
...
Circular queues serve as a transport for communicating between
VM, stack sampler and analyzer threads. Logging requirements
for VM and stack sampler are completely different, that's why
I introduced two different versions of CQs.
Review URL: http://codereview.chromium.org/1047002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4159 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 12:25:10 +00:00
sgjesse@chromium.org
a43c533d2f
Make the C++ tests run without SSE2 support.
...
Review URL: http://codereview.chromium.org/982007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4158 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 10:28:44 +00:00
erik.corry@gmail.com
889cbe55b8
Fix a bug in the regexp caching. Also add a few more places to
...
cache. We now cache most of the places where Opera cache and
one or two where they do not cache for some reason. Since
these optimizations aren't necessarily useful on real code we
may remove them if and when the Dromaeo website makes the
benchmarks harder to game.
Review URL: http://codereview.chromium.org/995005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4157 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 10:23:06 +00:00
erik.corry@gmail.com
e1c486c313
Keep more track of whether code is from the built
...
in .js files in V8. This change gets bleeding edge
a tiny bit closer to the partial snapshots branch.
Review URL: http://codereview.chromium.org/1052003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4150 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-17 08:14:59 +00:00
fschneider@chromium.org
9202e05016
Fix bug in the count operation where we statically know the input is a smi.
...
Even if we know that the input to a count operation is a smi we still need to check if the result overflowed (and becomes a heap number).
Also fix the smi loop analysis to take two border cases correctly into account.
Review URL: http://codereview.chromium.org/1040002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4147 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-16 16:03:40 +00:00
peter.rybin@gmail.com
ad876956c0
LiveEdit: patch positions in function
...
Review URL: http://codereview.chromium.org/914003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4139 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 21:06:51 +00:00
antonm@chromium.org
14547ef434
Just grow elements if they happen to be at the edge of new space.
...
Review URL: http://codereview.chromium.org/945002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4133 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 15:16:04 +00:00
mikhail.naganov@gmail.com
12d252eb81
Start migrating profiles processing to C++.
...
Adding code for maintaining (address -> name) mapping and building
call trees.
Review URL: http://codereview.chromium.org/910002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4131 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-15 14:11:19 +00:00
antonm@chromium.org
7f1eda50cc
Implement a custom call compiler for Array.pop.
...
Review URL: http://codereview.chromium.org/870007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4118 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 13:45:31 +00:00
fschneider@chromium.org
d0908674fa
Fix bug in assigned variables analysis.
...
Property stores were not visited correctly by the visitor.
I fixed this issue by visiting property stores by visiting
receiver and key directly (and not calling visit on the lhs property
ast node)
Review URL: http://codereview.chromium.org/903003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4117 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 13:12:08 +00:00
fschneider@chromium.org
d896e4f6f2
Fix treatment of const variables in assigned variable analysis.
...
Const variables are not considered as trivial sub-expressions since
we have the check for the hole value as a side-effect.
Review URL: http://codereview.chromium.org/849003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4112 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-12 10:20:31 +00:00
antonm@chromium.org
de070ccfa6
First take on custom call generators.
...
Review URL: http://codereview.chromium.org/669061
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4108 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 16:24:31 +00:00
floitschV8@gmail.com
8814064337
Fast double-to-ascii conversion.
...
Review URL: http://codereview.chromium.org/866002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4106 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 14:49:35 +00:00
antonm@chromium.org
21af2c360a
Reland 4068 which wrapped Array methods into native builtins (reverted in 4075).
...
Review URL: http://codereview.chromium.org/857002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4104 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 13:13:21 +00:00
sgjesse@chromium.org
8f76082701
Fix presubmit error
...
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/867002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4098 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 09:49:47 +00:00
mikhail.naganov@gmail.com
c413105da7
Make the assumption on the minimum buffer size for GetLogLines explicit.
...
Review URL: http://codereview.chromium.org/799008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4097 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 09:48:01 +00:00
sgjesse@chromium.org
e5f27966dc
Add fuzzing support for inline runtime functions
...
The inline runtime functions are now included in the fuzzing of the natives. The chack for the expected number of arguments passed have been moved to the parser which will generate a syntax error if a runtime function (either C++ or inline) is called with a different number of arguments than expected.
Review URL: http://codereview.chromium.org/573056
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4096 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 09:27:12 +00:00
sgjesse@chromium.org
b0c9738f77
Fix code cache lookup for keyed IC's
...
For keyed IC's the name is not necessarily a string.
BUG=http://crbug.com/37853
TEST=test/mjsunit/regress/regress-crbug-37853.js
Review URL: http://codereview.chromium.org/872001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4094 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 08:52:31 +00:00
serya@chromium.org
4fd99d23cc
Math.abs rewrited to not use Runtime.
...
Review URL: http://codereview.chromium.org/799006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4093 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-11 08:31:15 +00:00
floitschV8@gmail.com
088afd03a6
Revert grisu commits.
...
Review URL: http://codereview.chromium.org/804005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4092 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 21:26:32 +00:00
floitschV8@gmail.com
7c173eec51
Adding missing file.
...
Review URL: http://codereview.chromium.org/825004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4091 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 21:08:39 +00:00
floitschV8@gmail.com
c5eea7fee2
Fast algorithm for double->string conversion.
...
Review URL: http://codereview.chromium.org/619005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4090 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 20:49:14 +00:00
erik.corry@gmail.com
f6df326714
Add 1-element caches to RegExp.exec and String.replace. We
...
probably want to remove this again if and when Dromaeo is
fixed so this strategy doesn't pay off.
Review URL: http://codereview.chromium.org/817001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4083 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 12:21:00 +00:00
ager@chromium.org
5fd33c7527
Revert change to always call builtins for Array functions.
...
It causes regressions on test shell tests.
TBR=antonm@chromium.org
Review URL: http://codereview.chromium.org/819001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4075 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 08:45:00 +00:00
kmillikin@chromium.org
c9ff775ebe
Fix BitVector test failure.
...
r4071 made BitVector zone-allocated, but the BitVector tests were not
changed to allocate a Zone.
Review URL: http://codereview.chromium.org/818001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4072 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-10 08:31:25 +00:00
peter.rybin@gmail.com
9c9451eff3
Check that function being patched has no activations on any thread stack
...
Review URL: http://codereview.chromium.org/668246
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4069 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 21:45:24 +00:00
antonm@chromium.org
52ec954dd2
Always invoke C++ ArrayPush builtin.
...
Now this builtin checks if it should go into fast case or resort to JS ArrayPush builtin.
Review URL: http://codereview.chromium.org/660298
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4068 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 15:43:04 +00:00
fschneider@chromium.org
cc9512f661
Add copy constructor and assignment operator to the BitVector class.
...
Review URL: http://codereview.chromium.org/668259
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4063 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 09:51:37 +00:00
sgjesse@chromium.org
800b6df2a6
Correct handling of adding a string and a smal integer
...
The fast case of looking up the string convertion of the smi did not handle the case where left/reghe operands could be in eax/edx instead of edx/eax which is the default.
Also got rid of creating an internal frame for calling string and instead patched the argument on the stack and performed a tail call.
BUG=http://code.google.com/p/v8/issues/detail?id=636
TEST=test/mjsunit/regress/regress-636.js
Review URL: http://codereview.chromium.org/720001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4061 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 09:40:35 +00:00
ricow@chromium.org
bdd125c611
Added zone-inl.h to test-heap-profiler to fix test build failure after header file refactoring in revision 4058.
...
Review URL: http://codereview.chromium.org/698002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4059 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-09 08:25:22 +00:00
ricow@chromium.org
b60eba5fc5
Inline Math.sqrt().
...
Also changed name of GeneratePow and the %_ call name to follow convention based on MathSin and MathCos. Moved GeneratePow down to the other methods.
Review URL: http://codereview.chromium.org/661179
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4054 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-08 13:23:54 +00:00
peter.rybin@gmail.com
a934eb1523
Quick fix for r4045
...
Review URL: http://codereview.chromium.org/668203
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4047 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-06 01:21:34 +00:00
peter.rybin@gmail.com
77d63cc29e
Basic implementation of liveedit feature
...
Review URL: http://codereview.chromium.org/652027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4045 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 22:08:58 +00:00
antonm@chromium.org
08a5332a55
Try to help the builder with the conflict.
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/668160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4043 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 15:23:30 +00:00
antonm@chromium.org
1bc04768a9
An attempt to fix the tests.
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/669162
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4042 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 15:07:53 +00:00
antonm@chromium.org
bdee05b3ce
Better diagnostic of tests.
...
Review URL: http://codereview.chromium.org/669160
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4041 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 14:51:24 +00:00
sgjesse@chromium.org
df4471c8f3
Fix stack tweaking in array allocation
...
When Array(0) or new Array(0) is handled by the generated code it is handled
by the same code as Array() and new Array(). For this to work the stack is
tweaked to remove the argument of value 0. However the argc was still passed
as 1 if a call to the runtime system was made.
When the stack is tweaked argc is also changed to 0.
BUG=634
TEST=test/mjsunittest/mjsunit/regress/regress-634.js
Review URL: http://codereview.chromium.org/668155
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4038 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:43:53 +00:00
vitalyr@chromium.org
48cc7ed3b0
Fixed filling of char array in StringToArray.
...
Review URL: http://codereview.chromium.org/669159
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4036 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 13:33:33 +00:00
ager@chromium.org
d103ae66ba
Change allocations in test-heap to use handles. This makes the test
...
work when garbage collections are forced in random places.
Review URL: http://codereview.chromium.org/669153
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4033 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 09:51:10 +00:00
kasperl@chromium.org
5c7fd0e59b
Fix weird issue with test case where certain global function
...
names were being reused.
Review URL: http://codereview.chromium.org/669148
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4028 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-05 07:05:26 +00:00
antonm@chromium.org
61d2ebde63
Fix invalid fast return in splice when returned array is empty.
...
TBR=vitalyr@chromium.org
Review URL: http://codereview.chromium.org/669101
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4027 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 22:16:58 +00:00
antonm@chromium.org
56eb46e096
Fix a special case (zero length result array).
...
Review URL: http://codereview.chromium.org/669075
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4026 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 21:29:33 +00:00
sgjesse@chromium.org
bc890ec279
Added tests for issue 618
...
Review URL: http://codereview.chromium.org/668055
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4025 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 15:04:04 +00:00
kasperl@chromium.org
afe1cfa6de
Remove the unlocker from the JS thread in ProfMultipleThreads to
...
avoid getting a profiling sample while not holding the locker,
because we will not get a stack sample in that case.
Review URL: http://codereview.chromium.org/668063
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4024 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 15:03:36 +00:00
kasperl@chromium.org
19a5126ee3
Disable two problematic tests that only test functionality
...
used on the partial_snapshots branch.
BUG=http://code.google.com/p/v8/issues/detail?id=632
Review URL: http://codereview.chromium.org/669062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4023 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 14:45:36 +00:00
kasperl@chromium.org
8c086c50dd
Try to fix issue 632 by being more careful in the locking/unlocking
...
in the test-log/ProfMultipleThreads.
Review URL: http://codereview.chromium.org/669058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4021 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 13:25:23 +00:00
kasperl@chromium.org
81c59c5c0c
Don't use strcmp to test heap object pointer equality.
...
Review URL: http://codereview.chromium.org/668060
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4019 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:35:39 +00:00
ager@chromium.org
fe3b875577
Add IsExecutionTerminating api method.
...
IsExecutionTerminating returns true if a termination exception is
currently being propagated. C++ code should not reenter V8 when
IsExecutionTerminating returns true.
Review URL: http://codereview.chromium.org/668052
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4016 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-04 12:13:04 +00:00
oleg@chromium.org
d49a5db0a4
Fix broken test in WebKit test suite and add the test in question to V8 tests.
...
Review URL: http://codereview.chromium.org/661466
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4009 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 14:19:04 +00:00
lrn@chromium.org
d51f2c96cb
Added implementation if Uint32::Value.
...
Review URL: http://codereview.chromium.org/661275
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4008 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 13:44:20 +00:00
kasperl@chromium.org
30a8fc3e36
Try to fix the broken build by making a single problematic
...
test non-threaded.
Review URL: http://codereview.chromium.org/661462
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4005 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-03 12:22:01 +00:00
vitalyr@chromium.org
9f681fa9d6
Small API improvements:
...
* Added Get and Set taking uint32_t for faster and more convenient
access to elements.
* Added less verbose casting for handles. Now instead of
v8::Local<v8::String>::Cast(args[0])
one can write
args[0].As<v8::String>().
Review URL: http://codereview.chromium.org/660243
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4002 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 18:47:03 +00:00
antonm@chromium.org
38acad676a
Faster filling newly allocated arrays with the holes from the Array construction stub.
...
Review URL: http://codereview.chromium.org/661245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3995 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 12:42:15 +00:00
erik.corry@gmail.com
c2106c13fc
Allow snapshots built without -DANDROID to work on Android.
...
Fix bug in fast code generator on ARM (can't use ip as scratch
in RecordWrite).
Activate normal-sized compilation cache on Android.
This is a port of 3938 from the partial snapshots branch.
Review URL: http://codereview.chromium.org/652227
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3992 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 11:54:11 +00:00
fschneider@chromium.org
5183607d81
Implementation of a fixed-size bit vector.
...
This is a basic implementation bit vector containing an fixed
arbitrary number of bits.
Review URL: http://codereview.chromium.org/660321
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3991 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-02 10:43:46 +00:00
antonm@chromium.org
d4cb1ba3c5
Faster moving FixedArray elements around.
...
Review URL: http://codereview.chromium.org/660245
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3987 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 15:33:30 +00:00
mikhail.naganov@gmail.com
b7f0608c9a
Logging-related changes.
...
- when logging 'open-tag' / 'close-tag' events, don't depend on
FLAG_log (as it may be not enabled, e.g. in Chromium);
- PauseProfiler / ResumeProfiler were supposing that they
use 'is_logging_' var exclusively, thus preventing any
other logging that may be turned on for diagnostic purposes.
Review URL: http://codereview.chromium.org/661246
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3986 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-03-01 10:41:34 +00:00
vitalyr@chromium.org
dd7b55eb9f
Implemented one-char cache lookup in generated code.
...
This speeds up string,charAt(n) and string[n].
Review URL: http://codereview.chromium.org/660184
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3980 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 20:14:20 +00:00
antonm@chromium.org
0c77912aaf
Return length passed instead of receiver to allow chained assignments like
...
foo = a.length = 7
BUG=crbug.com/36854
Review URL: http://codereview.chromium.org/660174
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3979 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 16:12:39 +00:00
ager@chromium.org
0f907ff018
Add test of internal fields on global objects. This test currently
...
fails on the partial snapshots branch.
Review URL: http://codereview.chromium.org/660169
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3961 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-26 09:23:15 +00:00
vitalyr@chromium.org
e76f06a1e2
Fix miss in smi check when doing fast api call.
...
BUG=http://crbug.com/36604
Review URL: http://codereview.chromium.org/660004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3942 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-24 19:26:10 +00:00
serya@chromium.org
b1e705aa8c
Typo fixed.
...
Review URL: http://codereview.chromium.org/650047
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3933 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-23 12:52:29 +00:00
yurys@chromium.org
a47746d209
Add maxStrinLength argument to debugger requests
...
Review URL: http://codereview.chromium.org/647022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3919 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 14:33:08 +00:00
ricow@chromium.org
27eaf97350
Added test for bug 619 - we should move this to object-define-property when the bug has been corrected.
...
Review URL: http://codereview.chromium.org/651028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3918 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-19 13:27:43 +00:00
ager@chromium.org
806c15e4b5
Remove the LookupResult IsValid method because it is confusing.
...
Replaced IsValid by IsPropertyOrTransition and used IsProperty in most
of the places where IsValid was used before. Most of the time when
inspecting a lookup result we really want to know if there is a real
property present. Only for stores are we interested in transitions.
BUG=http://crbug.com/20104
TEST=cctest/test-api/NamedInterceptorMapTransitionRead
Review URL: http://codereview.chromium.org/647015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3901 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 15:10:35 +00:00
sgjesse@chromium.org
17e80e76e7
Add a test case for issue 618
...
Review URL: http://codereview.chromium.org/647014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3898 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 13:01:58 +00:00
whesse@chromium.org
b9a250d2e6
Fix error in compound assignment to keyed load by making platform-independent full compiler code platform dependent, add test of compound assignments.
...
Review URL: http://codereview.chromium.org/646009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3897 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 12:59:41 +00:00
mikhail.naganov@gmail.com
b740dea517
Kill some unused code.
...
It doesn't mean I'm participating in some fixit, just spotted some
code which doesn't have usages and decided to remove it.
Review URL: http://codereview.chromium.org/646007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3896 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 12:47:17 +00:00
sgjesse@chromium.org
97d842fa1e
Fix issues with commit r3839
...
Fix broken condition.
Fixe some style issues.
Re-enabel part of a test which was turned off.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/647007
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3894 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 09:41:47 +00:00
sgjesse@chromium.org
ecf4b9fc76
Refactor the check for generating inline constructors
...
Moved all the logic to a function on SharedFunctionInfo (including the flag check) to make things more readable.
Changed the check for setter to do a lookup for a named setter for each of the properties assigned in the constructor.
Added tests using accessors and interseptors set through the API.
Added fast case objects to the mjsunit test.
TEST=test/mjsunit/setter-on-constructor-prototype.js
TEST=test/cctest/test-api/SetterOnConstructorPrototype
TEST=test/cctest/test-api/InterceptorOnConstructorPrototype
Review URL: http://codereview.chromium.org/619006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3893 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-18 09:07:03 +00:00
mikhail.naganov@gmail.com
39e63f0aec
Implement tagging of profiler log event blocks.
...
This change allows to associate integer tags with blocks of profiler
log events, and repeat calls to 'ResumeProfiler' / 'PauseProfiler' in
order to establsh nested (not necessary properly nested) blocks. By
supporting this, we will be able to match WebInspector's CPU profiler
abilities in DevTools.
I also refactored some testing code.
Review URL: http://codereview.chromium.org/619004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3889 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 13:23:46 +00:00
antonm@chromium.org
a346644121
Adding checks for the cases when array grows too big.
...
Review URL: http://codereview.chromium.org/601092
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3887 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 13:04:30 +00:00
antonm@chromium.org
be21c71584
Introduce Array.splice builtin.
...
Review URL: http://codereview.chromium.org/618002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3885 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 10:54:49 +00:00
antonm@chromium.org
210e02442e
Renaming test/mjsunit/array-splice.js to test/mjsunit/array-functions-prototype-misc.js.
...
The test array-splice.js following array-shift, array-slice etc would be added in
next commit.
Review URL: http://codereview.chromium.org/618005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3884 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 10:48:29 +00:00
sgjesse@chromium.org
acac629539
Mark two tests as part of the threading tests.
...
Review URL: http://codereview.chromium.org/608027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3883 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 10:12:43 +00:00
kmillikin@chromium.org
3c0d77f32e
Fix stack corruption when calling non-function.
...
Fix for issue 603.
Revision r3484 removed the property name from the call stack for
call ICs. When a non-function was called via a call IC and
Function.prototype.call, an extra value was left on the stack that the
caller could not know to clean up.
Fix is to change the JS builtin used for calling non-functions. It
now gets the callee as receiver, rather than iterating stack frames
and finding it on the expression stack of its JS caller.
Review URL: http://codereview.chromium.org/604064
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3882 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 08:26:50 +00:00
antonm@chromium.org
087fedeae8
Normalize the object before updating getter/setter info.
...
BUG=612
Review URL: http://codereview.chromium.org/608014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3880 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 06:53:19 +00:00
sgjesse@chromium.org
1c2b2ac9c6
Fix construction of simple objects with setters on prototype
...
Simple objects which are constructed without calling the actual constructor function did not take setters defined on prototype chain of the new object into account.
Constructing objects this way is now not done if there are setters involved on the prototype chain of the new object.
This only fixes the case where the setter is found when the first object from a constructor is created. If the prototype chain is changed new objects will on take any change to setters into account.
TEST=test/mjsunit/setter-on-constructor-prototype.js
Review URL: http://codereview.chromium.org/606062
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3879 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-17 06:28:33 +00:00
vitalyr@chromium.org
ad9ea637be
Don't externalize fresh strings.
...
With the current API the embedder has to extrenalize a string each
time a string is encountered to avoid the cost of repeated character
copying/conversion. The issue here is that the externalization cost
itself is non-negligible (both in time and space) and should not be
paid for a rarely used string. This change is an attempt to predict a
string's usage frequency based on its freshness. A string is
considered fresh if it was recently allocated in the new space.
Review URL: http://codereview.chromium.org/608006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3878 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-16 18:56:07 +00:00
mikhail.naganov@gmail.com
e61996bf3f
Fix the build after previous commit.
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/605030
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3877 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-16 15:29:35 +00:00
mikhail.naganov@gmail.com
dcef87af66
Enable passing of script data via script creation methods.
...
Patch by Andrey Kosyakov <caseq@chromium.org>
Original issue http://codereview.chromium.org/606053
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/608013
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3876 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-16 15:15:31 +00:00
antonm@chromium.org
ea1b4f0eb1
Introduce builtin for Array.slice function.
...
Review URL: http://codereview.chromium.org/604059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3871 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-16 12:14:23 +00:00
mikhail.naganov@gmail.com
899bef8226
Use binary search in GetScriptLineNumber.
...
Patch by Ilya Tikhonovsky <loislo@chromium.org>
Original issue http://codereview.chromium.org/593108
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/608012
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3870 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-16 12:08:10 +00:00
yurys@chromium.org
0630b1fd9f
Object.getOwnPropertyNames should return string names for indexed properties
...
Land original change by pfeldman: http://codereview.chromium.org/596117
Review URL: http://codereview.chromium.org/596124
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3866 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-16 10:08:39 +00:00
mikhail.naganov@gmail.com
d3ce4347d9
Add GetScriptOrigin and GetScriptLineNumber functions for Timeline panel.
...
Patch by Ilya Tikhonovsky <loislo@chromium.org>.
Original issue: http://codereview.chromium.org/565007
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/594058
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3860 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-15 14:19:15 +00:00
antonm@chromium.org
e02a5aa602
Introduce builtin for Array.unshift function.
...
Review URL: http://codereview.chromium.org/600124
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3859 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-15 13:25:06 +00:00
antonm@chromium.org
976ab7d7b5
Elaborating test for Array.shift a bit.
...
Review URL: http://codereview.chromium.org/596116
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-15 12:01:46 +00:00
antonm@chromium.org
01b1176e08
Introduce builtin for Array.shift function.
...
Review URL: http://codereview.chromium.org/606017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3853 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-15 09:17:38 +00:00
yurys@chromium.org
f5eb70e411
Land 598061(Process //@ scriptURL=url comment for scripts that don't have name set)
...
Review URL: http://codereview.chromium.org/596088
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3850 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-12 17:17:13 +00:00
antonm@chromium.org
62a9497787
Compile very thin code to access objects on which indexed interceptor is set.
...
Review URL: http://codereview.chromium.org/603028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3847 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-12 14:21:18 +00:00
lrn@chromium.org
2e6ab729ef
Added optimization for div/mod by constant power of 2.
...
Review URL: http://codereview.chromium.org/597059
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3844 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-12 13:37:10 +00:00
fschneider@chromium.org
4a2c81d3b0
Add last use data flow information to the fast code generator.
...
This change add simple local live variable information to
the fast code generator. It supports only AST nodes that
are accepted by the syntax checker.
Each variable use points to a variable definition structure
which contains the last use of the definition.
To determine whether a variable is live after a certain point
we can check whether its last use occurs later in the evaluation
order defined by the AST labeling number.
The new information is currently only printed out together with
the IR and not yet used for code generation.
Review URL: http://codereview.chromium.org/603004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3839 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-12 10:16:30 +00:00
kmillikin@chromium.org
29776256ab
Add a regression test for chromium issue 35344.
...
Review URL: http://codereview.chromium.org/600069
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3837 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-12 08:10:25 +00:00
antonm@chromium.org
5ecfd4bfe9
Refactor prototype setting code and expose SetPrototype to public V8 API.
...
Review URL: http://codereview.chromium.org/598020
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3829 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-10 14:44:15 +00:00
kmillikin@chromium.org
b04a26dc31
Harden global variable accesses in the fast code generator.
...
Explicitly check that global variables do not have accessors or
interceptors in the fast code generator syntax checker.
Review URL: http://codereview.chromium.org/595022
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3828 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-10 13:46:15 +00:00
antonm@chromium.org
a9664cbd0d
Making lint happy.
...
Review URL: http://codereview.chromium.org/593014
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3827 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-10 11:48:53 +00:00
kmillikin@chromium.org
30cf88af6b
Restrict the syntax that we aggressively optimize.
...
Do not use the speculative compiler for functions with other than one
statement in the body, and do not use it if subexpressions can have
side effects. Bailing out to the beginning of the full code is not
sound if side effects have already occurred.
Add tests that would fail without the restrictions.
Review URL: http://codereview.chromium.org/598016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3826 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-10 09:18:55 +00:00
vitalyr@chromium.org
d1d56d9891
ia32: Fuse map and type checks in call ICs for API functions.
...
This uses the fact that if a map stayed the same then the object
still passes the type check. A new builtin is added to handle the
API call in this case.
Review URL: http://codereview.chromium.org/573003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3825 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-09 16:14:14 +00:00
kmillikin@chromium.org
9b5c312bfc
Initial implementation of fast path operation for bitwise OR.
...
Support a binary operation (bitwise OR) so long as it's not nested in
the left subexpression. This ensures that the expression stack never
has height greater than two and so can be kept fully in registers.
The bounded expression stack height and the absence of any side
effects on the fast path allows us to still bailout out to the very
beginning of the function if any of our fast-path checks fail.
Review URL: http://codereview.chromium.org/594008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-09 13:44:43 +00:00
ricow@chromium.org
df1df78c48
Changed fuzzer to randomly remove half of the arguments when running
...
on functions that takes five or more arguments. Original version runs
for a long time when there is 5 arguments in a runtime function (45+
seconds). The fuzzer can be run with all arguments on all functions
regardless of the number of arguments by setting
RUN_WITH_ALL_ARGUMENT_ENTRIES to true in fuzz-natives.js
Review URL: http://codereview.chromium.org/598011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3819 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-09 12:15:34 +00:00
mikhail.naganov@gmail.com
5ebc1a68ef
Fix tests after r3811.
...
TBR=sgjesse@chromium.org
Review URL: http://codereview.chromium.org/574027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3813 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-08 08:55:01 +00:00
fschneider@chromium.org
2f0f6face1
Fast compiler: Load globals variables directly from property cells.
...
This is a first step towards loading globals directly from property cells instead
of going through a load IC.
This change supports only properties with the DontDelete attribute since
we are only able to bailout into the generic code generated by the secondary
code generator the beginning of a function. The resulting fast-case code is
specialized for a specific context. When invoked with a different global object,
it will always bailout to the secondary code.
When loading a property that does not exist at compile-time or a property
that is deleteable we still generate the generic load IC.
Review URL: http://codereview.chromium.org/565034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3808 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-05 13:57:18 +00:00
sgjesse@chromium.org
a6a7c75ae0
MIPS port initial commit
...
This is the first step in the MIPS port of V8. It adds assembler, disassembler and simulator for the MIPS32 architecture.
Contains stubbed out implementation of all the compiler/code generator infrastructure to make it all build.
Patch by Alexandre Rames from Sigma Designs Inc.
This is the landing of http://codereview.chromium.org/543161 .
Review URL: http://codereview.chromium.org/561072
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3799 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-04 20:36:58 +00:00
ricow@chromium.org
a28143c77c
Added extra tests to the DefineOrRedefineAccessorProperty and
...
DefineOrRedefineDataProperty to avoid invalid input.
Added tests to object-define-property.js to test that it does not crash
on invalid input.
Review URL: http://codereview.chromium.org/572005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3798 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-04 19:43:56 +00:00
ricow@chromium.org
4f179b09ba
Added IsProperty() check to result in DefineOrRedefineAccessor - if no check
...
this causes the debug check to fails since type() asserts that the
lookup_type != NOT_FOUND. This does not change any functionality since we
explicitly checked if it was one of the three types that we need to delete.
Also changed defineProperties in v8natives to actually return the object
being defined (as specified by spec)
Review URL: http://codereview.chromium.org/572003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3794 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-04 11:28:03 +00:00
lrn@chromium.org
f0ef4d7bac
ARM: Implement native substring copying.
...
Review URL: http://codereview.chromium.org/552186
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3793 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-04 09:11:43 +00:00
lrn@chromium.org
62054f8b9e
Bad newline snuck in before commit.
...
Review URL: http://codereview.chromium.org/560032
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3788 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-03 13:29:42 +00:00
lrn@chromium.org
18c6134e1a
Updated JSON.stringify to newest version of ES5.
...
Review URL: http://codereview.chromium.org/562034
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3787 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-03 13:17:39 +00:00
ricow@chromium.org
f74a08d8ee
Added Object.defineProperty + needed internal functionality:
...
DefineOwnProperty (changed to allow for redefinition of existing property)
SameValue
Extra info on propertydescriptor
GetProperty
HasProperty
Currently the DefineOrRedefineAccessorProperty deletes the existing
property on the object if it is a dataproperty (FIELD or NORMAL) and
adds a new one. This can potentially be optimized.
Review URL: http://codereview.chromium.org/555149
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3786 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-03 13:10:03 +00:00
ager@chromium.org
c4bd2aa054
Add missing access checks to Object.getOwnPropertyNames.
...
Makes webkit layout test: http/tests/security/cross-frame-access-enumeration.html fail.
Review URL: http://codereview.chromium.org/561019
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3771 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-02 13:48:54 +00:00
sgjesse@chromium.org
10910394e6
Handle insertion order for simple constructors
...
When functions only have simple assignments of the form this.x = ... the object is created in generated code without actually calling the constructor. In this case the initial map for the function already contains the properties assigned in the constructor. The field descriptors in this initial map now has an enumeration index assigned to make property enumeration order the insertion order. The insertion order here is the order of the this.x assignments in the code.
BUG=http://crbug.com/3867
TEST=test/mjsunit/regress/regress-crbug-3867.js
Review URL: http://codereview.chromium.org/566016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3768 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-02 13:33:29 +00:00
antonm@chromium.org
3ec70cab81
Port caching of lookup followups for interceptors to ARM
...
Review URL: http://codereview.chromium.org/551191
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3766 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-02 11:32:17 +00:00
lrn@chromium.org
29229e9b8c
Fix a bug that Math.round() returns incorrect results for huge integers.
...
Review URL: http://codereview.chromium.org/567011
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3764 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-02 09:14:22 +00:00
yurys@chromium.org
2a8034c8f6
Correctly set eval_from_shared value when new function is created by "new Function(...)". At the moment it's set to the native script where the Function is defined(v8natives.js) which doesn't make much sense for the user when he tries to debug his code. Moreover, it causes an exception in JSONProtocolSerializer.prototype.serialize_.
...
Related Chromium bug: http://crbug.com/29062
Review URL: http://codereview.chromium.org/551227
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3755 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-01 12:56:56 +00:00
yurys@chromium.org
4963f13f22
Show user script source line that caused exception intead of a line in a native script. When an error is reported as one happened in a native script it's hard to track the original cause. See chromium issue: http://crbug.com/25305
...
Review URL: http://codereview.chromium.org/555170
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3753 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-01 10:34:57 +00:00
lrn@chromium.org
f03e42b133
Added validating JSON parser mode to parser.
...
Review URL: http://codereview.chromium.org/549207
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3752 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-01 10:31:55 +00:00
vitalyr@chromium.org
f40ecb18c3
Fix stack overflow in cctest/test-api/Threadin2 after r3613.
...
r3613 started wrapping all builtins in extra call in debug mode so it
became easier to cause stack overflow especially in 64-bit build.
Review URL: http://codereview.chromium.org/546129
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3749 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-01-29 18:01:46 +00:00
mikhail.naganov@gmail.com
0867927b4b
Rewrite CsvParser.parseLine to make it simpler and gain some performance improvement.
...
Review URL: http://codereview.chromium.org/548198
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3746 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-01-29 13:32:32 +00:00