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
mikhail.naganov@gmail.com
e44869ae6d
Fix issue 683: change the order of CPU profiler setup actions.
...
BUG=683
Review URL: http://codereview.chromium.org/1756003
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4464 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 14:07:13 +00:00
whesse@chromium.org
9cf54367e9
Port inlined quick equality check for non-NaN to x64.
...
Review URL: http://codereview.chromium.org/1756002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4463 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 13:33:36 +00:00
iposva@chromium.org
1a31f9a2f7
- Fix unitialized variable error found by compiler warning.
...
Review URL: http://codereview.chromium.org/1700004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4462 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 12:16:36 +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
sgjesse@chromium.org
e9f818b242
Fix lint errors
...
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/1749002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4458 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 10:20:55 +00:00
sgjesse@chromium.org
8ced007f5a
Update comment to provide the correct usage of the Disassembler class.
...
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/1755001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4457 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 09:45:06 +00:00
sgjesse@chromium.org
786c213dc6
Use an object to control the blocking of the constant pool
...
Instead of indicating for how many instructions the constant pool needs to be blocked the constant pool is now blocked while at least one instance of ScopedConstPoolBlocker exists.
Review URL: http://codereview.chromium.org/1673006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4456 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 09:43:45 +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
sgjesse@chromium.org
5c7ffe9f1c
Return the correct statement position.
...
Whether this was a typo or a deliberate decision at some point I don't know. Anyway it was wrong.
TBR=erik.corry@gmail.com
Review URL: http://codereview.chromium.org/1752001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4452 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 07:32:04 +00:00
ricow@chromium.org
486662b532
Prepare push of version 2.2.4 to trunk.
...
Review URL: http://codereview.chromium.org/1687004
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4451 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-21 07:10:20 +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
lrn@chromium.org
1e46286091
Add missing check to StringBuilderConcat runtime function.
...
Review URL: http://codereview.chromium.org/1578036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4449 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-20 13:10:18 +00:00
antonm@chromium.org
cdbbd7fa49
Do not preconvert to string as it apparently has minimal performance benefit.
...
Review URL: http://codereview.chromium.org/1525040
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4448 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-20 11:29:32 +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
vitalyr@chromium.org
fae2b0f175
Revert r4444 "Inline fast cases in string keyed load IC."
...
Review URL: http://codereview.chromium.org/1633024
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4445 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-20 09:26:32 +00:00
vitalyr@chromium.org
e504873d2a
Inline fast cases in string keyed load IC.
...
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/1539039
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4444 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-20 08:27:48 +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
ager@chromium.org
e422cd3291
Fix arm simulator build on Max OS X. For some reason the GCC version
...
on Mac is more pedantic.
Review URL: http://codereview.chromium.org/1652015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4442 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-19 16:34:19 +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
ager@chromium.org
07db17ce1b
Remove some remaining references to boilerplate functions.
...
Review URL: http://codereview.chromium.org/1605037
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4440 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-19 12:39:07 +00:00
mikhail.naganov@gmail.com
5590b23666
Really fix WebKit buildbot crashes on StopProfiling.
...
This time I hope I'm doing the right check.
TBR=ager@chromium.org
Review URL: http://codereview.chromium.org/1630027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4439 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-16 13:57:14 +00:00
ricow@chromium.org
98b8a062bb
Fix arm simulator build - arm flags must be a list when compiling for arm when the ARM_TARGET_LIB is not set.
...
Review URL: http://codereview.chromium.org/1658006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4438 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-16 12:20:02 +00:00
sgjesse@chromium.org
5423170113
Tweak D8 remote debugger
...
When D8 is used as remote debugger the command 'break' (shorthand 'b') can be used to break JavaScript execution.
Fixed the printing of the prompt 'dbg>' and printing of error messages.
Review URL: http://codereview.chromium.org/1566049
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4437 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-16 12:19:47 +00:00
ricow@chromium.org
d7a61c279d
Change SConstruct to allow for easy specification of target library for arm cross-compilation.
...
Review URL: http://codereview.chromium.org/1667001
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4436 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-16 11:47:23 +00:00
mikhail.naganov@gmail.com
74cd871d3b
Make StopProfiling resilient to calls in unusual moments.
...
Review URL: http://codereview.chromium.org/1658005
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4435 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-16 08:44:17 +00:00
vegorov@chromium.org
ab6394b274
Fix constant offset check for inlined write barrier to work in cases when offset is given from tagged object pointer.
...
Review URL: http://codereview.chromium.org/1646008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4431 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-15 14:43:32 +00:00
mikhail.naganov@gmail.com
324eee1f3f
Only put VM state entry if a symbolized stacktrace is empty.
...
This makes more sense than putting "(program)" as the root of
every stack trace in broswer mode.
Review URL: http://codereview.chromium.org/1631018
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4430 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-15 14:12:17 +00:00
sgjesse@chromium.org
88fc8f1fb5
Add tracking of loop nesting to ARM code.
...
Review URL: http://codereview.chromium.org/1645008
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4429 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-15 14:06:57 +00:00
sgjesse@chromium.org
f6cce43255
Add stack alignment check to ia32 and x64
...
The stack is now checked for proper alignment before calling into C code when the flag --debug-code is turned on.
Review URL: http://codereview.chromium.org/1637015
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4428 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-15 12:41:30 +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
sgjesse@chromium.org
09aa20da08
Ensure stack alignment in ARM port
...
In the CEntryStub keep track of the actual skew from the correct alignment to ensure proper alignment before calling the runtime. Add checks to test the expected skew when running on hardware.
Use the PrepareCallCFunction/CallCFunction in a few other places.
Add check to the ARM simulator for correct alignment.
Add option --sim-stack-alignment to set the stack alignment in the simulator. Currntly only values 4 and 8 makes sense. 8 is the default to make snapshots generated with the simulator work on hardware requiring 8 byte stack alignment.
Review URL: http://codereview.chromium.org/1530043
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4425 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-15 09:34:47 +00:00
sgjesse@chromium.org
9b31f11df6
Avoid warning on ARM reported by newer GCC versions
...
Review URL: http://codereview.chromium.org/1540038
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4424 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-15 08:45:27 +00:00
vitalyr@chromium.org
1d8ec1e47b
One less dependent load in InvokeBuiltin.
...
Review URL: http://codereview.chromium.org/1638006
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4423 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 20:16:19 +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
antonm@chromium.org
97f6a6a7f7
Update document to descirbe semantics of hints.
...
Review URL: http://codereview.chromium.org/1658002
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4421 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 15:57:27 +00:00
peter.rybin@gmail.com
7721e484e9
Format
...
Review URL: http://codereview.chromium.org/1589036
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4420 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 15:01:14 +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
whesse@chromium.org
518481d5e6
Revert change 4401.
...
Review URL: http://codereview.chromium.org/1589035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4416 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 11:45:03 +00:00
ricow@chromium.org
8d524c0189
Changing byte_size from size_t to int in heap-inl.h (making win64 build work)
...
Review URL: http://codereview.chromium.org/1619017
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4415 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 11:30:34 +00:00
ricow@chromium.org
7214ddb0bf
Move const declarations out of if in assembler-x64.cc (correcting linux64 bit compile error)
...
Review URL: http://codereview.chromium.org/1595028
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4414 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 10:38:03 +00:00
kasperl@chromium.org
b7fd085817
Fix typos in new interrupt postponing code.
...
TBR=ricow@chromium.org
Review URL: http://codereview.chromium.org/1574027
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4413 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 10:11:29 +00:00
kasperl@chromium.org
4fac395a04
Postpone interrupts while compiling regexp code. This avoids
...
getting artificial stack overflows due to interrupts while
compiling and visiting the AST nodes. Pending interrupts will
be processed once we're done compiling.
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4412 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 09:54:30 +00:00
sgjesse@chromium.org
d74a8a8014
Port direct call to native RegExp from JavaScript to ARM
...
The ia32 version was implemented in r3542 and r3543. The x64 was implementeed in r3740, r3741 and r3742.
Minor tweaks to the is32 and x64 code as well.
Review URL: http://codereview.chromium.org/1575035
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4409 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 09:25:33 +00:00
ricow@chromium.org
4e3fc71786
Create const ints for int8_t and int32_t in jmp assembler (making win64 build happy)
...
Review URL: http://codereview.chromium.org/1637009
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4408 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 08:54:08 +00:00
whesse@chromium.org
934db0b2b3
Prepare push of version 2.2.3 to trunk.
...
Review URL: http://codereview.chromium.org/1619016
git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4407 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-04-14 08:41:35 +00:00